Skip to content

Latest commit

 

History

History
163 lines (115 loc) · 6.3 KB

README_CN.md

File metadata and controls

163 lines (115 loc) · 6.3 KB

Open Assistant API

✨ 开箱即用的 AI 智能助手 API ✨

English | 简体中文 | 日本語

简介

Open Assistant API 是一个开源自托管的 AI 智能助手 API,兼容 OpenAI 官方接口, 可以直接使用 OpenAI 官方的 Client 构建 LLM 应用。

支持 One API 可以用其接入更多商业和私有模型。

支持 R2R RAG 引擎。

使用

以下是使用了 OpenAI 官方的 Python openai 库的使用示例:

import openai

client = openai.OpenAI(
    base_url="http://127.0.0.1:8086/api/v1",
    api_key="xxx"
)

assistant = client.beta.assistants.create(
    name="demo",
    instructions="You are a helpful assistant.",
    model="gpt-4-1106-preview"
)

为什么选择 Open Assistant API

功能 Open Assistant API OpenAI Assistant API
生态策略 开源 闭源
RAG 引擎 支持 R2R 支持
联网搜索 支持 不支持
自定义 Functions 支持 支持
内置 Tool 支持扩展 不支持扩展
Code Interpreter 待开发 支持
多模态识别 支持 支持
LLM 支持 支持更多的 LLM 仅 GPT
Message 流式输出 支持 支持
本地部署 支持 不支持
  • LLM 支持: 相较于 OpenAI 官方版本,可以通过接入 One API 来支持更多的模型。
  • Tool: 目前支持联网搜索;可以较容易扩展更多的 Tool。
  • RAG 引擎: 支持 R2R RAG 引擎,目前支持的文件类型有 txt、html、markdown、pdf、docx、pptx、xlsx、png、mp3、mp4 等。
  • Message 流式输出: 支持 Message 流式输出,提供更流畅的用户体验。
  • 生态策略: 开源,你可以将服务部署在本地,可以对已有功能进行扩展。

快速上手

启动 Open Assistant API 最简单方法是运行 docker-compose.yml 文件。 运行之前确保机器上安装了 Docker 和 Docker Compose。

配置

进入项目根目录,打开 docker-compose.yml,填写 openai api_key 和 bing search key (非必填)。

# openai api_key (支持 OneAPI api_key)
OPENAI_API_KEY=<openai_api_key>

# bing search key (非必填)
BING_SUBSCRIPTION_KEY=<bing_subscription_key>

建议配置 R2R RAG 引擎替换默认的 RAG 实现,以提供更好的 RAG 能力。 关于 R2R,可以通过 R2R Github 仓库 了解和使用。

# RAG 配置
# FILE_SERVICE_MODULE=app.services.file.impl.oss_file.OSSFileService
FILE_SERVICE_MODULE=app.services.file.impl.r2r_file.R2RFileService
R2R_BASE_URL=http://<r2r_api_address>
R2R_USERNAME=<r2r_username>
R2R_PASSWORD=<r2r_password>

运行

使用 Docker Compose 运行:

docker compose up -d

访问 API

Api Base URL: http://127.0.0.1:8086/api/v1

接口文档地址: http://127.0.0.1:8086/docs

完整使用示例

此示例中使用 OpenAI 官方的 client 库创建并运行了一个 AI 助手。如果需要查看其它使用方式,如流式输出、工具(web_search、retrieval、function)的使用等, 可以在 examples 查看对应示例。 运行之前需要运行 pip install openai 安装 Python openai 库。

# !pip install openai
export PYTHONPATH=$(pwd)
python examples/run_assistant.py

权限

基于 token 提供简单用户隔离,满足 SaaS 部署需求,可通过配置 APP_AUTH_ENABLE 开启

  1. 验证方式为 Bearer token,可在 Header 中填入 Authorization: Bearer *** 进行验证
  2. token 管理参考 api 文档中的 token 小节 相关 api 需通过 admin token 验证,配置为 APP_AUTH_ADMIN_TOKEN,默认为 admin
  3. 创建 token 需填入大模型 base_url 和 api_key,创建的 assistant 将使用相关配置访问大模型

工具

根据 OpenAPI /Swagger规范,允许将多种工具集成到助手中,赋予并增强了LLM 连接外部世界的能力。

  1. 方便将你的应用与其他系统或服务连接,与外部环境交互,如代码执行、对专属信息源的访问
  2. 在使用过程中,需创建工具,接着将工具与助手搭配即可,查看测试用例Assistant With Action
  3. 若需要使用带认证信息的工具,只需在运行时添加认证信息即可,具体参数格式可在接口文档中查看。查看测试用例Run With Auth Action

社区与支持

  • 加入 Slack 频道,查看新发布的内容,交流问题,参与社区互动。

  • 加入 Discord 频道,与其他社区成员交流。

  • 加入 Open Assistant Api 微信交流群:

特别感谢

我们主要参考和依赖了以下项目:

参与贡献

请阅读我们的贡献文档,了解如何参与贡献。

开源协议

本仓库遵循 MIT 开源协议。有关详细信息,请参阅 LICENSE 文件。