config.py 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  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. # ------------------------------------ 以下配置可以优化体验, 但大部分场合下并不需要修改 ------------------------------------
  30. # 重新URL重新定向,实现更换API_URL的作用(高危设置! 常规情况下不要修改! 通过修改此设置,您将把您的API-KEY和对话隐私完全暴露给您设定的中间人!)
  31. # 格式: API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "在这里填写重定向的api.openai.com的URL"}
  32. # 举例: API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "https://reverse-proxy-url/v1/chat/completions"}
  33. API_URL_REDIRECT = {}
  34. # 多线程函数插件中,默认允许多少路线程同时访问OpenAI。Free trial users的限制是每分钟3次,Pay-as-you-go users的限制是每分钟3500次
  35. # 一言以蔽之:免费(5刀)用户填3,OpenAI绑了信用卡的用户可以填 16 或者更高。提高限制请查询:https://platform.openai.com/docs/guides/rate-limits/overview
  36. DEFAULT_WORKER_NUM = 3
  37. # 色彩主题, 可选 ["Default", "Chuanhu-Small-and-Beautiful", "High-Contrast"]
  38. # 更多主题, 请查阅Gradio主题商店: https://huggingface.co/spaces/gradio/theme-gallery 可选 ["Gstaff/Xkcd", "NoCrypt/Miku", ...]
  39. THEME = "Default"
  40. AVAIL_THEMES = ["Default", "Chuanhu-Small-and-Beautiful", "High-Contrast", "Gstaff/Xkcd", "NoCrypt/Miku"]
  41. # 默认的系统提示词(system prompt)
  42. INIT_SYS_PROMPT = "Serve me as a writing and programming assistant."
  43. # 对话窗的高度 (仅在LAYOUT="TOP-DOWN"时生效)
  44. CHATBOT_HEIGHT = 1115
  45. # 代码高亮
  46. CODE_HIGHLIGHT = True
  47. # 窗口布局
  48. LAYOUT = "LEFT-RIGHT" # "LEFT-RIGHT"(左右布局) # "TOP-DOWN"(上下布局)
  49. # 暗色模式 / 亮色模式
  50. DARK_MODE = True
  51. # 发送请求到OpenAI后,等待多久判定为超时
  52. TIMEOUT_SECONDS = 30
  53. # 网页的端口, -1代表随机端口
  54. WEB_PORT = -1
  55. # 如果OpenAI不响应(网络卡顿、代理失败、KEY失效),重试的次数限制
  56. MAX_RETRY = 2
  57. # 插件分类默认选项
  58. DEFAULT_FN_GROUPS = ['对话', '编程', '学术', '智能体']
  59. # 模型选择是 (注意: LLM_MODEL是默认选中的模型, 它*必须*被包含在AVAIL_LLM_MODELS列表中 )
  60. LLM_MODEL = "gpt-3.5-turbo" # 可选 ↓↓↓
  61. AVAIL_LLM_MODELS = ["gpt-3.5-turbo-1106","gpt-4-1106-preview","gpt-4-vision-preview",
  62. "gpt-3.5-turbo-16k", "gpt-3.5-turbo", "azure-gpt-3.5",
  63. "gpt-4", "gpt-4-32k", "azure-gpt-4", "api2d-gpt-4",
  64. "gemini-pro", "chatglm3", "moss", "claude-2"]
  65. # P.S. 其他可用的模型还包括 [
  66. # "qwen-turbo", "qwen-plus", "qwen-max"
  67. # "zhipuai", "qianfan", "deepseekcoder", "llama2", "qwen-local", "gpt-3.5-turbo-0613",
  68. # "gpt-3.5-turbo-16k-0613", "gpt-3.5-random", "api2d-gpt-3.5-turbo", 'api2d-gpt-3.5-turbo-16k',
  69. # "spark", "sparkv2", "sparkv3", "chatglm_onnx", "claude-1-100k", "claude-2", "internlm", "jittorllms_pangualpha", "jittorllms_llama"
  70. # ]
  71. # 定义界面上“询问多个GPT模型”插件应该使用哪些模型,请从AVAIL_LLM_MODELS中选择,并在不同模型之间用`&`间隔,例如"gpt-3.5-turbo&chatglm3&azure-gpt-4"
  72. MULTI_QUERY_LLM_MODELS = "gpt-3.5-turbo&chatglm3"
  73. # 选择本地模型变体(只有当AVAIL_LLM_MODELS包含了对应本地模型时,才会起作用)
  74. # 如果你选择Qwen系列的模型,那么请在下面的QWEN_MODEL_SELECTION中指定具体的模型
  75. # 也可以是具体的模型路径
  76. QWEN_LOCAL_MODEL_SELECTION = "Qwen/Qwen-1_8B-Chat-Int8"
  77. # 接入通义千问在线大模型 https://dashscope.console.aliyun.com/
  78. DASHSCOPE_API_KEY = "" # 阿里灵积云API_KEY
  79. # 百度千帆(LLM_MODEL="qianfan")
  80. BAIDU_CLOUD_API_KEY = ''
  81. BAIDU_CLOUD_SECRET_KEY = ''
  82. 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"
  83. # 如果使用ChatGLM2微调模型,请把 LLM_MODEL="chatglmft",并在此处指定模型路径
  84. CHATGLM_PTUNING_CHECKPOINT = "" # 例如"/home/hmp/ChatGLM2-6B/ptuning/output/6b-pt-128-1e-2/checkpoint-100"
  85. # 本地LLM模型如ChatGLM的执行方式 CPU/GPU
  86. LOCAL_MODEL_DEVICE = "cpu" # 可选 "cuda"
  87. LOCAL_MODEL_QUANT = "FP16" # 默认 "FP16" "INT4" 启用量化INT4版本 "INT8" 启用量化INT8版本
  88. # 设置gradio的并行线程数(不需要修改)
  89. CONCURRENT_COUNT = 100
  90. # 是否在提交时自动清空输入框
  91. AUTO_CLEAR_TXT = False
  92. # 加一个live2d装饰
  93. ADD_WAIFU = False
  94. # 设置用户名和密码(不需要修改)(相关功能不稳定,与gradio版本和网络都相关,如果本地使用不建议加这个)
  95. # [("username", "password"), ("username2", "password2"), ...]
  96. AUTHENTICATION = []
  97. # 如果需要在二级路径下运行(常规情况下,不要修改!!)(需要配合修改main.py才能生效!)
  98. CUSTOM_PATH = "/"
  99. # HTTPS 秘钥和证书(不需要修改)
  100. SSL_KEYFILE = ""
  101. SSL_CERTFILE = ""
  102. # 极少数情况下,openai的官方KEY需要伴随组织编码(格式如org-xxxxxxxxxxxxxxxxxxxxxxxx)使用
  103. API_ORG = ""
  104. # 如果需要使用Slack Claude,使用教程详情见 request_llms/README.md
  105. SLACK_CLAUDE_BOT_ID = ''
  106. SLACK_CLAUDE_USER_TOKEN = ''
  107. # 如果需要使用AZURE(方法一:单个azure模型部署)详情请见额外文档 docs\use_azure.md
  108. AZURE_ENDPOINT = "https://你亲手写的api名称.openai.azure.com/"
  109. AZURE_API_KEY = "填入azure openai api的密钥" # 建议直接在API_KEY处填写,该选项即将被弃用
  110. AZURE_ENGINE = "填入你亲手写的部署名" # 读 docs\use_azure.md
  111. # 如果需要使用AZURE(方法二:多个azure模型部署+动态切换)详情请见额外文档 docs\use_azure.md
  112. AZURE_CFG_ARRAY = {}
  113. # 使用Newbing (不推荐使用,未来将删除)
  114. NEWBING_STYLE = "creative" # ["creative", "balanced", "precise"]
  115. NEWBING_COOKIES = """
  116. put your new bing cookies here
  117. """
  118. # 阿里云实时语音识别 配置难度较高 仅建议高手用户使用 参考 https://github.com/binary-husky/gpt_academic/blob/master/docs/use_audio.md
  119. ENABLE_AUDIO = False
  120. ALIYUN_TOKEN="" # 例如 f37f30e0f9934c34a992f6f64f7eba4f
  121. ALIYUN_APPKEY="" # 例如 RoPlZrM88DnAFkZK
  122. ALIYUN_ACCESSKEY="" # (无需填写)
  123. ALIYUN_SECRET="" # (无需填写)
  124. # 接入讯飞星火大模型 https://console.xfyun.cn/services/iat
  125. XFYUN_APPID = "00000000"
  126. XFYUN_API_SECRET = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
  127. XFYUN_API_KEY = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
  128. # 接入智谱大模型
  129. ZHIPUAI_API_KEY = ""
  130. ZHIPUAI_MODEL = "chatglm_turbo"
  131. # Claude API KEY
  132. ANTHROPIC_API_KEY = ""
  133. # 自定义API KEY格式
  134. CUSTOM_API_KEY_PATTERN = ""
  135. # Google Gemini API-Key
  136. GEMINI_API_KEY = ''
  137. # HUGGINGFACE的TOKEN,下载LLAMA时起作用 https://huggingface.co/docs/hub/security-tokens
  138. HUGGINGFACE_ACCESS_TOKEN = "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"
  139. # GROBID服务器地址(填写多个可以均衡负载),用于高质量地读取PDF文档
  140. # 获取方法:复制以下空间https://huggingface.co/spaces/qingxu98/grobid,设为public,然后GROBID_URL = "https://(你的hf用户名如qingxu98)-(你的填写的空间名如grobid).hf.space"
  141. GROBID_URLS = [
  142. "https://qingxu98-grobid.hf.space","https://qingxu98-grobid2.hf.space","https://qingxu98-grobid3.hf.space",
  143. "https://qingxu98-grobid4.hf.space","https://qingxu98-grobid5.hf.space", "https://qingxu98-grobid6.hf.space",
  144. "https://qingxu98-grobid7.hf.space", "https://qingxu98-grobid8.hf.space",
  145. ]
  146. # 是否允许通过自然语言描述修改本页的配置,该功能具有一定的危险性,默认关闭
  147. ALLOW_RESET_CONFIG = False
  148. # 在使用AutoGen插件时,是否使用Docker容器运行代码
  149. AUTOGEN_USE_DOCKER = False
  150. # 临时的上传文件夹位置,请勿修改
  151. PATH_PRIVATE_UPLOAD = "private_upload"
  152. # 日志文件夹的位置,请勿修改
  153. PATH_LOGGING = "gpt_log"
  154. # 除了连接OpenAI之外,还有哪些场合允许使用代理,请勿修改
  155. WHEN_TO_USE_PROXY = ["Download_LLM", "Download_Gradio_Theme", "Connect_Grobid",
  156. "Warmup_Modules", "Nougat_Download", "AutoGen"]
  157. # *实验性功能*: 自动检测并屏蔽失效的KEY,请勿使用
  158. BLOCK_INVALID_APIKEY = False
  159. # 启用插件热加载
  160. PLUGIN_HOT_RELOAD = False
  161. # 自定义按钮的最大数量限制
  162. NUM_CUSTOM_BASIC_BTN = 4
  163. """
  164. 在线大模型配置关联关系示意图
  165. ├── "gpt-3.5-turbo" 等openai模型
  166. │ ├── API_KEY
  167. │ ├── CUSTOM_API_KEY_PATTERN(不常用)
  168. │ ├── API_ORG(不常用)
  169. │ └── API_URL_REDIRECT(不常用)
  170. ├── "azure-gpt-3.5" 等azure模型(单个azure模型,不需要动态切换)
  171. │ ├── API_KEY
  172. │ ├── AZURE_ENDPOINT
  173. │ ├── AZURE_API_KEY
  174. │ ├── AZURE_ENGINE
  175. │ └── API_URL_REDIRECT
  176. ├── "azure-gpt-3.5" 等azure模型(多个azure模型,需要动态切换,高优先级)
  177. │ └── AZURE_CFG_ARRAY
  178. ├── "spark" 星火认知大模型 spark & sparkv2
  179. │ ├── XFYUN_APPID
  180. │ ├── XFYUN_API_SECRET
  181. │ └── XFYUN_API_KEY
  182. ├── "claude-1-100k" 等claude模型
  183. │ └── ANTHROPIC_API_KEY
  184. ├── "stack-claude"
  185. │ ├── SLACK_CLAUDE_BOT_ID
  186. │ └── SLACK_CLAUDE_USER_TOKEN
  187. ├── "qianfan" 百度千帆大模型库
  188. │ ├── BAIDU_CLOUD_QIANFAN_MODEL
  189. │ ├── BAIDU_CLOUD_API_KEY
  190. │ └── BAIDU_CLOUD_SECRET_KEY
  191. ├── "zhipuai" 智谱AI大模型chatglm_turbo
  192. │ ├── ZHIPUAI_API_KEY
  193. │ └── ZHIPUAI_MODEL
  194. ├── "qwen-turbo" 等通义千问大模型
  195. │ └── DASHSCOPE_API_KEY
  196. ├── "Gemini"
  197. │ └── GEMINI_API_KEY
  198. └── "newbing" Newbing接口不再稳定,不推荐使用
  199. ├── NEWBING_STYLE
  200. └── NEWBING_COOKIES
  201. 本地大模型示意图
  202. ├── "chatglm3"
  203. ├── "chatglm"
  204. ├── "chatglm_onnx"
  205. ├── "chatglmft"
  206. ├── "internlm"
  207. ├── "moss"
  208. ├── "jittorllms_pangualpha"
  209. ├── "jittorllms_llama"
  210. ├── "deepseekcoder"
  211. ├── "qwen-local"
  212. ├── RWKV的支持见Wiki
  213. └── "llama2"
  214. 用户图形界面布局依赖关系示意图
  215. ├── CHATBOT_HEIGHT 对话窗的高度
  216. ├── CODE_HIGHLIGHT 代码高亮
  217. ├── LAYOUT 窗口布局
  218. ├── DARK_MODE 暗色模式 / 亮色模式
  219. ├── DEFAULT_FN_GROUPS 插件分类默认选项
  220. ├── THEME 色彩主题
  221. ├── AUTO_CLEAR_TXT 是否在提交时自动清空输入框
  222. ├── ADD_WAIFU 加一个live2d装饰
  223. └── ALLOW_RESET_CONFIG 是否允许通过自然语言描述修改本页的配置,该功能具有一定的危险性
  224. 插件在线服务配置依赖关系示意图
  225. ├── 语音功能
  226. │ ├── ENABLE_AUDIO
  227. │ ├── ALIYUN_TOKEN
  228. │ ├── ALIYUN_APPKEY
  229. │ ├── ALIYUN_ACCESSKEY
  230. │ └── ALIYUN_SECRET
  231. └── PDF文档精准解析
  232. └── GROBID_URLS
  233. """