HuggingFaceに掲載されているLlama系のLLM(生成AIの脳みそ)を使用した、WEBチャットシステムです。Llama 3.1やELYZAといった高性能なLLMの会話推論機能をご自宅のPCで簡単に扱えるようになります。
- ブラウザからインストールしたサーバにアクセスしてChatGPTのように使うことができる。
- WEB-APIを使って、ご自身の作成されたアプリから使う事ができる。
お好きなLLMのggufファイル(llama.cppを使って量子化したモデル。Q4_K_Mの4ビット量子化モデルがオススメです。)をHuggingFaceからダウンロードし、任意の場所に配置します。Llama系のLLMなら動作すると思います。オススメは、ELYZAです。
DockerHub(tanep/tane_chat
)に掲載しておりますので、Dockerでのインストールが簡単です。
事前にdocker, docker-composeをインストールして下さい。
sudo apt update
sudo apt install docker docker-compose
- docker-compose.yml をダウンロードし、本アプリ起動用フォルダ(任意の場所)に配置します。
[volumes:]
の/LLMのggufファイルを置いているパス
を、LLMを配置した場所に書き換えます。 docker-compose.yml
の環境変数[environment:]
の値を好みに応じて調整します。- 以下のコマンドで、たねちゃっとのダウンロード&初期起動を行います。
docker-compose up -d
以下のURLにアクセスして、チャット画面を開きます。
http://インストールしたサーバのIP:5005
- エンドポイント:
/generate
- HTTPメソッド:
POST
- リクエスト形式:
application/json
- レスポンス形式: ストリーミングまたは一括
{
"system_prompt": "50文字程度に要約して回答してください。",
"user_input": "AIとは何ですか?",
"max_tokens": 512,
"stream": true
}
(a) ストリーミングレスポンス
stream: true
の場合、レスポンスは逐次送信されます。- Content-Type:
text/html
- Content-Type:
(b) 非ストリーミングレスポンス
stream: false
の場合、一括で返されます。- Content-Type:
application/json
- Content-Type:
{
"response": "AIとは、Artificial Intelligenceの略で、人間の知能を模倣する技術を指します。"
}
curl -X POST -H "Content-Type: application/json" -d '{"system_prompt": "50文字程度に要約して回答してください。","user_input": "AIとは何ですか?","max_tokens": 512,"stream": true}' http://127.0.0.1:5005/generate
このプロジェクトはMITライセンスの下で公開されています。詳細については、LICENSE ファイルを参照してください。
たねちゃんねる