From 0f1d2e0e4809668e169c5e34264cadb6a0fbc6c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E6=AC=A7=EF=BC=88=E6=9E=97=E5=B9=B3=E5=87=A1?= =?UTF-8?q?=EF=BC=89?= Date: Thu, 6 Feb 2025 10:03:34 +0800 Subject: [PATCH 1/8] 1 --- config.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/config.py b/config.py index 11ee666c..c26d978d 100644 --- a/config.py +++ b/config.py @@ -14,7 +14,7 @@ API_KEY = "在此处填写APIKEY" # 可同时填写多个API-KEY,用英文 DASHSCOPE_API_KEY = "" # 阿里灵积云API_KEY # [step 1-3]>> ( 接入 deepseek-reasoner, 即 deepseek-r1 ) 深度求索(DeepSeek) API KEY,默认请求地址为"https://api.deepseek.com/v1/chat/completions" -DEEPSEEK_API_KEY = "" +DEEPSEEK_API_KEY = "sk-d99b8cc6b7414cc88a5d950a3ff7585e" # [step 2]>> 改为True应用代理。如果使用本地或无地域限制的大模型时,此处不修改;如果直接在海外服务器部署,此处不修改 USE_PROXY = False @@ -91,18 +91,18 @@ AVAIL_THEMES = ["Default", "Chuanhu-Small-and-Beautiful", "High-Contrast", "Gsta FONT = "Theme-Default-Font" AVAIL_FONTS = [ - "默认值(Theme-Default-Font)", - "宋体(SimSun)", - "黑体(SimHei)", - "楷体(KaiTi)", - "仿宋(FangSong)", + "默认值(Theme-Default-Font)", + "宋体(SimSun)", + "黑体(SimHei)", + "楷体(KaiTi)", + "仿宋(FangSong)", "华文细黑(STHeiti Light)", - "华文楷体(STKaiti)", - "华文仿宋(STFangsong)", - "华文宋体(STSong)", - "华文中宋(STZhongsong)", - "华文新魏(STXinwei)", - "华文隶书(STLiti)", + "华文楷体(STKaiti)", + "华文仿宋(STFangsong)", + "华文宋体(STSong)", + "华文中宋(STZhongsong)", + "华文新魏(STXinwei)", + "华文隶书(STLiti)", "思源宋体(Source Han Serif CN VF@https://chinese-fonts-cdn.deno.dev/packages/syst/dist/SourceHanSerifCN/result.css)", "月星楷(Moon Stars Kai HW@https://chinese-fonts-cdn.deno.dev/packages/moon-stars-kai/dist/MoonStarsKaiHW-Regular/result.css)", "珠圆体(MaokenZhuyuanTi@https://chinese-fonts-cdn.deno.dev/packages/mkzyt/dist/猫啃珠圆体/result.css)", From a88497c3abccaf5be45b79c342c1a1f2533a905e Mon Sep 17 00:00:00 2001 From: van Date: Thu, 6 Feb 2025 10:23:42 +0800 Subject: [PATCH 2/8] 1 --- config_private.py | 71 +++++++++++++++++++++++++++++++++++++++++++++++ start.sh | 11 ++++++++ 2 files changed, 82 insertions(+) create mode 100644 config_private.py create mode 100644 start.sh diff --git a/config_private.py b/config_private.py new file mode 100644 index 00000000..50ea9461 --- /dev/null +++ b/config_private.py @@ -0,0 +1,71 @@ +API_KEY = "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" # 可同时填写多个API-KEY,用英文逗号分割,例如API_KEY = "sk-openaikey1,sk-openaikey2,fkxxxx-api2dkey1,fkxxxx-api2dkey2" +USE_PROXY = True +if USE_PROXY: + proxies = { + "http":"socks5h://192.168.8.9:1070", # 再例如 "http": "http://127.0.0.1:7890", + "https":"socks5h://192.168.8.9:1070", # 再例如 "https": "http://127.0.0.1:7890", + } +else: + proxies = None +DEFAULT_WORKER_NUM = 256 + + +# [step 4]>> 以下配置可以优化体验,但大部分场合下并不需要修改 +# 对话窗的高度 +CHATBOT_HEIGHT = 1115 + +# 代码高亮 +CODE_HIGHLIGHT = True + +# 窗口布局 +LAYOUT = "LEFT-RIGHT" # "LEFT-RIGHT"(左右布局) # "TOP-DOWN"(上下布局) +DARK_MODE = True # "LEFT-RIGHT"(左右布局) # "TOP-DOWN"(上下布局) + +# 发送请求到OpenAI后,等待多久判定为超时 +TIMEOUT_SECONDS = 20 + +# 网页的端口, -1代表随机端口 +WEB_PORT = 19998 + +# 如果OpenAI不响应(网络卡顿、代理失败、KEY失效),重试的次数限制 +MAX_RETRY = 3 + +# 模型选择是 (注意: LLM_MODEL是默认选中的模型, 同时它必须被包含在AVAIL_LLM_MODELS切换列表中 ) +LLM_MODEL = "gpt-4" # 可选 ↓↓↓ +AVAIL_LLM_MODELS = ["gpt-3.5-turbo", "api2d-gpt-3.5-turbo", "gpt-4", "api2d-gpt-4", "chatglm", "moss", "newbing", "newbing-free", "stack-claude"] +# P.S. 其他可用的模型还包括 ["newbing-free", "jittorllms_rwkv", "jittorllms_pangualpha", "jittorllms_llama"] + +# 本地LLM模型如ChatGLM的执行方式 CPU/GPU +LOCAL_MODEL_DEVICE = "cpu" # 可选 "cuda" + +# 设置gradio的并行线程数(不需要修改) +CONCURRENT_COUNT = 100 + +# 加一个live2d装饰 + +ADD_WAIFU = True + +# 设置用户名和密码(不需要修改)(相关功能不稳定,与gradio版本和网络都相关,如果本地使用不建议加这个) +# [("username", "password"), ("username2", "password2"), ...] +AUTHENTICATION = [("van", "L807878712"),("林", "L807878712"),("源", "L807878712"),("欣", "L807878712"),("z", "czh123456789")] +# 重新URL重新定向,实现更换API_URL的作用(常规情况下,不要修改!!) +# (高危设置!通过修改此设置,您将把您的API-KEY和对话隐私完全暴露给您设定的中间人!) +# 格式 {"https://api.openai.com/v1/chat/completions": "在这里填写重定向的api.openai.com的URL"} +# 例如 API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "https://ai.open.com/api/conversation"} +API_URL_REDIRECT = {} + +# 如果需要在二级路径下运行(常规情况下,不要修改!!)(需要配合修改main.py才能生效!) +CUSTOM_PATH = "/" + +# 如果需要使用newbing,把newbing的长长的cookie放到这里 +NEWBING_STYLE = "creative" # ["creative", "balanced", "precise"] +# 从现在起,如果您调用"newbing-free"模型,则无需填写NEWBING_COOKIES +NEWBING_COOKIES = """ +your bing cookies here +""" + +# 如果需要使用Slack Claude,使用教程详情见 request_llm/README.md +SLACK_CLAUDE_BOT_ID = '' +SLACK_CLAUDE_USER_TOKEN = '' + + diff --git a/start.sh b/start.sh new file mode 100644 index 00000000..f2a04ebc --- /dev/null +++ b/start.sh @@ -0,0 +1,11 @@ +#!/bin/bash +GPT_COMMAND="/home/van/.env/python3.12-venv/bin/python main.py" +LOG_FILE="/home/van/project/gpt/gpt.log" +GPT_PROCESS=$(ps aux | grep "$/home/van/.env/python3.12-venv/bin/python main.py" | grep -v grep) +if [ -n "$GPT_PROCESS" ]; then +echo "gpt is running..." +else +cd /home/van/project/gpt/ +$GPT_COMMAND > "$LOG_FILE" 2>&1 & +echo "gpt start successfully. Log file: $LOG_FILE" +fi From e305f1b4a866e3ddff12d9628a40be61b2f6ad53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E6=AC=A7=EF=BC=88=E6=9E=97=E5=B9=B3=E5=87=A1?= =?UTF-8?q?=EF=BC=89?= Date: Thu, 6 Feb 2025 10:30:58 +0800 Subject: [PATCH 3/8] 1 --- config_private.py | 426 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 400 insertions(+), 26 deletions(-) diff --git a/config_private.py b/config_private.py index 50ea9461..2a1c98a9 100644 --- a/config_private.py +++ b/config_private.py @@ -1,4 +1,22 @@ +""" + 以下所有配置也都支持利用环境变量覆写,环境变量配置格式见docker-compose.yml。 + 读取优先级:环境变量 > config_private.py > config.py + --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- + All the following configurations also support using environment variables to override, + and the environment variable configuration format can be seen in docker-compose.yml. + Configuration reading priority: environment variable > config_private.py > config.py +""" + +# [step 1-1]>> ( 接入GPT等模型 ) API_KEY = "sk-123456789xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx123456789"。极少数情况下,还需要填写组织(格式如org-123456789abcdefghijklmno的),请向下翻,找 API_ORG 设置项 API_KEY = "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" # 可同时填写多个API-KEY,用英文逗号分割,例如API_KEY = "sk-openaikey1,sk-openaikey2,fkxxxx-api2dkey1,fkxxxx-api2dkey2" + +# [step 1-2]>> ( 接入通义 qwen-max ) 接入通义千问在线大模型,api-key获取地址 https://dashscope.console.aliyun.com/ +DASHSCOPE_API_KEY = "" # 阿里灵积云API_KEY + +# [step 1-3]>> ( 接入 deepseek-reasoner, 即 deepseek-r1 ) 深度求索(DeepSeek) API KEY,默认请求地址为"https://api.deepseek.com/v1/chat/completions" +DEEPSEEK_API_KEY = "sk-d99b8cc6b7414cc88a5d950a3ff7585e" + +# [step 2]>> 改为True应用代理。如果使用本地或无地域限制的大模型时,此处不修改;如果直接在海外服务器部署,此处不修改 USE_PROXY = True if USE_PROXY: proxies = { @@ -9,63 +27,419 @@ else: proxies = None DEFAULT_WORKER_NUM = 256 +# [step 3]>> 模型选择是 (注意: LLM_MODEL是默认选中的模型, 它*必须*被包含在AVAIL_LLM_MODELS列表中 ) +LLM_MODEL = "gpt-3.5-turbo-16k" # 可选 ↓↓↓ +AVAIL_LLM_MODELS = ["qwen-max", "o1-mini", "o1-mini-2024-09-12", "o1", "o1-2024-12-17", "o1-preview", "o1-preview-2024-09-12", + "gpt-4-1106-preview", "gpt-4-turbo-preview", "gpt-4-vision-preview", + "gpt-4o", "gpt-4o-mini", "gpt-4-turbo", "gpt-4-turbo-2024-04-09", + "gpt-3.5-turbo-1106", "gpt-3.5-turbo-16k", "gpt-3.5-turbo", "azure-gpt-3.5", + "gpt-4", "gpt-4-32k", "azure-gpt-4", "glm-4", "glm-4v", "glm-3-turbo", + "gemini-1.5-pro", "chatglm3", "chatglm4", + "deepseek-chat", "deepseek-coder", "deepseek-reasoner" + ] -# [step 4]>> 以下配置可以优化体验,但大部分场合下并不需要修改 -# 对话窗的高度 +EMBEDDING_MODEL = "text-embedding-3-small" + +# --- --- --- --- +# P.S. 其他可用的模型还包括 +# AVAIL_LLM_MODELS = [ +# "glm-4-0520", "glm-4-air", "glm-4-airx", "glm-4-flash", +# "qianfan", "deepseekcoder", +# "spark", "sparkv2", "sparkv3", "sparkv3.5", "sparkv4", +# "qwen-turbo", "qwen-plus", "qwen-local", +# "moonshot-v1-128k", "moonshot-v1-32k", "moonshot-v1-8k", +# "gpt-3.5-turbo-0613", "gpt-3.5-turbo-16k-0613", "gpt-3.5-turbo-0125", "gpt-4o-2024-05-13" +# "claude-3-haiku-20240307","claude-3-sonnet-20240229","claude-3-opus-20240229", "claude-2.1", "claude-instant-1.2", +# "moss", "llama2", "chatglm_onnx", "internlm", "jittorllms_pangualpha", "jittorllms_llama", +# "deepseek-chat" ,"deepseek-coder", +# "gemini-1.5-flash", +# "yi-34b-chat-0205","yi-34b-chat-200k","yi-large","yi-medium","yi-spark","yi-large-turbo","yi-large-preview", +# "grok-beta", +# ] +# --- --- --- --- +# 此外,您还可以在接入one-api/vllm/ollama/Openroute时, +# 使用"one-api-*","vllm-*","ollama-*","openrouter-*"前缀直接使用非标准方式接入的模型,例如 +# 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"] +# --- --- --- --- + + +# --------------- 以下配置可以优化体验 --------------- + +# 重新URL重新定向,实现更换API_URL的作用(高危设置! 常规情况下不要修改! 通过修改此设置,您将把您的API-KEY和对话隐私完全暴露给您设定的中间人!) +# 格式: API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "在这里填写重定向的api.openai.com的URL"} +# 举例: API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "https://reverse-proxy-url/v1/chat/completions", "http://localhost:11434/api/chat": "在这里填写您ollama的URL"} +API_URL_REDIRECT = {} + + +# 多线程函数插件中,默认允许多少路线程同时访问OpenAI。Free trial users的限制是每分钟3次,Pay-as-you-go users的限制是每分钟3500次 +# 一言以蔽之:免费(5刀)用户填3,OpenAI绑了信用卡的用户可以填 16 或者更高。提高限制请查询:https://platform.openai.com/docs/guides/rate-limits/overview +DEFAULT_WORKER_NUM = 64 + + +# 色彩主题, 可选 ["Default", "Chuanhu-Small-and-Beautiful", "High-Contrast"] +# 更多主题, 请查阅Gradio主题商店: https://huggingface.co/spaces/gradio/theme-gallery 可选 ["Gstaff/Xkcd", "NoCrypt/Miku", ...] +THEME = "Default" +AVAIL_THEMES = ["Default", "Chuanhu-Small-and-Beautiful", "High-Contrast", "Gstaff/Xkcd", "NoCrypt/Miku"] + +FONT = "Theme-Default-Font" +AVAIL_FONTS = [ + "默认值(Theme-Default-Font)", + "宋体(SimSun)", + "黑体(SimHei)", + "楷体(KaiTi)", + "仿宋(FangSong)", + "华文细黑(STHeiti Light)", + "华文楷体(STKaiti)", + "华文仿宋(STFangsong)", + "华文宋体(STSong)", + "华文中宋(STZhongsong)", + "华文新魏(STXinwei)", + "华文隶书(STLiti)", + "思源宋体(Source Han Serif CN VF@https://chinese-fonts-cdn.deno.dev/packages/syst/dist/SourceHanSerifCN/result.css)", + "月星楷(Moon Stars Kai HW@https://chinese-fonts-cdn.deno.dev/packages/moon-stars-kai/dist/MoonStarsKaiHW-Regular/result.css)", + "珠圆体(MaokenZhuyuanTi@https://chinese-fonts-cdn.deno.dev/packages/mkzyt/dist/猫啃珠圆体/result.css)", + "平方萌萌哒(PING FANG MENG MNEG DA@https://chinese-fonts-cdn.deno.dev/packages/pfmmd/dist/平方萌萌哒/result.css)", + "Helvetica", + "ui-sans-serif", + "sans-serif", + "system-ui" +] + + +# 默认的系统提示词(system prompt) +INIT_SYS_PROMPT = "Serve me as a writing and programming assistant." + + +# 对话窗的高度 (仅在LAYOUT="TOP-DOWN"时生效) CHATBOT_HEIGHT = 1115 + # 代码高亮 CODE_HIGHLIGHT = True + # 窗口布局 -LAYOUT = "LEFT-RIGHT" # "LEFT-RIGHT"(左右布局) # "TOP-DOWN"(上下布局) -DARK_MODE = True # "LEFT-RIGHT"(左右布局) # "TOP-DOWN"(上下布局) +LAYOUT = "LEFT-RIGHT" # "LEFT-RIGHT"(左右布局) # "TOP-DOWN"(上下布局) + + +# 暗色模式 / 亮色模式 +DARK_MODE = True + # 发送请求到OpenAI后,等待多久判定为超时 -TIMEOUT_SECONDS = 20 +TIMEOUT_SECONDS = 30 + # 网页的端口, -1代表随机端口 WEB_PORT = 19998 -# 如果OpenAI不响应(网络卡顿、代理失败、KEY失效),重试的次数限制 -MAX_RETRY = 3 +# 是否自动打开浏览器页面 +AUTO_OPEN_BROWSER = True + + +# 如果OpenAI不响应(网络卡顿、代理失败、KEY失效),重试的次数限制 +MAX_RETRY = 2 + + +# 插件分类默认选项 +DEFAULT_FN_GROUPS = ['对话', '编程', '学术', '智能体'] + + +# 定义界面上“询问多个GPT模型”插件应该使用哪些模型,请从AVAIL_LLM_MODELS中选择,并在不同模型之间用`&`间隔,例如"gpt-3.5-turbo&chatglm3&azure-gpt-4" +MULTI_QUERY_LLM_MODELS = "gpt-3.5-turbo&chatglm3" + + +# 选择本地模型变体(只有当AVAIL_LLM_MODELS包含了对应本地模型时,才会起作用) +# 如果你选择Qwen系列的模型,那么请在下面的QWEN_MODEL_SELECTION中指定具体的模型 +# 也可以是具体的模型路径 +QWEN_LOCAL_MODEL_SELECTION = "Qwen/Qwen-1_8B-Chat-Int8" + + +# 百度千帆(LLM_MODEL="qianfan") +BAIDU_CLOUD_API_KEY = '' +BAIDU_CLOUD_SECRET_KEY = '' +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" + + +# 如果使用ChatGLM3或ChatGLM4本地模型,请把 LLM_MODEL="chatglm3" 或LLM_MODEL="chatglm4",并在此处指定模型路径 +CHATGLM_LOCAL_MODEL_PATH = "THUDM/glm-4-9b-chat" # 例如"/home/hmp/ChatGLM3-6B/" + +# 如果使用ChatGLM2微调模型,请把 LLM_MODEL="chatglmft",并在此处指定模型路径 +CHATGLM_PTUNING_CHECKPOINT = "" # 例如"/home/hmp/ChatGLM2-6B/ptuning/output/6b-pt-128-1e-2/checkpoint-100" -# 模型选择是 (注意: LLM_MODEL是默认选中的模型, 同时它必须被包含在AVAIL_LLM_MODELS切换列表中 ) -LLM_MODEL = "gpt-4" # 可选 ↓↓↓ -AVAIL_LLM_MODELS = ["gpt-3.5-turbo", "api2d-gpt-3.5-turbo", "gpt-4", "api2d-gpt-4", "chatglm", "moss", "newbing", "newbing-free", "stack-claude"] -# P.S. 其他可用的模型还包括 ["newbing-free", "jittorllms_rwkv", "jittorllms_pangualpha", "jittorllms_llama"] # 本地LLM模型如ChatGLM的执行方式 CPU/GPU LOCAL_MODEL_DEVICE = "cpu" # 可选 "cuda" +LOCAL_MODEL_QUANT = "FP16" # 默认 "FP16" "INT4" 启用量化INT4版本 "INT8" 启用量化INT8版本 + # 设置gradio的并行线程数(不需要修改) CONCURRENT_COUNT = 100 -# 加一个live2d装饰 -ADD_WAIFU = True +# 是否在提交时自动清空输入框 +AUTO_CLEAR_TXT = False + + +# 加一个live2d装饰 +ADD_WAIFU = False + # 设置用户名和密码(不需要修改)(相关功能不稳定,与gradio版本和网络都相关,如果本地使用不建议加这个) # [("username", "password"), ("username2", "password2"), ...] AUTHENTICATION = [("van", "L807878712"),("林", "L807878712"),("源", "L807878712"),("欣", "L807878712"),("z", "czh123456789")] -# 重新URL重新定向,实现更换API_URL的作用(常规情况下,不要修改!!) -# (高危设置!通过修改此设置,您将把您的API-KEY和对话隐私完全暴露给您设定的中间人!) -# 格式 {"https://api.openai.com/v1/chat/completions": "在这里填写重定向的api.openai.com的URL"} -# 例如 API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "https://ai.open.com/api/conversation"} -API_URL_REDIRECT = {} -# 如果需要在二级路径下运行(常规情况下,不要修改!!)(需要配合修改main.py才能生效!) + +# 如果需要在二级路径下运行(常规情况下,不要修改!!) +# (举例 CUSTOM_PATH = "/gpt_academic",可以让软件运行在 http://ip:port/gpt_academic/ 下。) CUSTOM_PATH = "/" -# 如果需要使用newbing,把newbing的长长的cookie放到这里 -NEWBING_STYLE = "creative" # ["creative", "balanced", "precise"] -# 从现在起,如果您调用"newbing-free"模型,则无需填写NEWBING_COOKIES -NEWBING_COOKIES = """ -your bing cookies here -""" -# 如果需要使用Slack Claude,使用教程详情见 request_llm/README.md +# HTTPS 秘钥和证书(不需要修改) +SSL_KEYFILE = "" +SSL_CERTFILE = "" + + +# 极少数情况下,openai的官方KEY需要伴随组织编码(格式如org-xxxxxxxxxxxxxxxxxxxxxxxx)使用 +API_ORG = "" + + +# 如果需要使用Slack Claude,使用教程详情见 request_llms/README.md SLACK_CLAUDE_BOT_ID = '' SLACK_CLAUDE_USER_TOKEN = '' +# 如果需要使用AZURE(方法一:单个azure模型部署)详情请见额外文档 docs\use_azure.md +AZURE_ENDPOINT = "https://你亲手写的api名称.openai.azure.com/" +AZURE_API_KEY = "填入azure openai api的密钥" # 建议直接在API_KEY处填写,该选项即将被弃用 +AZURE_ENGINE = "填入你亲手写的部署名" # 读 docs\use_azure.md + + +# 如果需要使用AZURE(方法二:多个azure模型部署+动态切换)详情请见额外文档 docs\use_azure.md +AZURE_CFG_ARRAY = {} + + +# 阿里云实时语音识别 配置难度较高 +# 参考 https://github.com/binary-husky/gpt_academic/blob/master/docs/use_audio.md +ENABLE_AUDIO = False +ALIYUN_TOKEN="" # 例如 f37f30e0f9934c34a992f6f64f7eba4f +ALIYUN_APPKEY="" # 例如 RoPlZrM88DnAFkZK +ALIYUN_ACCESSKEY="" # (无需填写) +ALIYUN_SECRET="" # (无需填写) + + +# GPT-SOVITS 文本转语音服务的运行地址(将语言模型的生成文本朗读出来) +TTS_TYPE = "EDGE_TTS" # EDGE_TTS / LOCAL_SOVITS_API / DISABLE +GPT_SOVITS_URL = "" +EDGE_TTS_VOICE = "zh-CN-XiaoxiaoNeural" + + +# 接入讯飞星火大模型 https://console.xfyun.cn/services/iat +XFYUN_APPID = "00000000" +XFYUN_API_SECRET = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" +XFYUN_API_KEY = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + + +# 接入智谱大模型 +ZHIPUAI_API_KEY = "" +ZHIPUAI_MODEL = "" # 此选项已废弃,不再需要填写 + + +# Claude API KEY +ANTHROPIC_API_KEY = "" + + +# 月之暗面 API KEY +MOONSHOT_API_KEY = "" + + +# 零一万物(Yi Model) API KEY +YIMODEL_API_KEY = "" + + +# 紫东太初大模型 https://ai-maas.wair.ac.cn +TAICHU_API_KEY = "" + +# Grok API KEY +GROK_API_KEY = "" + +# Mathpix 拥有执行PDF的OCR功能,但是需要注册账号 +MATHPIX_APPID = "" +MATHPIX_APPKEY = "" + + +# DOC2X的PDF解析服务,注册账号并获取API KEY: https://doc2x.noedgeai.com/login +DOC2X_API_KEY = "" + + +# 自定义API KEY格式 +CUSTOM_API_KEY_PATTERN = "" + + +# Google Gemini API-Key +GEMINI_API_KEY = '' + + +# HUGGINGFACE的TOKEN,下载LLAMA时起作用 https://huggingface.co/docs/hub/security-tokens +HUGGINGFACE_ACCESS_TOKEN = "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" + + +# GROBID服务器地址(填写多个可以均衡负载),用于高质量地读取PDF文档 +# 获取方法:复制以下空间https://huggingface.co/spaces/qingxu98/grobid,设为public,然后GROBID_URL = "https://(你的hf用户名如qingxu98)-(你的填写的空间名如grobid).hf.space" +GROBID_URLS = [ + "https://qingxu98-grobid.hf.space","https://qingxu98-grobid2.hf.space","https://qingxu98-grobid3.hf.space", + "https://qingxu98-grobid4.hf.space","https://qingxu98-grobid5.hf.space", "https://qingxu98-grobid6.hf.space", + "https://qingxu98-grobid7.hf.space", "https://qingxu98-grobid8.hf.space", +] + + +# Searxng互联网检索服务(这是一个huggingface空间,请前往huggingface复制该空间,然后把自己新的空间地址填在这里) +SEARXNG_URLS = [ f"https://kaletianlre-beardvs{i}dd.hf.space/" for i in range(1,5) ] + + +# 是否允许通过自然语言描述修改本页的配置,该功能具有一定的危险性,默认关闭 +ALLOW_RESET_CONFIG = False + + +# 在使用AutoGen插件时,是否使用Docker容器运行代码 +AUTOGEN_USE_DOCKER = False + + +# 临时的上传文件夹位置,请尽量不要修改 +PATH_PRIVATE_UPLOAD = "private_upload" + + +# 日志文件夹的位置,请尽量不要修改 +PATH_LOGGING = "gpt_log" + + +# 存储翻译好的arxiv论文的路径,请尽量不要修改 +ARXIV_CACHE_DIR = "gpt_log/arxiv_cache" + + +# 除了连接OpenAI之外,还有哪些场合允许使用代理,请尽量不要修改 +WHEN_TO_USE_PROXY = ["Connect_OpenAI", "Download_LLM", "Download_Gradio_Theme", "Connect_Grobid", + "Warmup_Modules", "Nougat_Download", "AutoGen", "Connect_OpenAI_Embedding"] + + +# 启用插件热加载 +PLUGIN_HOT_RELOAD = False + + +# 自定义按钮的最大数量限制 +NUM_CUSTOM_BASIC_BTN = 4 + + +# 媒体智能体的服务地址(这是一个huggingface空间,请前往huggingface复制该空间,然后把自己新的空间地址填在这里) +DAAS_SERVER_URLS = [ f"https://niuziniu-biligpt{i}.hf.space/stream" for i in range(1,5) ] + + + +""" +--------------- 配置关联关系说明 --------------- + +在线大模型配置关联关系示意图 +│ +├── "gpt-3.5-turbo" 等openai模型 +│ ├── API_KEY +│ ├── CUSTOM_API_KEY_PATTERN(不常用) +│ ├── API_ORG(不常用) +│ └── API_URL_REDIRECT(不常用) +│ +├── "azure-gpt-3.5" 等azure模型(单个azure模型,不需要动态切换) +│ ├── API_KEY +│ ├── AZURE_ENDPOINT +│ ├── AZURE_API_KEY +│ ├── AZURE_ENGINE +│ └── API_URL_REDIRECT +│ +├── "azure-gpt-3.5" 等azure模型(多个azure模型,需要动态切换,高优先级) +│ └── AZURE_CFG_ARRAY +│ +├── "spark" 星火认知大模型 spark & sparkv2 +│ ├── XFYUN_APPID +│ ├── XFYUN_API_SECRET +│ └── XFYUN_API_KEY +│ +├── "claude-3-opus-20240229" 等claude模型 +│ └── ANTHROPIC_API_KEY +│ +├── "stack-claude" +│ ├── SLACK_CLAUDE_BOT_ID +│ └── SLACK_CLAUDE_USER_TOKEN +│ +├── "qianfan" 百度千帆大模型库 +│ ├── BAIDU_CLOUD_QIANFAN_MODEL +│ ├── BAIDU_CLOUD_API_KEY +│ └── BAIDU_CLOUD_SECRET_KEY +│ +├── "glm-4", "glm-3-turbo", "zhipuai" 智谱AI大模型 +│ └── ZHIPUAI_API_KEY +│ +├── "yi-34b-chat-0205", "yi-34b-chat-200k" 等零一万物(Yi Model)大模型 +│ └── YIMODEL_API_KEY +│ +├── "qwen-turbo" 等通义千问大模型 +│ └── DASHSCOPE_API_KEY +│ +├── "Gemini" +│ └── GEMINI_API_KEY +│ +└── "one-api-...(max_token=...)" 用一种更方便的方式接入one-api多模型管理界面 + ├── AVAIL_LLM_MODELS + ├── API_KEY + └── API_URL_REDIRECT + + +本地大模型示意图 +│ +├── "chatglm4" +├── "chatglm3" +├── "chatglm" +├── "chatglm_onnx" +├── "chatglmft" +├── "internlm" +├── "moss" +├── "jittorllms_pangualpha" +├── "jittorllms_llama" +├── "deepseekcoder" +├── "qwen-local" +├── RWKV的支持见Wiki +└── "llama2" + + +用户图形界面布局依赖关系示意图 +│ +├── CHATBOT_HEIGHT 对话窗的高度 +├── CODE_HIGHLIGHT 代码高亮 +├── LAYOUT 窗口布局 +├── DARK_MODE 暗色模式 / 亮色模式 +├── DEFAULT_FN_GROUPS 插件分类默认选项 +├── THEME 色彩主题 +├── AUTO_CLEAR_TXT 是否在提交时自动清空输入框 +├── ADD_WAIFU 加一个live2d装饰 +└── ALLOW_RESET_CONFIG 是否允许通过自然语言描述修改本页的配置,该功能具有一定的危险性 + + +插件在线服务配置依赖关系示意图 +│ +├── 互联网检索 +│ └── SEARXNG_URLS +│ +├── 语音功能 +│ ├── ENABLE_AUDIO +│ ├── ALIYUN_TOKEN +│ ├── ALIYUN_APPKEY +│ ├── ALIYUN_ACCESSKEY +│ └── ALIYUN_SECRET +│ +└── PDF文档精准解析 + ├── GROBID_URLS + ├── MATHPIX_APPID + └── MATHPIX_APPKEY + + +""" + + + From a552592b5a3adc790b6cb311851620b1e324a764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E6=AC=A7=EF=BC=88=E6=9E=97=E5=B9=B3=E5=87=A1?= =?UTF-8?q?=EF=BC=89?= Date: Thu, 6 Feb 2025 10:32:13 +0800 Subject: [PATCH 4/8] 1 --- config_private.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config_private.py b/config_private.py index 2a1c98a9..d424cedf 100644 --- a/config_private.py +++ b/config_private.py @@ -28,7 +28,7 @@ else: DEFAULT_WORKER_NUM = 256 # [step 3]>> 模型选择是 (注意: LLM_MODEL是默认选中的模型, 它*必须*被包含在AVAIL_LLM_MODELS列表中 ) -LLM_MODEL = "gpt-3.5-turbo-16k" # 可选 ↓↓↓ +LLM_MODEL = "gpt-4-32k" # 可选 ↓↓↓ AVAIL_LLM_MODELS = ["qwen-max", "o1-mini", "o1-mini-2024-09-12", "o1", "o1-2024-12-17", "o1-preview", "o1-preview-2024-09-12", "gpt-4-1106-preview", "gpt-4-turbo-preview", "gpt-4-vision-preview", "gpt-4o", "gpt-4o-mini", "gpt-4-turbo", "gpt-4-turbo-2024-04-09", From 95284d859b2649b5322c8c3c53ee3127b4192eab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E6=AC=A7=EF=BC=88=E6=9E=97=E5=B9=B3=E5=87=A1?= =?UTF-8?q?=EF=BC=89?= Date: Thu, 6 Feb 2025 10:46:46 +0800 Subject: [PATCH 5/8] 1 --- config_private.py | 3 +-- main.py | 9 +++------ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/config_private.py b/config_private.py index d424cedf..63702f89 100644 --- a/config_private.py +++ b/config_private.py @@ -29,13 +29,12 @@ DEFAULT_WORKER_NUM = 256 # [step 3]>> 模型选择是 (注意: LLM_MODEL是默认选中的模型, 它*必须*被包含在AVAIL_LLM_MODELS列表中 ) LLM_MODEL = "gpt-4-32k" # 可选 ↓↓↓ -AVAIL_LLM_MODELS = ["qwen-max", "o1-mini", "o1-mini-2024-09-12", "o1", "o1-2024-12-17", "o1-preview", "o1-preview-2024-09-12", +AVAIL_LLM_MODELS = ["deepseek-chat", "deepseek-coder", "deepseek-reasoner", "gpt-4-1106-preview", "gpt-4-turbo-preview", "gpt-4-vision-preview", "gpt-4o", "gpt-4o-mini", "gpt-4-turbo", "gpt-4-turbo-2024-04-09", "gpt-3.5-turbo-1106", "gpt-3.5-turbo-16k", "gpt-3.5-turbo", "azure-gpt-3.5", "gpt-4", "gpt-4-32k", "azure-gpt-4", "glm-4", "glm-4v", "glm-3-turbo", "gemini-1.5-pro", "chatglm3", "chatglm4", - "deepseek-chat", "deepseek-coder", "deepseek-reasoner" ] EMBEDDING_MODEL = "text-embedding-3-small" diff --git a/main.py b/main.py index 310fa6a3..a64918e9 100644 --- a/main.py +++ b/main.py @@ -1,10 +1,7 @@ import os; os.environ['no_proxy'] = '*' # 避免代理网络产生意外污染 help_menu_description = \ -"""Github源代码开源和更新[地址🚀](https://github.com/binary-husky/gpt_academic), -感谢热情的[开发者们❤️](https://github.com/binary-husky/gpt_academic/graphs/contributors). -

