config.py 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  1. """
  2. 以下所有配置也都支持利用环境变量覆写,环境变量配置格式见docker-compose.yml。
  3. 读取优先级:环境变量 > config_private.py > config.py
  4. --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
  5. All the following configurations also support using environment variables to override,
  6. and the environment variable configuration format can be seen in docker-compose.yml.
  7. Configuration reading priority: environment variable > config_private.py > config.py
  8. """
  9. # [step 1]>> API_KEY = "sk-123456789xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx123456789"。极少数情况下,还需要填写组织(格式如org-123456789abcdefghijklmno的),请向下翻,找 API_ORG 设置项
  10. API_KEY = "此处填API密钥" # 可同时填写多个API-KEY,用英文逗号分割,例如API_KEY = "sk-openaikey1,sk-openaikey2,fkxxxx-api2dkey3,azure-apikey4"
  11. # [step 2]>> 改为True应用代理,如果直接在海外服务器部署,此处不修改;如果使用本地或无地域限制的大模型时,此处也不需要修改
  12. USE_PROXY = False
  13. if USE_PROXY:
  14. """
  15. 代理网络的地址,打开你的代理软件查看代理协议(socks5h / http)、地址(localhost)和端口(11284)
  16. 填写格式是 [协议]:// [地址] :[端口],填写之前不要忘记把USE_PROXY改成True,如果直接在海外服务器部署,此处不修改
  17. <配置教程&视频教程> https://github.com/binary-husky/gpt_academic/issues/1>
  18. [协议] 常见协议无非socks5h/http; 例如 v2**y 和 ss* 的默认本地协议是socks5h; 而cl**h 的默认本地协议是http
  19. [地址] 填localhost或者127.0.0.1(localhost意思是代理软件安装在本机上)
  20. [端口] 在代理软件的设置里找。虽然不同的代理软件界面不一样,但端口号都应该在最显眼的位置上
  21. """
  22. proxies = {
  23. # [协议]:// [地址] :[端口]
  24. "http": "socks5h://localhost:11284", # 再例如 "http": "http://127.0.0.1:7890",
  25. "https": "socks5h://localhost:11284", # 再例如 "https": "http://127.0.0.1:7890",
  26. }
  27. else:
  28. proxies = None
  29. # [step 3]>> 模型选择是 (注意: LLM_MODEL是默认选中的模型, 它*必须*被包含在AVAIL_LLM_MODELS列表中 )
  30. LLM_MODEL = "gpt-3.5-turbo-16k" # 可选 ↓↓↓
  31. AVAIL_LLM_MODELS = ["gpt-4-1106-preview", "gpt-4-turbo-preview", "gpt-4-vision-preview",
  32. "gpt-4o", "gpt-4o-mini", "gpt-4-turbo", "gpt-4-turbo-2024-04-09",
  33. "gpt-3.5-turbo-1106", "gpt-3.5-turbo-16k", "gpt-3.5-turbo", "azure-gpt-3.5",
  34. "gpt-4", "gpt-4-32k", "azure-gpt-4", "glm-4", "glm-4v", "glm-3-turbo",
  35. "gemini-1.5-pro", "chatglm3"
  36. ]
  37. EMBEDDING_MODEL = "text-embedding-3-small"
  38. # --- --- --- ---
  39. # P.S. 其他可用的模型还包括
  40. # AVAIL_LLM_MODELS = [
  41. # "glm-4-0520", "glm-4-air", "glm-4-airx", "glm-4-flash",
  42. # "qianfan", "deepseekcoder",
  43. # "spark", "sparkv2", "sparkv3", "sparkv3.5", "sparkv4",
  44. # "qwen-turbo", "qwen-plus", "qwen-max", "qwen-local",
  45. # "moonshot-v1-128k", "moonshot-v1-32k", "moonshot-v1-8k",
  46. # "gpt-3.5-turbo-0613", "gpt-3.5-turbo-16k-0613", "gpt-3.5-turbo-0125", "gpt-4o-2024-05-13"
  47. # "claude-3-haiku-20240307","claude-3-sonnet-20240229","claude-3-opus-20240229", "claude-2.1", "claude-instant-1.2",
  48. # "moss", "llama2", "chatglm_onnx", "internlm", "jittorllms_pangualpha", "jittorllms_llama",
  49. # "deepseek-chat" ,"deepseek-coder",
  50. # "gemini-1.5-flash",
  51. # "yi-34b-chat-0205","yi-34b-chat-200k","yi-large","yi-medium","yi-spark","yi-large-turbo","yi-large-preview",
  52. # ]
  53. # --- --- --- ---
  54. # 此外,您还可以在接入one-api/vllm/ollama/Openroute时,
  55. # 使用"one-api-*","vllm-*","ollama-*","openrouter-*"前缀直接使用非标准方式接入的模型,例如
  56. # AVAIL_LLM_MODELS = ["one-api-claude-3-sonnet-20240229(max_token=100000)", "ollama-phi3(max_token=4096)","openrouter-openai/gpt-4o-mini","openrouter-openai/chatgpt-4o-latest"]
  57. # --- --- --- ---
  58. # --------------- 以下配置可以优化体验 ---------------
  59. # 重新URL重新定向,实现更换API_URL的作用(高危设置! 常规情况下不要修改! 通过修改此设置,您将把您的API-KEY和对话隐私完全暴露给您设定的中间人!)
  60. # 格式: API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "在这里填写重定向的api.openai.com的URL"}
  61. # 举例: API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "https://reverse-proxy-url/v1/chat/completions", "http://localhost:11434/api/chat": "在这里填写您ollama的URL"}
  62. API_URL_REDIRECT = {}
  63. # 多线程函数插件中,默认允许多少路线程同时访问OpenAI。Free trial users的限制是每分钟3次,Pay-as-you-go users的限制是每分钟3500次
  64. # 一言以蔽之:免费(5刀)用户填3,OpenAI绑了信用卡的用户可以填 16 或者更高。提高限制请查询:https://platform.openai.com/docs/guides/rate-limits/overview
  65. DEFAULT_WORKER_NUM = 3
  66. # 色彩主题, 可选 ["Default", "Chuanhu-Small-and-Beautiful", "High-Contrast"]
  67. # 更多主题, 请查阅Gradio主题商店: https://huggingface.co/spaces/gradio/theme-gallery 可选 ["Gstaff/Xkcd", "NoCrypt/Miku", ...]
  68. THEME = "Default"
  69. AVAIL_THEMES = ["Default", "Chuanhu-Small-and-Beautiful", "High-Contrast", "Gstaff/Xkcd", "NoCrypt/Miku"]
  70. # 默认的系统提示词(system prompt)
  71. INIT_SYS_PROMPT = "Serve me as a writing and programming assistant."
  72. # 对话窗的高度 (仅在LAYOUT="TOP-DOWN"时生效)
  73. CHATBOT_HEIGHT = 1115
  74. # 代码高亮
  75. CODE_HIGHLIGHT = True
  76. # 窗口布局
  77. LAYOUT = "LEFT-RIGHT" # "LEFT-RIGHT"(左右布局) # "TOP-DOWN"(上下布局)
  78. # 暗色模式 / 亮色模式
  79. DARK_MODE = True
  80. # 发送请求到OpenAI后,等待多久判定为超时
  81. TIMEOUT_SECONDS = 30
  82. # 网页的端口, -1代表随机端口
  83. WEB_PORT = -1
  84. # 是否自动打开浏览器页面
  85. AUTO_OPEN_BROWSER = True
  86. # 如果OpenAI不响应(网络卡顿、代理失败、KEY失效),重试的次数限制
  87. MAX_RETRY = 2
  88. # 插件分类默认选项
  89. DEFAULT_FN_GROUPS = ['对话', '编程', '学术', '智能体']
  90. # 定义界面上“询问多个GPT模型”插件应该使用哪些模型,请从AVAIL_LLM_MODELS中选择,并在不同模型之间用`&`间隔,例如"gpt-3.5-turbo&chatglm3&azure-gpt-4"
  91. MULTI_QUERY_LLM_MODELS = "gpt-3.5-turbo&chatglm3"
  92. # 选择本地模型变体(只有当AVAIL_LLM_MODELS包含了对应本地模型时,才会起作用)
  93. # 如果你选择Qwen系列的模型,那么请在下面的QWEN_MODEL_SELECTION中指定具体的模型
  94. # 也可以是具体的模型路径
  95. QWEN_LOCAL_MODEL_SELECTION = "Qwen/Qwen-1_8B-Chat-Int8"
  96. # 接入通义千问在线大模型 https://dashscope.console.aliyun.com/
  97. DASHSCOPE_API_KEY = "" # 阿里灵积云API_KEY
  98. # 百度千帆(LLM_MODEL="qianfan")
  99. BAIDU_CLOUD_API_KEY = ''
  100. BAIDU_CLOUD_SECRET_KEY = ''
  101. BAIDU_CLOUD_QIANFAN_MODEL = 'ERNIE-Bot' # 可选 "ERNIE-Bot-4"(文心大模型4.0), "ERNIE-Bot"(文心一言), "ERNIE-Bot-turbo", "BLOOMZ-7B", "Llama-2-70B-Chat", "Llama-2-13B-Chat", "Llama-2-7B-Chat", "ERNIE-Speed-128K", "ERNIE-Speed-8K", "ERNIE-Lite-8K"
  102. # 如果使用ChatGLM2微调模型,请把 LLM_MODEL="chatglmft",并在此处指定模型路径
  103. CHATGLM_PTUNING_CHECKPOINT = "" # 例如"/home/hmp/ChatGLM2-6B/ptuning/output/6b-pt-128-1e-2/checkpoint-100"
  104. # 本地LLM模型如ChatGLM的执行方式 CPU/GPU
  105. LOCAL_MODEL_DEVICE = "cpu" # 可选 "cuda"
  106. LOCAL_MODEL_QUANT = "FP16" # 默认 "FP16" "INT4" 启用量化INT4版本 "INT8" 启用量化INT8版本
  107. # 设置gradio的并行线程数(不需要修改)
  108. CONCURRENT_COUNT = 100
  109. # 是否在提交时自动清空输入框
  110. AUTO_CLEAR_TXT = False
  111. # 加一个live2d装饰
  112. ADD_WAIFU = False
  113. # 设置用户名和密码(不需要修改)(相关功能不稳定,与gradio版本和网络都相关,如果本地使用不建议加这个)
  114. # [("username", "password"), ("username2", "password2"), ...]
  115. AUTHENTICATION = []
  116. # 如果需要在二级路径下运行(常规情况下,不要修改!!)
  117. # (举例 CUSTOM_PATH = "/gpt_academic",可以让软件运行在 http://ip:port/gpt_academic/ 下。)
  118. CUSTOM_PATH = "/"
  119. # HTTPS 秘钥和证书(不需要修改)
  120. SSL_KEYFILE = ""
  121. SSL_CERTFILE = ""
  122. # 极少数情况下,openai的官方KEY需要伴随组织编码(格式如org-xxxxxxxxxxxxxxxxxxxxxxxx)使用
  123. API_ORG = ""
  124. # 如果需要使用Slack Claude,使用教程详情见 request_llms/README.md
  125. SLACK_CLAUDE_BOT_ID = ''
  126. SLACK_CLAUDE_USER_TOKEN = ''
  127. # 如果需要使用AZURE(方法一:单个azure模型部署)详情请见额外文档 docs\use_azure.md
  128. AZURE_ENDPOINT = "https://你亲手写的api名称.openai.azure.com/"
  129. AZURE_API_KEY = "填入azure openai api的密钥" # 建议直接在API_KEY处填写,该选项即将被弃用
  130. AZURE_ENGINE = "填入你亲手写的部署名" # 读 docs\use_azure.md
  131. # 如果需要使用AZURE(方法二:多个azure模型部署+动态切换)详情请见额外文档 docs\use_azure.md
  132. AZURE_CFG_ARRAY = {}
  133. # 阿里云实时语音识别 配置难度较高
  134. # 参考 https://github.com/binary-husky/gpt_academic/blob/master/docs/use_audio.md
  135. ENABLE_AUDIO = False
  136. ALIYUN_TOKEN="" # 例如 f37f30e0f9934c34a992f6f64f7eba4f
  137. ALIYUN_APPKEY="" # 例如 RoPlZrM88DnAFkZK
  138. ALIYUN_ACCESSKEY="" # (无需填写)
  139. ALIYUN_SECRET="" # (无需填写)
  140. # GPT-SOVITS 文本转语音服务的运行地址(将语言模型的生成文本朗读出来)
  141. TTS_TYPE = "EDGE_TTS" # EDGE_TTS / LOCAL_SOVITS_API / DISABLE
  142. GPT_SOVITS_URL = ""
  143. EDGE_TTS_VOICE = "zh-CN-XiaoxiaoNeural"
  144. # 接入讯飞星火大模型 https://console.xfyun.cn/services/iat
  145. XFYUN_APPID = "00000000"
  146. XFYUN_API_SECRET = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
  147. XFYUN_API_KEY = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
  148. # 接入智谱大模型
  149. ZHIPUAI_API_KEY = ""
  150. ZHIPUAI_MODEL = "" # 此选项已废弃,不再需要填写
  151. # Claude API KEY
  152. ANTHROPIC_API_KEY = ""
  153. # 月之暗面 API KEY
  154. MOONSHOT_API_KEY = ""
  155. # 零一万物(Yi Model) API KEY
  156. YIMODEL_API_KEY = ""
  157. # 深度求索(DeepSeek) API KEY,默认请求地址为"https://api.deepseek.com/v1/chat/completions"
  158. DEEPSEEK_API_KEY = ""
  159. # 紫东太初大模型 https://ai-maas.wair.ac.cn
  160. TAICHU_API_KEY = ""
  161. # Mathpix 拥有执行PDF的OCR功能,但是需要注册账号
  162. MATHPIX_APPID = ""
  163. MATHPIX_APPKEY = ""
  164. # DOC2X的PDF解析服务,注册账号并获取API KEY: https://doc2x.noedgeai.com/login
  165. DOC2X_API_KEY = ""
  166. # 自定义API KEY格式
  167. CUSTOM_API_KEY_PATTERN = ""
  168. # Google Gemini API-Key
  169. GEMINI_API_KEY = ''
  170. # HUGGINGFACE的TOKEN,下载LLAMA时起作用 https://huggingface.co/docs/hub/security-tokens
  171. HUGGINGFACE_ACCESS_TOKEN = "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"
  172. # GROBID服务器地址(填写多个可以均衡负载),用于高质量地读取PDF文档
  173. # 获取方法:复制以下空间https://huggingface.co/spaces/qingxu98/grobid,设为public,然后GROBID_URL = "https://(你的hf用户名如qingxu98)-(你的填写的空间名如grobid).hf.space"
  174. GROBID_URLS = [
  175. "https://qingxu98-grobid.hf.space","https://qingxu98-grobid2.hf.space","https://qingxu98-grobid3.hf.space",
  176. "https://qingxu98-grobid4.hf.space","https://qingxu98-grobid5.hf.space", "https://qingxu98-grobid6.hf.space",
  177. "https://qingxu98-grobid7.hf.space", "https://qingxu98-grobid8.hf.space",
  178. ]
  179. # Searxng互联网检索服务
  180. SEARXNG_URL = "https://cloud-1.agent-matrix.com/"
  181. # 是否允许通过自然语言描述修改本页的配置,该功能具有一定的危险性,默认关闭
  182. ALLOW_RESET_CONFIG = False
  183. # 在使用AutoGen插件时,是否使用Docker容器运行代码
  184. AUTOGEN_USE_DOCKER = False
  185. # 临时的上传文件夹位置,请尽量不要修改
  186. PATH_PRIVATE_UPLOAD = "private_upload"
  187. # 日志文件夹的位置,请尽量不要修改
  188. PATH_LOGGING = "gpt_log"
  189. # 存储翻译好的arxiv论文的路径,请尽量不要修改
  190. ARXIV_CACHE_DIR = "gpt_log/arxiv_cache"
  191. # 除了连接OpenAI之外,还有哪些场合允许使用代理,请尽量不要修改
  192. WHEN_TO_USE_PROXY = ["Download_LLM", "Download_Gradio_Theme", "Connect_Grobid",
  193. "Warmup_Modules", "Nougat_Download", "AutoGen", "Connect_OpenAI_Embedding"]
  194. # 启用插件热加载
  195. PLUGIN_HOT_RELOAD = False
  196. # 自定义按钮的最大数量限制
  197. NUM_CUSTOM_BASIC_BTN = 4
  198. """
  199. --------------- 配置关联关系说明 ---------------
  200. 在线大模型配置关联关系示意图
  201. ├── "gpt-3.5-turbo" 等openai模型
  202. │ ├── API_KEY
  203. │ ├── CUSTOM_API_KEY_PATTERN(不常用)
  204. │ ├── API_ORG(不常用)
  205. │ └── API_URL_REDIRECT(不常用)
  206. ├── "azure-gpt-3.5" 等azure模型(单个azure模型,不需要动态切换)
  207. │ ├── API_KEY
  208. │ ├── AZURE_ENDPOINT
  209. │ ├── AZURE_API_KEY
  210. │ ├── AZURE_ENGINE
  211. │ └── API_URL_REDIRECT
  212. ├── "azure-gpt-3.5" 等azure模型(多个azure模型,需要动态切换,高优先级)
  213. │ └── AZURE_CFG_ARRAY
  214. ├── "spark" 星火认知大模型 spark & sparkv2
  215. │ ├── XFYUN_APPID
  216. │ ├── XFYUN_API_SECRET
  217. │ └── XFYUN_API_KEY
  218. ├── "claude-3-opus-20240229" 等claude模型
  219. │ └── ANTHROPIC_API_KEY
  220. ├── "stack-claude"
  221. │ ├── SLACK_CLAUDE_BOT_ID
  222. │ └── SLACK_CLAUDE_USER_TOKEN
  223. ├── "qianfan" 百度千帆大模型库
  224. │ ├── BAIDU_CLOUD_QIANFAN_MODEL
  225. │ ├── BAIDU_CLOUD_API_KEY
  226. │ └── BAIDU_CLOUD_SECRET_KEY
  227. ├── "glm-4", "glm-3-turbo", "zhipuai" 智谱AI大模型
  228. │ └── ZHIPUAI_API_KEY
  229. ├── "yi-34b-chat-0205", "yi-34b-chat-200k" 等零一万物(Yi Model)大模型
  230. │ └── YIMODEL_API_KEY
  231. ├── "qwen-turbo" 等通义千问大模型
  232. │ └── DASHSCOPE_API_KEY
  233. ├── "Gemini"
  234. │ └── GEMINI_API_KEY
  235. └── "one-api-...(max_token=...)" 用一种更方便的方式接入one-api多模型管理界面
  236. ├── AVAIL_LLM_MODELS
  237. ├── API_KEY
  238. └── API_URL_REDIRECT
  239. 本地大模型示意图
  240. ├── "chatglm3"
  241. ├── "chatglm"
  242. ├── "chatglm_onnx"
  243. ├── "chatglmft"
  244. ├── "internlm"
  245. ├── "moss"
  246. ├── "jittorllms_pangualpha"
  247. ├── "jittorllms_llama"
  248. ├── "deepseekcoder"
  249. ├── "qwen-local"
  250. ├── RWKV的支持见Wiki
  251. └── "llama2"
  252. 用户图形界面布局依赖关系示意图
  253. ├── CHATBOT_HEIGHT 对话窗的高度
  254. ├── CODE_HIGHLIGHT 代码高亮
  255. ├── LAYOUT 窗口布局
  256. ├── DARK_MODE 暗色模式 / 亮色模式
  257. ├── DEFAULT_FN_GROUPS 插件分类默认选项
  258. ├── THEME 色彩主题
  259. ├── AUTO_CLEAR_TXT 是否在提交时自动清空输入框
  260. ├── ADD_WAIFU 加一个live2d装饰
  261. └── ALLOW_RESET_CONFIG 是否允许通过自然语言描述修改本页的配置,该功能具有一定的危险性
  262. 插件在线服务配置依赖关系示意图
  263. ├── 互联网检索
  264. │ └── SEARXNG_URL
  265. ├── 语音功能
  266. │ ├── ENABLE_AUDIO
  267. │ ├── ALIYUN_TOKEN
  268. │ ├── ALIYUN_APPKEY
  269. │ ├── ALIYUN_ACCESSKEY
  270. │ └── ALIYUN_SECRET
  271. └── PDF文档精准解析
  272. ├── GROBID_URLS
  273. ├── MATHPIX_APPID
  274. └── MATHPIX_APPKEY
  275. """