Skip to content

Latest commit

 

History

History
139 lines (102 loc) · 4.87 KB

README_zh-CN.md

File metadata and controls

139 lines (102 loc) · 4.87 KB

PyPI Docker Image Version (tag latest semver) GitHub commit activity PyPI - Downloads

English | 简体中文

最新进展 🎉

  • [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 版本,正式开源。

简介

什么是 OpenAOE?

AOE,取自 DOTA2 的技能范围伤害的简写:释放一个技能,可以对群体产生效果。 在这里,AOE 表示用户的一个 prompt 可以同时获得多个大模型的并行输出。

为了解决了什么问题?

目前,市面上有很多基于 OpenAI 的聊天开源框架,但是,大模型群聊的开源框架还处于一个空白阶段。

AOE 的出现,填补了这个领域的空白: AOE 可以帮助大模型算法研究、评测、工程开发人员甚至非专业人士,快速接入市面上的知名的商业大模型和开源大模型, 并提供了单模型串行回答和多模型并行回答两种模式。

可以提供什么服务?

  1. 发送一次 prompt 同时给一个或者多个大语言模型,并获得其返回。
  2. 提供商用大模型API的接入,默认支持gpt3.5、gpt4、Google Palm、Minimax、Claude、Spark等,也支持用户自定义接入其他大模型API。
  3. 提供开源大模型API的接入,用户可以使用 LMDeploy 来一键部署开源大模型。
  4. 我们同时提供了后端 API 和 WEB 端, 来满足不同用户的需求。

快速安装

我们将提供 3 种不同的方式安装:基于 pip、基于 docker 以及基于源代码,实现开箱即用。

基于 pip

Tip

需要 python >= 3.9

安装

pip install -U openaoe 

运行

openaoe -f /path/to/your/config-template.yaml

基于 docker

安装

有两种方式获取 OpenAOE 的 docker 镜像:

  1. 官方拉取
docker pull opensealion/openaoe:latest
  1. 本地构建
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

基于源代码

安装

  1. 克隆项目
git clone https://github.com/internlm/OpenAOE
  1. [可选] (如果前端代码发生变动)重新构建前端项目
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,一起共建 ~**

如果想基于此项目做二次开发,下面这些信息将会对你有帮助。

技术栈

我们使用到的技术栈是:

  1. 基于 Python + fastapi 的后端框架;
  2. 基于 Typescript + Sealion-Client (基于React封装)+ Sealion-UI 的前端框架。
  3. 构建工具:
    1. conda: 快速创建 python 环境来安装后端必要的依赖包
    2. npm: 构建前端项目

Tip

构建工具可通过 sealion-cli 快速获得: pip install -U sealion-cli

整个仓库的简要说明

  1. 前端代码在 openaoe/frontend
  2. 后端代码在 openaoe/backend
  3. 项目入口文件在 openaoe/main.py

如何添加新的模型API?

前端

  • 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定义.