FastAPI-BitNet

FastAPI-BitNetは、llama.cppベースのBitNetモデルインスタンスを管理するための堅牢なREST APIを提供します。このプロジェクトは、開発者や研究者が自動テスト、ベンチマーク、インタラクティブチャットセッションをプログラム的に制御できるように設計されています。セッション管理、バッチ操作、モデルベンチマーキングなどの機能を備えています。

GitHubスター

34

ユーザー評価

未評価

お気に入り

0

閲覧数

19

フォーク

8

イシュー

0

インストール方法
難易度
中級
推定所要時間
10-20
必要な環境
Docker Desktop: Latest version
Conda: Latest version (or another Python environment manager)
+1 more

インストール方法

インストール方法

前提条件

Docker Desktop: 最新版
Conda: 最新版(または他のPython環境マネージャ)
Python: 3.10以上

インストール手順

1. Python環境のセットアップ

Conda環境を作成し、アクティブ化します:
bash
conda create -n bitnet python=3.11
conda activate bitnet
Huggingface-CLIツールをインストールしてモデルをダウンロードします:

pip install -U "huggingface_hub[cli]"
Microsoftの公式BitNetモデルをダウンロードします:

huggingface-cli download microsoft/BitNet-b1.58-2B-4T-gguf --local-dir app/models/BitNet-b1.58-2B-4T

2. アプリケーションの実行

#### Dockerを使用する(推奨)
1Dockerイメージをビルドします:
bash
docker build -t fastapi_bitnet .
2Dockerコンテナを実行します:
bash
docker run -d --name ai_container -p 8080:8080 fastapi_bitnet
#### ローカル開発 Uvicornを使用してアプリケーションを直接実行できます:
bash
uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload

設定方法

設定方法

基本設定

FastAPI-BitNet設定

特に設定ファイルは必要ありませんが、環境変数を設定することが推奨されます。必要に応じて以下の環境変数を設定してください:
bash
export API_KEY="your-api-key"
export DEBUG="true"

詳細設定

セキュリティ設定

APIキーは環境変数または安全な設定ファイルに保存
ファイルアクセス権限の適切な設定
ログレベルの調整

パフォーマンス調整

タイムアウト値の設定
同時実行数の制限
キャッシュ設定

設定例

基本的な設定

json
{
  "mcpServers": {
    "bitnet-mcp": {
      "command": "python",
      "args": ["-m", "app.main"],
      "env": {
        "API_KEY": "your-api-key"
      }
    }
  }
}

使用例

使用例

基本的な使用方法

APIを使用したインタラクティブチャット

python
import requests

def send_prompt(prompt):
    response = requests.post(
        'http://localhost:8080/chat',
        json={"prompt": prompt}
    )
    return response.json()

result = send_prompt("こんにちは、あなたの名前は?")
print(result)

バッチ操作の実行

python
import requests

prompts = ["こんにちは", "元気ですか?"]
response = requests.post(
    'http://localhost:8080/batch',
    json={"prompts": prompts}
)
print(response.json())

使用ケース

研究者が複数のBitNetモデルインスタンスを同時にテストし、パフォーマンスを比較する。
開発者がインタラクティブなチャットボットを構築し、ユーザーからの入力に応じて応答を生成する。
システム管理者がリソース使用量を監視し、サーバーの最適な設定を見つける。
データサイエンティストがモデルのパフォーマンスをベンチマークし、改善点を特定する。