配置文件介绍

FastGPT 配置参数介绍

由于环境变量不利于配置复杂的内容,新版 FastGPT 采用了 ConfigMap 的形式挂载配置文件,你可以在 projects/app/data/config.json 看到默认的配置文件。可以参考 docker-compose 快速部署 来挂载配置文件。

开发环境下,你需要将示例配置文件 config.json 复制成 config.local.json 文件才会生效。

这个配置文件中包含了系统参数和各个模型配置,使用时务必去掉注释!!!!!!!!!!!!!!

4.6.8+ 版本新配置文件

llm模型全部合并

  1. {
  2. "feConfigs": {
  3. "lafEnv": "https://laf.dev" // laf环境。 https://laf.run (杭州阿里云) ,或者私有化的laf环境。如果使用 Laf openapi 功能,需要最新版的 laf 。
  4. },
  5. "systemEnv": {
  6. "vectorMaxProcess": 15,
  7. "qaMaxProcess": 15,
  8. "pgHNSWEfSearch": 100 // 向量搜索参数。越大,搜索越精确,但是速度越慢。设置为100,有99%+精度。
  9. },
  10. "llmModels": [
  11. {
  12. "model": "gpt-3.5-turbo", // 模型名(对应OneAPI中渠道的模型名)
  13. "name": "gpt-3.5-turbo", // 别名
  14. "avatar": "/imgs/model/openai.svg", // 模型的logo
  15. "maxContext": 16000, // 最大上下文
  16. "maxResponse": 4000, // 最大回复
  17. "quoteMaxToken": 13000, // 最大引用内容
  18. "maxTemperature": 1.2, // 最大温度
  19. "charsPointsPrice": 0, // n积分/1k token(商业版)
  20. "censor": false, // 是否开启敏感校验(商业版)
  21. "vision": false, // 是否支持图片输入
  22. "datasetProcess": true, // 是否设置为知识库处理模型(QA),务必保证至少有一个为true,否则知识库会报错
  23. "usedInClassify": true, // 是否用于问题分类(务必保证至少有一个为true)
  24. "usedInExtractFields": true, // 是否用于内容提取(务必保证至少有一个为true)
  25. "usedInToolCall": true, // 是否用于工具调用(务必保证至少有一个为true)
  26. "usedInQueryExtension": true, // 是否用于问题优化(务必保证至少有一个为true)
  27. "toolChoice": true, // 是否支持工具选择(分类,内容提取,工具调用会用到。目前只有gpt支持)
  28. "functionCall": false, // 是否支持函数调用(分类,内容提取,工具调用会用到。会优先使用 toolChoice,如果为false,则使用 functionCall,如果仍为 false,则使用提示词模式)
  29. "customCQPrompt": "", // 自定义文本分类提示词(不支持工具和函数调用的模型
  30. "customExtractPrompt": "", // 自定义内容提取提示词
  31. "defaultSystemChatPrompt": "", // 对话默认携带的系统提示词
  32. "defaultConfig":{} // 请求API时,挟带一些默认配置(比如 GLM4 的 top_p)
  33. },
  34. {
  35. "model": "gpt-4-0125-preview",
  36. "name": "gpt-4-turbo",
  37. "avatar": "/imgs/model/openai.svg",
  38. "maxContext": 125000,
  39. "maxResponse": 4000,
  40. "quoteMaxToken": 100000,
  41. "maxTemperature": 1.2,
  42. "charsPointsPrice": 0,
  43. "censor": false,
  44. "vision": false,
  45. "datasetProcess": false,
  46. "usedInClassify": true,
  47. "usedInExtractFields": true,
  48. "usedInToolCall": true,
  49. "usedInQueryExtension": true,
  50. "toolChoice": true,
  51. "functionCall": false,
  52. "customCQPrompt": "",
  53. "customExtractPrompt": "",
  54. "defaultSystemChatPrompt": "",
  55. "defaultConfig":{}
  56. },
  57. {
  58. "model": "gpt-4-vision-preview",
  59. "name": "gpt-4-vision",
  60. "avatar": "/imgs/model/openai.svg",
  61. "maxContext": 128000,
  62. "maxResponse": 4000,
  63. "quoteMaxToken": 100000,
  64. "maxTemperature": 1.2,
  65. "charsPointsPrice": 0,
  66. "censor": false,
  67. "vision": true,
  68. "datasetProcess": false,
  69. "usedInClassify": false,
  70. "usedInExtractFields": false,
  71. "usedInToolCall": false,
  72. "usedInQueryExtension": false,
  73. "toolChoice": true,
  74. "functionCall": false,
  75. "customCQPrompt": "",
  76. "customExtractPrompt": "",
  77. "defaultSystemChatPrompt": "",
  78. "defaultConfig":{}
  79. }
  80. ],
  81. "vectorModels": [
  82. {
  83. "model": "text-embedding-ada-002", // 模型名(与OneAPI对应)
  84. "name": "Embedding-2", // 模型展示名
  85. "avatar": "/imgs/model/openai.svg", // logo
  86. "charsPointsPrice": 0, // n积分/1k token
  87. "defaultToken": 700, // 默认文本分割时候的 token
  88. "maxToken": 3000, // 最大 token
  89. "weight": 100, // 优先训练权重
  90. "defaultConfig":{}, // 自定义额外参数。例如,如果希望使用 embedding3-large 的话,可以传入 dimensions:1024,来返回1024维度的向量。(目前必须小于1536维度)
  91. "dbConfig": {}, // 存储时的额外参数(非对称向量模型时候需要用到)
  92. "queryConfig": {} // 参训时的额外参数
  93. }
  94. ],
  95. "reRankModels": [],
  96. "audioSpeechModels": [
  97. {
  98. "model": "tts-1",
  99. "name": "OpenAI TTS1",
  100. "charsPointsPrice": 0,
  101. "voices": [
  102. { "label": "Alloy", "value": "alloy", "bufferId": "openai-Alloy" },
  103. { "label": "Echo", "value": "echo", "bufferId": "openai-Echo" },
  104. { "label": "Fable", "value": "fable", "bufferId": "openai-Fable" },
  105. { "label": "Onyx", "value": "onyx", "bufferId": "openai-Onyx" },
  106. { "label": "Nova", "value": "nova", "bufferId": "openai-Nova" },
  107. { "label": "Shimmer", "value": "shimmer", "bufferId": "openai-Shimmer" }
  108. ]
  109. }
  110. ],
  111. "whisperModel": {
  112. "model": "whisper-1",
  113. "name": "Whisper1",
  114. "charsPointsPrice": 0
  115. }
  116. }

