- [2024/03] 添加 gemma-7b 和 qwen-7b 模型
- [2024/02] 添加 mistral-7b 模型
- [2024/02] 添加 gemini-pro 模型
- [2024/01] 重构了 config-template.yaml,可以同时配置前后端的设置
- [2024/01] 添加 internlm2-chat-7b 模型
- [2024/01] 发布 v0.0.1 版本,正式开源。
AOE,取自 DOTA2 的技能范围伤害的简写:释放一个技能,可以对群体产生效果。
在这里,AOE 表示用户的一个 prompt 可以同时获得多个大模型的并行输出。
目前,市面上有很多基于 OpenAI 的聊天开源框架,但是,大模型群聊的开源框架还处于一个空白阶段。
AOE 的出现,填补了这个领域的空白: AOE 可以帮助大模型算法研究、评测、工程开发人员甚至非专业人士,快速接入市面上的知名的商业大模型和开源大模型, 并提供了单模型串行回答和多模型并行回答两种模式。
- 发送一次 prompt 同时给一个或者多个大语言模型,并获得其返回。
- 提供商用大模型API的接入,默认支持gpt3.5、gpt4、Google Palm、Minimax、Claude、Spark等,也支持用户自定义接入其他大模型API。
- 提供开源大模型API的接入,用户可以使用 LMDeploy 来一键部署开源大模型。
- 我们同时提供了后端 API 和 WEB 端, 来满足不同用户的需求。
我们将提供 3 种不同的方式安装:基于 pip、基于 docker 以及基于源代码,实现开箱即用。
Tip
需要 python >= 3.9
pip install -U openaoe
openaoe -f /path/to/your/config-template.yaml
有两种方式获取 OpenAOE 的 docker 镜像:
- 官方拉取
docker pull opensealion/openaoe:latest
- 本地构建
git clone https://github.com/internlm/OpenAOE
cd OpenAOE
docker build . -f docker/Dockerfile -t opensealion/openaoe:latest
docker run -p 10099:10099 -v /path/to/your/config-template.yaml:/app/config.yaml --name OpenAOE opensealion/openaoe:latest
- 克隆项目
git clone https://github.com/internlm/OpenAOE
- [可选] (如果前端代码发生变动)重新构建前端项目
cd OpenAOE/openaoe/frontend
npm install
npm run build
cd OpenAOE
pip install -r openaoe/backend/requirements.txt
python -m openaoe.main -f /path/to/your/config-template.yaml
Tip
/path/to/your/config-template.yaml
是 OpenAOE 启动时读取的配置文件,里面包含了大模型的相关配置信息,
包括:调用API地址、AKSK、Token等信息,是 OpenAOE 启动的必备文件。文件模板可以在 openaoe/backend/config/config-template.yaml
中找到。
**欢迎 fork,一起共建 ~**
如果想基于此项目做二次开发,下面这些信息将会对你有帮助。
我们使用到的技术栈是:
- 基于 Python + fastapi 的后端框架;
- 基于 Typescript + Sealion-Client (基于React封装)+ Sealion-UI 的前端框架。
- 构建工具:
- conda: 快速创建 python 环境来安装后端必要的依赖包
- npm: 构建前端项目
Tip
构建工具可通过 sealion-cli 快速获得: pip install -U sealion-cli
- 前端代码在 openaoe/frontend
- 后端代码在 openaoe/backend
- 项目入口文件在 openaoe/main.py
- 在
openaoe/frontend/src/config/model-config.ts
文件里面添加新模型的基本信息(用于展示),比如name
,avatar
,provider
等。 - 在
openaoe/frontend/src/config/api-config.ts
文件里面添加新模型的API请求payload配置,比如url
,method
,parameter
等。 - 在
openaoe/frontend/src/services/fetch.ts
文件里修改API和处理特殊情况, 以适配你的API定义.