提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- GPT 学术优化 (GPT Academic)
- 前言
- 一、项目简介
- 二、功能简介
- 安装方法
- 项目配置说明
- - 接入微软Azure云服务
- - 第三方API‐KEY接入指南
- (通过修改config.py或config_private.py)
- (通过修改docker-compose.yml)
- (通过修改config.py或config_private.py)
- (通过修改config.py或config_private.py)
- (通过修改docker-compose.yml)
- (通过修改docker-compose.yml)
- 获取——
- [点击下载-直接运行 (Windows, Linux or MacOS)安装包](https://drive.uc.cn/s/b252e07280be4?public=1)
- installation直接运行说明
GPT 学术优化 (GPT Academic)
前言
`在校生毕设、高校教师科研单位搞学术科研,都会涉及到对数据、文字的润色、调整……
面对这些耗时耗力的工作,有没有更好的解决办法?
在AI的加持下,目前已经有了一个好消息——
一、项目简介
为GPT/GLM等LLM大语言模型提供实用化交互接口,特别优化论文阅读/润色/写作体验,模块化设计,支持自定义快捷按钮&函数插件,支持Python和C++等项目剖析&自译解功能,PDF/LaTex论文翻译&总结功能,支持并行问询多种LLM模型,支持chatglm3等本地模型。接入通义千问, deepseekcoder, 讯飞星火, 文心一言, llama2, rwkv, claude2, moss等。
作为一个开源项目,你可以下载后自行部署,也可以使用开发者提供的在线版本
二、功能简介
1.引入库
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.读入数据
-
新界面(修改config.py中的LAYOUT选项即可实现“左右布局”和“上下布局”的切换)
-
所有按钮都通过读取functional.py动态生成,可随意加自定义功能,解放剪贴板
-
润色/纠错
-
不想看项目代码?直接把整个工程炫ChatGPT嘴里
-
多种大语言模型混合调用(ChatGLM + OpenAI-GPT3.5 + GPT4)
安装方法
- 1:直接运行 (Windows, Linux or MacOS)文末附安装文件
- 2:使用Docker
部署项目的全部能力(这个是包含cuda和latex的大型镜像。但如果您网速慢、硬盘小,则不推荐该方法部署完整项目)
# 修改docker-compose.yml,保留方案0并删除其他方案。然后运行:
docker-compose up
仅ChatGPT + GLM4 + 文心一言+spark等在线模型(推荐大多数人选择) basic basiclatex
basicaudio
# 修改docker-compose.yml,保留方案1并删除其他方案。然后运行:
docker-compose up
P.S. 如果需要依赖Latex的插件功能,请见Wiki。另外,您也可以直接使用方案4或者方案0获取Latex功能。
ChatGPT + GLM3 + MOSS + LLAMA2 + 通义千问(需要熟悉Nvidia Docker运行时)
# 修改docker-compose.yml,保留方案2并删除其他方案。然后运行:
docker-compose up
-
3:其他部署方法
1、Windows一键运行脚本。 完全不熟悉python环境的Windows用户可以下载Release中发布的一键运行脚本安装无本地模型的版本。脚本贡献来源:oobabooga。2、使用第三方API、Azure等、文心一言、星火等,见Wiki页面
3、云服务器远程部署避坑指南。 请访问云服务器远程部署wiki
4、在其他平台部署&二级网址部署
- 使用Sealos一键部署。
- 使用WSL2(Windows Subsystem for Linux 子系统)。请访问部署wiki-2
- 如何在二级网址(如http://localhost/subpath)下运行。请访问FastAPI运行说明
项目配置说明
1 配置说明
A["请使用且仅使用一种方法配置本项目"]
A --> D["(最最高优先级)修改环境变量"]
D --> F["Python/Anaconda直接运行:通过当前终端环境的环境变量"]
F --> F2["Linux下使用export命令"]
F --> F1["Windows下使用set命令"]
D --> E["Docker运行:修改docker-compose.yml(等价于修改容器内部的环境变量)"]
A --> C["(高优先级)创建并修改config_private.py"]
A --> B["(低优先级)直接修改config.py"]
本项目的所有配置都集中在config.py中。 修改配置有三种方法,您只需要选择其中一种即可,不建议同时使用多种配置方法:
- 直接修改config.py
- 创建并修改config_private.py
- 修改环境变量(修改docker-compose.yml等价于修改容器内部的环境变量)
注意:如果您使用docker-compose部署,请修改docker-compose(等价于修改容器内部的环境变量)
2、读取优先级说明
配置读取优先级:环境变量 > config_private.py > config.py
如果遇到配置无效的情况,必然是因为低优先级的配置被高优先级的配置覆盖而导致的。
3、关于config_private.py说明
程序运行时会优先检查是否存在名为config_private.py的私密配置文件,并用其中的配置覆盖config.py的同名配置。
因此,如果您能理解我们的配置读取逻辑,我们强烈建议您在config.py旁边创建一个名为config_private.py的新配置文件,并把config.py中的配置转移(复制)到config_private.py中(仅复制您修改过的配置条目即可)。
4、环境变量格式说明
环境变量具有最高的读取优先级。
环境变量遵从python的语法规范,例如AVAIL_LLM_MODELS这个环境变量,它在config中的定义是:
AVAIL_LLM_MODELS=[“model-1”, “model-2”]
那么,
在ubuntu环境下,设定该环境变量的bash命令是:
export AVAIL_LLM_MODELS=‘[“model-1”,“model-2”]’
在ubuntu环境下,设定环境变量之后,通过echo $AVAIL_LLM_MODELS检查环境变量是否设置成功。
在docker-compose中,设定该环境变量的命令是:
environment:
AVAIL_LLM_MODELS: ‘[“model-1”,“model-2”]’
如果您觉得这还不够清楚,可以直接参考我们的docker-compose文件:
https://github.com/binary-husky/gpt_academic/blob/master/docker-compose.yml
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-1-100k" 等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
│
├── "zhipuai" 智谱AI大模型chatglm_turbo
│ ├── ZHIPUAI_API_KEY
│ └── ZHIPUAI_MODEL
│
└── "newbing" Newbing接口不再稳定,不推荐使用
├── NEWBING_STYLE
└── NEWBING_COOKIES
6、用户图形界面布局依赖关系示意图
用户图形界面布局依赖关系示意图
│
├── CHATBOT_HEIGHT 对话窗的高度
├── CODE_HIGHLIGHT 代码高亮
├── LAYOUT 窗口布局
├── DARK_MODE 暗色模式 / 亮色模式
├── DEFAULT_FN_GROUPS 插件分类默认选项
├── THEME 色彩主题
├── AUTO_CLEAR_TXT 是否在提交时自动清空输入框
├── ADD_WAIFU 加一个live2d装饰
├── ALLOW_RESET_CONFIG 是否允许通过自然语言描述修改本页的配置,该功能具有一定的危险性
7 插件在线服务配置依赖关系示意图
插件在线服务配置依赖关系示意图
│
├── 语音功能
│ ├── ENABLE_AUDIO
│ ├── ALIYUN_TOKEN
│ ├── ALIYUN_APPKEY
│ ├── ALIYUN_ACCESSKEY
│ └── ALIYUN_SECRET
│
├── PDF文档精准解析
│ └── GROBID_URLS
8 具体配置说明
API_KEY
API_KEY = “sk-123456789xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx123456789”。
极少数情况下,还需要填写组织(格式如org-123456789abcdefghijklmno的),请向下翻,找 API_ORG 设置项,可同时填写多个API-KEY,用英文逗号分割,例如API_KEY = “sk-openaikey1,sk-openaikey2,fkxxxx-api2dkey3,azure-apikey4”
P.S. 有些官方key是API_KEY = “sess-wg61ZafYHpNz7FFwIH7HGZlbVqUVaeV5tatHCWpl"格式的 这样的APIKEY可以通过修改CUSTOM_API_KEY_PATTERN实现兼容: CUSTOM_API_KEY_PATTERN = r"sess-[a-zA-Z0-9]{40}”
- 接入微软Azure云服务
- 方法一(旧方法,只能接入一个Azure模型)
通过以下教程,获取AZURE_ENDPOINT,AZURE_API_KEY,AZURE_ENGINE,直接修改 config 配置即可。配置的修改方法见本项目wiki。
方法二(新方法,接入多个Azure模型,并支持动态切换)
在方法一的基础上,注册并获取多组 AZURE_ENDPOINT,AZURE_API_KEY,AZURE_ENGINE
修改config中的AZURE_CFG_ARRAY和AVAIL_LLM_MODELS配置项,按照格式填入多个Azure模型的配置,如下所示:
AZURE_CFG_ARRAY = {
"azure-gpt-3.5": # 第一个模型,azure模型必须以"azure-"开头,注意您还需要将"azure-gpt-3.5"加入AVAIL_LLM_MODELS(模型下拉菜单)
{
"AZURE_ENDPOINT": "https://你亲手写的api名称.openai.azure.com/",
"AZURE_API_KEY": "cccccccccccccccccccccccccccccccc",
"AZURE_ENGINE": "填入你亲手写的部署名1",
"AZURE_MODEL_MAX_TOKEN": 4096,
},
"azure-gpt-4": # 第二个模型,azure模型必须以"azure-"开头,注意您还需要将"azure-gpt-4"加入AVAIL_LLM_MODELS(模型下拉菜单)
{
"AZURE_ENDPOINT": "https://你亲手写的api名称.openai.azure.com/",
"AZURE_API_KEY": "dddddddddddddddddddddddddddddddd",
"AZURE_ENGINE": "填入你亲手写的部署名2",
"AZURE_MODEL_MAX_TOKEN": 8192,
},
"azure-gpt-3.5-16k": # 第三个模型,azure模型必须以"azure-"开头,注意您还需要将"azure-gpt-3.5-16k"加入AVAIL_LLM_MODELS(模型下拉菜单)
{
"AZURE_ENDPOINT": "https://你亲手写的api名称.openai.azure.com/",
"AZURE_API_KEY": "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"AZURE_ENGINE": "填入你亲手写的部署名3",
"AZURE_MODEL_MAX_TOKEN": 16384,
},
}
通过微软Azure云服务申请 Openai API
由于Openai和微软的关系,现在是可以通过微软的Azure云计算服务直接访问openai的api,免去了注册和网络的问题。
快速入门的官方文档的链接是:快速入门 - 开始通过 Azure OpenAI 服务使用 ChatGPT 和 GPT-4 - Azure OpenAI Service | Microsoft Learn
申请API
按文档中的“先决条件”的介绍,出了编程的环境以外,还需要以下三个条件:
-
Azure账号并创建订阅
-
为订阅添加Azure OpenAI 服务
-
部署模型
Azure账号并创建订阅
Azure账号
创建Azure的账号时最好是有微软的账号,这样似乎更容易获得免费额度(第一个月的200美元,实测了一下,如果用一个刚注册的微软账号登录Azure的话,并没有这一个月的免费额度)。
创建Azure账号的网址是:立即创建 Azure 免费帐户 | Microsoft Azure
打开网页后,点击 “免费开始使用” 会跳转到登录或注册页面,如果有微软的账户,直接登录即可,如果没有微软账户,那就需要到微软的网页再另行注册一个。
注意,Azure的页面和政策时不时会变化,已实际最新显示的为准就好。
创建订阅
注册好Azure后便可进入主页:
首先需要在订阅里进行添加操作,点开后即可进入订阅的页面:
第一次进来应该是空的,点添加即可创建新的订阅(可以是“免费”或者“即付即用”的订阅),其中订阅ID是后面申请Azure OpenAI需要使用的。
为订阅添加Azure OpenAI服务
之后回到首页,点Azure OpenAI即可进入OpenAI服务的页面(如果不显示的话,则在首页上方的搜索栏里搜索“openai”即可)。
不过现在这个服务还不能用。在使用前,还需要在这个网址申请一下:
Request Access to Azure OpenAI Service (microsoft.com)
这里有二十来个问题,按照要求和自己的实际情况填写即可。
其中需要注意的是
-
千万记得填对"订阅ID"
-
需要填一个公司邮箱(可以不是注册用的邮箱)和公司网址
之后,在回到上面那个页面,点创建,就会进入创建页面了:
需要填入“资源组”和“名称”,按照自己的需要填入即可。
完成后,在主页的“资源”里就可以看到刚才创建的“资源”了,点击进入后,就可以进行最后的部署了。
部署模型
进入资源页面后,在部署模型前,可以先点击“开发”,把密钥和终结点记下来。
之后,就可以去部署模型了,点击“部署”即可,会跳转到 Azure OpenAI Stuido 进行下面的操作:
进入 Azure OpenAi Studio 后,点击新建部署,会弹出如下对话框:
在这里选 gpt-35-turbo 或需要的模型并按需要填入“部署名”即可完成模型的部署。
这个部署名需要记下来。
到现在为止,申请操作就完成了,需要记下来的有下面几个东西:
● 密钥(对应AZURE_API_KEY,1或2都可以)
● 终结点 (对应AZURE_ENDPOINT)
● 部署名(对应AZURE_ENGINE,不是模型名)
修改 config.py
LLM_MODEL = "azure-gpt-3.5" # 指定启动时的默认模型,当然事后从下拉菜单选也ok
AZURE_ENDPOINT = "填入终结点" # 见上述图片
AZURE_API_KEY = "填入azure openai api的密钥"
AZURE_API_VERSION = "2023-05-15" # 默认使用 2023-05-15 版本,无需修改
AZURE_ENGINE = "填入部署名" # 见上述图片
API_KEY = '6424e9d19e674092815cea1cb35e67a5'
AZURE_ENDPOINT = 'https://rhtjjjjjj.openai.azure.com/'
AZURE_ENGINE = 'qqwe'
LLM_MODEL = "azure-gpt-3.5" # 可选 ↓↓↓
关于费用
Azure OpenAI API 还是需要一些费用的(免费订阅只有1个月有效期)
具体可以可以看这个网址 :Azure OpenAI 服务 - 定价| Microsoft Azure
并非网上说的什么“一年白嫖”,但注册方法以及网络问题都比直接使用openai的api要简单一些。
- 第三方API‐KEY接入指南
高危设置! 常规情况下不要修改!
通过修改以下设置,您将把您的API-KEY和对话隐私完全暴露给您设定的中间人!
如果您不理解其中的风险,请不要修改!
一、格式解释
- 如果api-key符合官方格式或azure格式
解释:apikey满足openai或者azure官方格式
修改config.py或config_private.py
(通过修改config.py或config_private.py)
LLM_MODEL = "gpt-3.5-turbo"
API_KEY = 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions":"https://xxxx.yyyy.zzzz/v1/chat/completions"}
极少数情况下,openai的官方KEY需要伴随组织编码(格式如org-xxxxxxxxxxxxxxxxxxxxxxxx)使用
API_ORG = ""
或者修改docker-compose.yml
(通过修改docker-compose.yml)
version: '3'
services:
gpt_academic_full_capability:
image: ghcr.io/binary-husky/gpt_academic_with_all_capacity:master
environment:
# 请查阅 `config.py`或者 github wiki 以查看所有的配置信息
LLM_MODEL: 'gpt-3.5-turbo'
API_KEY: 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
API_URL_REDIRECT: '{"https://api.openai.com/v1/chat/completions": "https://xxxx.yyyy.zzzz/v1/chat/completions"}'
API_ORG: ''
有些官方key是API_KEY = "sess-wg61ZafYHpNz7FFwIH7HGZlbVqUVaeV5tatHCWpl"格式的, 这样的APIKEY可以通过修改CUSTOM_API_KEY_PATTERN实现兼容:
(通过修改config.py或config_private.py)
LLM_MODEL = "gpt-3.5-turbo"
API_KEY = 'sess-wg61ZafYHpNz7FFwIH7HGZlbVqUVaeV5tatHCWpl'
CUSTOM_API_KEY_PATTERN = r"sess-[a-zA-Z0-9]{40}"
API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions":"https://xxxx.yyyy.zzzz/v1/chat/completions"}
2. 如果api-key不符合官方格式(或者openai推出了新的密钥格式)
解释:apikey不满足官方格式或azure格式
(通过修改config.py或config_private.py)
LLM_MODEL = "gpt-3.5-turbo"
API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
CUSTOM_API_KEY_PATTERN = "用于匹配异形APIKEY的正则表达式"
API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions":"https://xxxx.yyyy.zzzz/v1/chat/completions"}
(通过修改docker-compose.yml)
version: '3'
services:
gpt_academic_full_capability:
image: ghcr.io/binary-husky/gpt_academic_with_all_capacity:master
environment:
# 请查阅 `config.py`或者 github wiki 以查看所有的配置信息
LLM_MODEL: 'gpt-3.5-turbo'
API_KEY: 'abcdefg-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
CUSTOM_API_KEY_PATTERN: 'your_regex_expression__or__simply_repeat_your_key_here'
API_URL_REDIRECT: '{"https://api.openai.com/v1/chat/completions": "https://xxxx.yyyy.zzzz/v1/chat/completions"}'
二、举例
- 例. 第三方接口 bltcy
# (通过修改config.py或config_private.py)
LLM_MODEL = "gpt-3.5-turbo"
API_KEY = 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "https://one-api.bltcy.top/v1/chat/completions"}
(通过修改docker-compose.yml)
version: '3'
services:
gpt_academic_full_capability:
image: ghcr.io/binary-husky/gpt_academic_with_all_capacity:master
environment:
# 请查阅 `config.py`或者 github wiki 以查看所有的配置信息
LLM_MODEL: 'gpt-3.5-turbo'
API_KEY: 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
API_URL_REDIRECT: '{"https://api.openai.com/v1/chat/completions": "https://one-api.bltcy.top/v1/chat/completions"}'
- 例. 第三方接口 API2D
# (通过修改config.py或config_private.py)
LLM_MODEL = "gpt-3.5-turbo"
API_KEY = 'fk195831-IaP9Pa3WaaCMUIbQwVX6MaSiyawqybyS'
CUSTOM_API_KEY_PATTERN = "fk[a-zA-Z0-9]{6}-[a-zA-Z0-9]{32}$"
API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions":"https://openai.api2d.net/v1/chat/completions"}
例:第三方接口 fakeopen
# (通过修改config.py或config_private.py)
API_KEY = "fk-77ZFXnp2DMjJm9609uI54zNwFrzqf77-UM1kAHIhoqk"
CUSTOM_API_KEY_PATTERN = "fk-77ZFXnp2DMjJm9609uI54zNwFrzqf77-UM1kAHIhoqk"
API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "https://ai.fakeopen.com/v1/chat/completions"}
- 例. 第三方接口 zeroai
# (通过修改config.py或config_private.py)
LLM_MODEL = "gpt-3.5-turbo"
API_KEY = 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "https://api.zeroai.link/v1/chat/completions"}
接入copilot-gpt4-service
- 步骤1:一键部署copilot-gpt4-service
docker run -d --name copilot-gpt4-service -e COPILOT_TOKEN=把你的Token填到这里 --restart always --net=host aaamoon/copilot-gpt4-service:latest
- 步骤2:配置config.py(详情见第三方API‐KEY接入指南)
API_KEY = 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' # 若使用copilot-gpt4-service,则不需要填写
LLM_MODEL = "gpt-4"
API_URL_REDIRECT = {
"https://api.openai.com/v1/chat/completions": "http://127.0.0.1:8080/v1/chat/completions"
}
- 步骤3:启动GPT-Academic
适配RWKV Runner
-
1 启动RWKV Runner,加载模型,直到看到:
-
2 设置gpt-academic中的参数(修改环境变量 或者 config.py)
LLM_MODEL = "gpt-3.5-turbo"
API_KEY = 'sk-PjDisw70wxoSRoiFB4A6B11693614251A6C59825D06631E0' # 随意设定一个key
API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions":"http://127.0.0.1:8000/v1/chat/completions"} # 注意端口号
- 3 运行!
便捷地接入one-api
首先,您可以直接参考 第三方API‐KEY接入指南 接入第三方api。
当您使用自己的one-api部署时,可以使用本文的方法,区别是这种方法需要one-api外部支持,适合接入一些比较新的模型、或者GPT-Academic本体尚未接入的模型。
-
第1步:one-api中查看模型的名字,如"mixtral-8x7b"
-
第2步:填写config
Unable to render rich display
flowchart LR
A["请使用且仅使用一种方法配置本项目"]
A --> D["(最最高优先级)修改环境变量"]
D --> F["直接运行:通过当前终端环境的环境变量"]
F --> F2["Linux下使用export命令"]
F --> F1["Windows下使用set命令"]
D --> E["Docker运行:修改docker-compose.yml(等价于修改容器内部的环境变量)"]
A --> C["(高优先级)创建并修改config_private.py"]
A --> B["(低优先级)直接修改config.py"]
API_KEY = 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "http://one-api-ip/v1/chat/completions"}
LLM_MODEL = "one-api-mixtral-8x7b(max_token=6666)"
# 为了更灵活地接入one-api多模型管理界面,设计了此接口,例子:AVAIL_LLM_MODELS = ["one-api-mixtral-8x7b(max_token=6666)"]
# 其中
# "one-api-" 是前缀(必要)
# "mixtral-8x7b" 是模型名(必要)
# "(max_token=6666)" 是配置(非必要)
- 第3步:完成!
python main.py
USE_PROXY 和 proxies
代理相关问题集合:
配置海外Proxy是怎么样配置呢?
需要改端口
在config.py中修改端口与proxy软件对应
如果你用的是s*r
如果你用的是v***y
配置完成后,你可以用以下命令测试proxy是否工作,如果一切正常,下面的代码将输出你的proxy服务器所在地:
python check_proxy.py
P.S. 别忘了把USE_PROXY选项改成True
另外有个网站whatismyiplookup可以查询ip地址的Fraud Score和Malicious activity,检查您的proxy是否足够干净
改为True应用代理,如果直接在海外服务器部署,此处不修改;如果使用本地或无地域限制的大模型时,此处也不需要修改
USE_PROXY = False
填写格式是 [协议]:// [地址] :[端口],填写之前不要忘记把USE_PROXY改成True,如果直接在海外服务器部署,此处不修改
<配置教程&视频教程> https://github.com/binary-husky/gpt_academic/issues/1>
[协议] 常见协议无非socks5h/http; 例如 v2**y 和 ss* 的默认本地协议是socks5h; 而cl**h 的默认本地协议是http
[地址] 懂的都懂,不懂就填localhost或者127.0.0.1肯定错不了(localhost意思是代理软件安装在本机上)
[端口] 在代理软件的设置里找。虽然不同的代理软件界面不一样,但端口号都应该在最显眼的位置上
proxies代理网络的地址,打开你的学网软件查看代理的协议(socks5h / http)、地址(localhost)和端口(11284)
proxies = {
# [协议]:// [地址] :[端口]
"http": "socks5h://localhost:11284", # 再例如 "http": "http://127.0.0.1:7890",
"https": "socks5h://localhost:11284", # 再例如 "https": "http://127.0.0.1:7890",
}
API_URL_REDIRECT 第三方API‐KEY接入指南
API_URL_REDIRECT = {"https://api.openai.com/v1/chat/completions": "https://reverse-proxy-url/v1/chat/completions"}
# 重新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"}
API_URL_REDIRECT = {}
DEFAULT_WORKER_NUM
多线程函数插件中,默认允许多少路线程同时访问OpenAI。Free trial users的限制是每分钟3次,Pay-as-you-go users的限制是每分钟3500次 一言以蔽之:免费(5刀)用户填3,OpenAI绑了信用卡的用户可以填 16 或者更高。提高限制请查询:https://platform.openai.com/docs/guides/rate-limits/overview
- THEME
色彩主题,可选 ["Default", "Chuanhu-Small-and-Beautiful", "High-Contrast"]
- CHATBOT_HEIGHT
对话窗的高度 (仅在LAYOUT="TOP-DOWN"时生效)
CHATBOT_HEIGHT = 1115
- CODE_HIGHLIGHT
代码高亮
CODE_HIGHLIGHT = True
- LAYOUT 和 DARK_MODE
窗口布局
LAYOUT = "LEFT-RIGHT" # "LEFT-RIGHT"(左右布局) # "TOP-DOWN"(上下布局)
DARK_MODE = True # 暗色模式 / 亮色模式
- TIMEOUT_SECONDS
发送请求到OpenAI后,等待多久判定为超时
TIMEOUT_SECONDS = 30
- WEB_PORT
网页的端口, -1代表随机端口
WEB_PORT = -1
- MAX_RETRY
如果OpenAI不响应(网络卡顿、代理失败、KEY失效),重试的次数限制
MAX_RETRY = 2
- DEFAULT_FN_GROUPS
插件分类默认选项
DEFAULT_FN_GROUPS = ['对话', '编程', '学术']
- LLM_MODEL
模型选择是 (注意: LLM_MODEL是默认选中的模型, 它必须被包含在AVAIL_LLM_MODELS列表中 )
LLM_MODEL = "gpt-3.5-turbo" # 可选 ↓↓↓
- AVAIL_LLM_MODELS
模型下拉菜单
AVAIL_LLM_MODELS = ["gpt-3.5-turbo-16k", "gpt-3.5-turbo", "azure-gpt-3.5", "api2d-gpt-3.5-turbo",
"gpt-4", "api2d-gpt-4", "chatglm", "moss", "newbing", "stack-claude"]
- P.S. 其他可用的模型还包括
["qianfan", "llama2", "qwen", "gpt-3.5-turbo-0613", "gpt-3.5-turbo-16k-0613",
"spark", "sparkv2", "chatglm_onnx", "claude-1-100k", "claude-2", "internlm", "jittorllms_pangualpha", "jittorllms_llama"]
BAIDU_CLOUD_*
百度千帆(LLM_MODEL="qianfan")
BAIDU_CLOUD_API_KEY = ''
BAIDU_CLOUD_SECRET_KEY = ''
BAIDU_CLOUD_QIANFAN_MODEL = 'ERNIE-Bot' # 可选 "ERNIE-Bot"(文心一言), "ERNIE-Bot-turbo", "BLOOMZ-7B", "Llama-2-70B-Chat", "Llama-2-13B-Chat", "Llama-2-7B-Chat"
- CHATGLM_PTUNING_CHECKPOINT
如果使用ChatGLM2微调模型,请把 LLM_MODEL=“chatglmft”,并在此处指定模型路径
CHATGLM_PTUNING_CHECKPOINT = “” #
例如"/home/hmp/ChatGLM2-6B/ptuning/output/6b-pt-128-1e-2/checkpoint-100"
- LOCAL_MODEL_DEVICE
本地LLM模型如ChatGLM的执行方式 CPU/GPU
LOCAL_MODEL_DEVICE = "cpu" # 可选 "cuda"
- LOCAL_MODEL_QUANT
本地LLM量化
LOCAL_MODEL_QUANT = "FP16" # 默认 "FP16" "INT4" 启用量化INT4版本 "INT8" 启用量化INT8版本
- CONCURRENT_COUNT
设置gradio的并行线程数(不需要修改)
CONCURRENT_COUNT = 100
- AUTO_CLEAR_TXT
是否在提交时自动清空输入框
AUTO_CLEAR_TXT = False
- ADD_WAIFU
加一个live2d装饰
ADD_WAIFU = False
- AUTHENTICATION
设置用户名和密码(不需要修改)(相关功能不稳定,与gradio版本和网络都相关,如果本地使用不建议加这个)
AUTHENTICATION = [("username", "password"), ("username2", "password2"), ...]
- CUSTOM_PATH (需要配合修改main.py才能生效!)
如果需要在二级路径下运行(常规情况下,不要修改!!)(需要配合修改main.py才能生效!)
CUSTOM_PATH = "/"
- API_ORG
极少数情况下,openai的官方KEY需要伴随组织编码(格式如org-xxxxxxxxxxxxxxxxxxxxxxxx)使用
API_ORG = ""
- SLACK_CLAUDE_*
如果需要使用Slack Claude,使用教程详情见 request_llm/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
- Newbing*
使用Newbing
NEWBING_STYLE = "creative" # ["creative", "balanced", "precise"]
NEWBING_COOKIES = """
put your new bing cookies here
"""
- AUDIO
阿里云实时语音识别 配置难度较高 仅建议高手用户使用 参考 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="" # (无需填写)
XFYUN*
- 接入讯飞星火大模型 https://console.xfyun.cn/services/iat
XFYUN_APPID = "00000000"
XFYUN_API_SECRET = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
XFYUN_API_KEY = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
- ANTHROPIC_API_KEY
Claude API KEY
ANTHROPIC_API_KEY = ""
- CUSTOM_API_KEY_PATTERN
自定义API KEY格式
CUSTOM_API_KEY_PATTERN = ""
HUGGINGFACE_ACCESS_TOKEN
HUGGINGFACE的TOKEN,下载LLAMA时起作用 https://huggingface.co/docs/hub/security-tokens
HUGGINGFACE_ACCESS_TOKEN = "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"
- GROBID_URLS
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://shaocongma-grobid.hf.space","https://FBR123-grobid.hf.space", "https://yeku-grobid.hf.space",
]
ALLOW_RESET_CONFIG
是否允许通过自然语言描述修改本页的配置,该功能具有一定的危险性,默认关闭
ALLOW_RESET_CONFIG = False
获取——
关注我
点击进入我的CSDN博客!
防失联,你可以有多种方式找到我,比如:关注我的CSDN博客,也可以通过其它途径(自己找了!)