统一放置在项目的public/imgs/model/xxx目录中,目前内置了以下几种,如果有需要,可以PR增加。默认头像为 Hugging face 的 logo~

  • /imgs/model/baichuan.svg - 百川
  • /imgs/model/chatglm.svg - 智谱
  • /imgs/model/calude.svg - calude
  • /imgs/model/ernie.svg - 文心一言
  • /imgs/model/moonshot.svg - 月之暗面
  • /imgs/model/openai.svg - OpenAI GPT
  • /imgs/model/qwen.svg - 通义千问
  • /imgs/model/yi.svg - 零一万物

特殊模型

ReRank 接入(私有部署)

请使用 4.6.6-alpha 以上版本,配置文件中的 reRankModels 为重排模型,虽然是数组,不过目前仅有第1个生效。

  1. 部署 ReRank 模型
  2. 找到 FastGPT 的配置文件中的 reRankModels, 4.6.6 以前是 ReRankModels
  3. 修改对应的值:(记得去掉注释)
  1. {
  2. "reRankModels": [
  3. {
  4. "model": "bge-reranker-base", // 随意
  5. "name": "检索重排-base", // 随意
  6. "charsPointsPrice": 0,
  7. "requestUrl": "{{host}}/v1/rerank",
  8. "requestAuth": "安全凭证,已自动补 Bearer"
  9. }
  10. ]
  11. }

ReRank 接入(Cohere)

这个重排模型对中文不是很好,不如 bge 的好用。

  1. 申请 Cohere 官方 Key: https://dashboard.cohere.com/api-keys配置文件介绍 - 图1
  2. 修改 FastGPT 配置文件
  1. {
  2. "reRankModels": [
  3. {
  4. "model": "rerank-multilingual-v2.0", // 这里的model需要对应 cohere 的模型名
  5. "name": "检索重排", // 随意
  6. "requestUrl": "https://api.cohere.ai/v1/rerank",
  7. "requestAuth": "Coherer上申请的key"
  8. }
  9. ]
  10. }