ローカルモデルの関数を @weave.op() でラップする
ローカルモデルが OpenAI 互換のランナー経由でアクセスされていない場合でも、独自のモデル呼び出し関数をラップすることでトレースを取得できます。weave.init('<your-project-name>') で Weave を初期化し、LLM への Call を weave.op() でラップするだけで、任意の LLM を簡単に Weave と統合できます。詳しくは、トレースガイド を参照してください。
ローカルモデルを使用するように OpenAI SDK のコードを更新する
ローカルモデルのランナーが OpenAI SDK をサポートしている場合は、2 つ変更するだけで、既存の OpenAI クライアントの接続先をそのランナーに向けられます。 主な変更点は、openai.OpenAI() の初期化時に base_url パラメーターを指定することです。これにより、OpenAI SDK は OpenAI がホストする API ではなく、ローカルサーバーにリクエストを送信します。
api_key には任意の string を指定できますが、必ず明示的に上書きする必要があります。そうしないと、OpenAI SDK が環境変数から api_key を読み取ってエラーを表示します。
サポートされているローカルモデルランナー
以下のランナーを使用すると、Hugging Face からモデルをダウンロードし、お使いのコンピュータで実行できます。各ランナーは OpenAI 互換のエンドポイントを提供しているため、前述の変更を使用して OpenAI SDK の接続先として指定できます。- Nomic GPT4All - Settings の Local Server 経由でサポート (FAQ)
- LMStudio - Local Server の OpenAI SDK サポートに関するドキュメント
- Ollama - OpenAI SDK 向けの OpenAI compatibility
- llama-cpp-python - OpenAI SDK をサポートした
llama.cppを実行するための Python パッケージ - llamafile - Llamafile を実行すると、
http://localhost:8080/v1は自動的に OpenAI SDK をサポートします