英语 | 简体中文
最新进展 🎉
- [2024年3月] 添加 gemma-7b 和 qwen-7b 模型(基于 Ollama)
- [2024年2月] 添加 mistral-7b 模型(基于 Ollama)
- [2024年2月] 添加 gemini-pro 模型(基于 Open API)
- [2024年1月] 重构 config-template.yaml 以同时控制后端和前端设置,点击这里了解更多关于
config-template.yaml
的介绍 - [2024年1月] 添加 internlm2-chat-7b 模型(基于 LMDeploy)
- [2024年1月] 发布 v0.0.1 版本,正式开源!
介绍
什么是 OpenAOE?
AOE 是 DOTA2 中“AOE(Area Of Effect)”的缩写,表示能够影响一定区域内一组目标的能力。 在这里,AI 中的 AOE 表示用户可以通过一个提示同时获得多个 LLM 的并行输出。
OpenAOE 想要解决什么问题?
目前,有很多基于 ChatGPT 的聊天开源框架,但 LGC(LLM 群聊)框架仍未出现。
OpenAOE 的出现填补了这一空白: OpenAOE 可以帮助 LLM 研究人员、评估人员、工程开发人员、甚至非专业人士快速接入市面上著名的商业和开源 LLM,提供单模型串行响应模式和多模型并行响应模式。
你可以从 OpenAOE 中获得什么?
OpenAOE 可以:
- 通过一个提示 同时 返回一个或多个 LLM 的答案。
- 提供接入商业 LLM API 的能力,默认支持 gpt3.5、gpt4、Google Palm、Minimax、Claude、Spark 等,也支持用户自定义接入其他大型模型 API。(需要提前准备 API 密钥)
- 提供接入开源 LLM API 的能力。(建议使用 LMDeploy 一键部署)
- 提供后端 API 和 WEB-UI,以满足不同需求。
快速运行
[!提示] 要求 python >= 3.9
我们提供了三种运行 OpenAOE 的方式:通过 pip 运行、通过 docker 运行以及通过源代码运行。
通过 pip 运行
安装
pip install -U openaoe
启动
openaoe -f /path/to/your/config-template.yaml
通过 docker 运行
安装
有两种方式获取 OpenAOE docker 镜像:
- 拉取 OpenAOE docker 镜像
docker pull opensealion/openaoe:latest
- 或者构建 docker 镜像
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 # 此 OpenAOE 是克隆的目录
pip install -r openaoe/backend/requirements.txt
python -m openaoe.main -f /path/to/your/config-template.yaml
[!提示]
/path/to/your/config-template.yaml
是 OpenAOE 启动时加载的配置文件, 包含了与 LLM 相关的配置信息, 包括:API URL、AKSK、Tokens 等。 模板配置 yaml 文件可以在openaoe/backend/config/config-template.yaml
中找到。 请注意,该config-template.yaml
不包含任何 API 访问数据,您需自行添加。
技术报告
欢迎您 fork 此项目以贡献您的工作 并查找未来的 TODOs。
如果您希望基于 OpenAOE 添加更多 LLM 的 API 或功能,以下信息可能对您有帮助。
技术栈
我们使用的技术栈包括:
- 基于 python + fastapi 的后端框架;
- 基于 typescript + Sealion-Client(基于 React 封装)+ Sealion-UI 的前端框架。
- 构建工具:
- conda:快速创建虚拟 python 环境以安装必要的包
- npm:构建前端项目
[!提示] 可以通过
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 请求负载配置。 - 在
openaoe/frontend/src/services/fetch.ts
中具体修改新模型的负载,您可能需要根据您的模型 API 定义更改负载结构并处理边界情况。