> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ローカルモデル

> Ollama、LMStudio、GPT4All を使用してオープンソースモデルをローカルで実行し、OpenAI SDK との互換性を利用して Weave でトレースします。

多くの開発者は、Llama 3、Mixtral、Gemma、Phi などのオープンソースモデルを手元のハードウェアで実行しています。Weave は、OpenAI SDK との互換性を備えていれば、複数のローカルモデルランナーを標準でサポートします。

このガイドでは、ローカルで実行しているモデルへの Call を Weave でトレースし、ホスト型の LLM プロバイダと同じように入力、出力、メタデータを取得する方法を説明します。対象は、自分のマシンでオープンソースモデルを実行し、それらの Call の可観測性を確保したい開発者です。

<div id="wrap-local-model-functions-with-weaveop">
  ## ローカルモデルの関数を `@weave.op()` でラップする
</div>

ローカルモデルが OpenAI 互換のランナー経由でアクセスされていない場合でも、独自のモデル呼び出し関数をラップすることでトレースを取得できます。`weave.init('<your-project-name>')` で Weave を初期化し、LLM への Call を `weave.op()` でラップするだけで、任意の LLM を簡単に Weave と統合できます。詳しくは、[トレースガイド](/ja/weave/guides/tracking/tracing) を参照してください。

<div id="update-your-openai-sdk-code-to-use-local-models">
  ## ローカルモデルを使用するように OpenAI SDK のコードを更新する
</div>

ローカルモデルのランナーが OpenAI SDK をサポートしている場合は、2 つ変更するだけで、既存の OpenAI クライアントの接続先をそのランナーに向けられます。

主な変更点は、`openai.OpenAI()` の初期化時に `base_url` パラメーターを指定することです。これにより、OpenAI SDK は OpenAI がホストする API ではなく、ローカルサーバーにリクエストを送信します。

```python lines theme={null}
client = openai.OpenAI(
    base_url="http://localhost:1234",
)
```

ローカルモデルの場合、`api_key` には任意の string を指定できますが、必ず明示的に上書きする必要があります。そうしないと、OpenAI SDK が環境変数から `api_key` を読み取ってエラーを表示します。

<div id="supported-local-model-runners">
  ## サポートされているローカルモデルランナー
</div>

以下のランナーを使用すると、Hugging Face からモデルをダウンロードし、お使いのコンピュータで実行できます。各ランナーは OpenAI 互換のエンドポイントを提供しているため、前述の変更を使用して OpenAI SDK の接続先として指定できます。

* Nomic [GPT4All](https://www.nomic.ai/gpt4all) - Settings の Local Server 経由でサポート ([FAQ](https://docs.gpt4all.io/gpt4all_help/faq.html))
* [LMStudio](https://lmstudio.ai/) - Local Server の OpenAI SDK サポートに関する[ドキュメント](https://lmstudio.ai/docs/developer/core/server)
* [Ollama](https://ollama.com/) - OpenAI SDK 向けの [OpenAI compatibility](https://ollama.readthedocs.io/en/openai/)
* [llama-cpp-python](https://llama-cpp-python.readthedocs.io/en/latest/server/) - OpenAI SDK をサポートした `llama.cpp` を実行するための Python パッケージ
* [llamafile](https://github.com/Mozilla-Ocho/llamafile#other-example-llamafiles) - Llamafile を実行すると、`http://localhost:8080/v1` は自動的に OpenAI SDK をサポートします
