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 | OpenAI Assistant API |
---|---|---|
エコシステム戦略 | オープンソース | クローズドソース |
RAG エンジン | R2R をサポート | サポートされている |
インターネット検索 | サポートされている | サポートされていない |
カスタム関数 | サポートされている | サポートされている |
内蔵ツール | 拡張可能 | 拡張不可 |
コードインタープリタ | 開発中 | サポートされている |
マルチモーダル | サポートされている | サポートされている |
LLM サポート | より多くの LLM をサポート | GPT のみ |
メッセージストリーミング出力 | サポートされている | サポートされている |
ローカルデプロイメント | サポートされている | サポートされていない |
- LLM サポート: 公式の OpenAI バージョンと比較して、One API を統合することでより多くのモデルをサポートできます。
- ツール: 現在、オンライン検索をサポートしています。より多くのツールを簡単に拡張できます。
- RAG エンジン: 現在サポートされているファイルタイプは txt、html、markdown、pdf、docx、pptx、xlsx、png、mp3、mp4 などです。初期実装を提供しています。
- メッセージストリーミング出力: メッセージストリーミング出力をサポートし、よりスムーズなユーザー体験を提供します。
- エコシステム戦略: オープンソースであり、サービスをローカルにデプロイし、既存の機能を拡張することができます。
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 up -d
Api Base URL: http://127.0.0.1:8086/api/v1
インターフェースドキュメントのアドレス: http://127.0.0.1:8086/docs
この例では、公式の OpenAI クライアントライブラリを使用して AI アシスタントを作成し、実行します。他の使用方法(ストリーミング出力、ツール(web_search、retrieval、function)など)を確認する場合は、examples ディレクトリで対応するコードを見つけることができます。実行する前に、Python openai
ライブラリをインストールするために pip install openai
を実行する必要があります。
# !pip install openai
export PYTHONPATH=$(pwd)
python examples/run_assistant.py
トークンに基づいて簡単なユーザー分離を提供し、SaaS デプロイメント要件を満たします。APP_AUTH_ENABLE
を設定することで有効にできます。
- 認証方法は Bearer トークンです。ヘッダーに
Authorization: Bearer ***
を含めて認証を行うことができます。 - トークン管理は API ドキュメントのトークンセクションに記載されています。関連する API は管理者トークンで認証する必要があり、
APP_AUTH_ADMIN_TOKEN
として設定され、デフォルトでは "admin" です。 - トークンを作成する際には、大規模モデルのベース URL と API キーを提供する必要があります。作成されたアシスタントは、対応する設定を使用して大規模モデルにアクセスします。
OpenAPI/Swagger 仕様に従って、さまざまなツールをアシスタントに統合することができ、外部の世界と接続する能力を強化します。
- アプリケーションを他のシステムやサービスと接続し、外部環境と対話することができます。たとえば、コードの実行や専用情報源へのアクセスなどです。
- 使用中にツールを作成し、その後アシスタントと組み合わせることができます。詳細はテストケースを参照してください。Assistant With Action
- 認証情報を持つツールを使用する必要がある場合は、実行時に認証情報を追加するだけです。具体的なパラメータ形式は API ドキュメントで確認できます。詳細はテストケースを参照してください。Run With Auth Action
-
Slack チャンネルに参加して、新しいリリースを確認し、問題を議論し、コミュニティの交流に参加してください。
-
Discord チャンネルに参加して、他のコミュニティメンバーと交流してください。
-
Open Assistant Api WeChat グループに参加してください:
主に以下のプロジェクトを参考にし、依存しています:
- OpenOpenAI: Node で実装された Assistant API
- One API: マルチモデル管理ツール
- R2R: RAG エンジン
- OpenAI-Python: OpenAI Python クライアント
- OpenAI API: OpenAI インターフェース定義
- LangChain: LLM アプリケーション開発ライブラリ
- OpenGPTs: LangChain GPTs
- TaskingAI: TaskingAI クライアント SDK
貢献方法については、貢献ドキュメント をお読みください。
このリポジトリは MIT オープンソースライセンスに従います。詳細については、LICENSE ファイルを参照してください。