常见问题请查阅[项目Wiki](https://github.com/binary-husky/gpt_academic/wiki), -如遇到Bug请前往[Bug反馈](https://github.com/binary-husky/gpt_academic/issues). +"""

普通对话使用说明: 1. 输入问题; 2. 点击提交

基础功能区使用说明: 1. 输入文本; 2. 点击任意基础功能区按钮

函数插件区使用说明: 1. 输入路径/问题, 或者上传文件; 2. 点击任意函数插件区按钮 @@ -184,7 +181,7 @@ def main(): from themes.gui_floating_menu import define_gui_floating_menu area_input_secondary, txt2, area_customize, _, resetBtn2, clearBtn2, stopBtn2 = \ define_gui_floating_menu(customize_btns, functional, predefined_btns, cookies, web_cookie_cache) - + # 浮动时间线定义 gr.Spark() @@ -217,7 +214,7 @@ def main(): input_combo_order = ["cookies", "max_length_sl", "md_dropdown", "txt", "txt2", "top_p", "temperature", "chatbot", "history", "system_prompt", "plugin_advanced_arg"] output_combo = [cookies, chatbot, history, status] predict_args = dict(fn=ArgsGeneralWrapper(predict), inputs=[*input_combo, gr.State(True)], outputs=output_combo) - + # 提交按钮、重置按钮 multiplex_submit_btn.click( None, [multiplex_sel], None, _js="""(multiplex_sel)=>multiplex_function_begin(multiplex_sel)""") From b34c79a94bb893c4e2a93e2ef67fa5f5a8e9a8a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E6=AC=A7=EF=BC=88=E6=9E=97=E5=B9=B3=E5=87=A1?= =?UTF-8?q?=EF=BC=89?= Date: Fri, 7 Feb 2025 11:17:38 +0800 Subject: [PATCH 6/8] 1 --- config_private.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config_private.py b/config_private.py index 63702f89..dda2afc0 100644 --- a/config_private.py +++ b/config_private.py @@ -126,7 +126,7 @@ DARK_MODE = True # 发送请求到OpenAI后,等待多久判定为超时 -TIMEOUT_SECONDS = 30 +TIMEOUT_SECONDS = 60 # 网页的端口, -1代表随机端口 @@ -137,7 +137,7 @@ AUTO_OPEN_BROWSER = True # 如果OpenAI不响应(网络卡顿、代理失败、KEY失效),重试的次数限制 -MAX_RETRY = 2 +MAX_RETRY = 5 # 插件分类默认选项 From e9de41b7e8831c554a95015c94007b5b39c1dd5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E6=AC=A7=EF=BC=88=E6=9E=97=E5=B9=B3=E5=87=A1?= =?UTF-8?q?=EF=BC=89?= Date: Fri, 7 Feb 2025 11:21:24 +0800 Subject: [PATCH 7/8] 1 --- config_private.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config_private.py b/config_private.py index dda2afc0..5a0d066b 100644 --- a/config_private.py +++ b/config_private.py @@ -228,7 +228,7 @@ ALIYUN_SECRET="" # (无需填写) # GPT-SOVITS 文本转语音服务的运行地址(将语言模型的生成文本朗读出来) -TTS_TYPE = "EDGE_TTS" # EDGE_TTS / LOCAL_SOVITS_API / DISABLE +TTS_TYPE = "DISABLE" # EDGE_TTS / LOCAL_SOVITS_API / DISABLE GPT_SOVITS_URL = "" EDGE_TTS_VOICE = "zh-CN-XiaoxiaoNeural" From ee34f13307e3d68160c9ecb0126da097eb54fef5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E6=AC=A7=EF=BC=88=E6=9E=97=E5=B9=B3=E5=87=A1?= =?UTF-8?q?=EF=BC=89?= Date: Fri, 8 Aug 2025 17:59:21 +0800 Subject: [PATCH 8/8] 1 --- config_private.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config_private.py b/config_private.py index 5a0d066b..88eab22f 100644 --- a/config_private.py +++ b/config_private.py @@ -106,7 +106,7 @@ AVAIL_FONTS = [ # 默认的系统提示词(system prompt) -INIT_SYS_PROMPT = "Serve me as a writing and programming assistant." +INIT_SYS_PROMPT = " " # 对话窗的高度 (仅在LAYOUT="TOP-DOWN"时生效)