メインコンテンツに直接移動

カスタムLLM設定

OpenHandsでは、config.tomlファイルで複数の名前付きLLM設定を定義できます。この機能により、高品質な応答が不要なタスクには低コストのモデルを使用したり、特定のエージェントに対して異なるパラメータを持つ異なるモデルを使用したりするなど、異なる用途に応じて異なるLLM設定を使用できます。

仕組み

名前付きLLM設定は、config.tomlファイルでllm.で始まるセクションを使用して定義されます。例:

# デフォルトのLLM設定
[llm]
model = "gpt-4"
api_key = "あなたのAPIキー"
temperature = 0.0

# 低コストモデル用のカスタムLLM設定
[llm.gpt3]
model = "gpt-3.5-turbo"
api_key = "あなたのAPIキー"
temperature = 0.2

# 異なるパラメータを持つ別のカスタム設定
[llm.high-creativity]
model = "gpt-4"
api_key = "あなたのAPIキー"
temperature = 0.8
top_p = 0.9

各名前付き設定は、デフォルトの[llm]セクションからすべてのパラメータを継承し、これらのパラメータを上書きできます。必要な数のカスタム設定を定義できます。

カスタム設定の使用

エージェントでの使用

エージェントの設定セクションでllm_configパラメータを設定することで、エージェントが使用するLLM設定を指定できます:

[agent.RepoExplorerAgent]
# このエージェントには低コストのGPT-3設定を使用
llm_config = 'gpt3'

[agent.CodeWriterAgent]
# このエージェントには高創造性の設定を使用
llm_config = 'high-creativity'

設定オプション

各名前付きLLM設定は、デフォルトのLLM設定と同じすべてのオプションをサポートしています。これらには以下が含まれます:

  • モデルの選択(model
  • API設定(api_keybase_urlなど)
  • モデルパラメータ(temperaturetop_pなど)
  • リトライパラメータ(num_retriesretry_multiplierなど)
  • トークン制限(max_input_tokensmax_output_tokens
  • その他すべてのLLM設定オプション

利用可能なオプションの完全なリストについては、設定オプションのドキュメントのLLM設定セクションを参照してください。

ユースケース

カスタムLLM設定は、以下のようなシナリオで特に有用です:

  • コスト最適化:リポジトリの探索やシンプルなファイル操作など、高品質な応答が不要なタスクには低コストのモデルを使用
  • タスク固有の調整:異なるレベルの創造性や決定論的な応答が必要なタスクに対して、異なるtemperatureやtop_p値を設定
  • 異なるプロバイダー:異なるタスクに対して異なるLLMプロバイダーやAPIエンドポイントを使用
  • テストと開発:開発とテスト中に異なるモデル設定を簡単に切り替え

例:コスト最適化

コスト最適化のためのカスタムLLM設定の実践的な例:

# 高品質な応答用のGPT-4を使用するデフォルト設定
[llm]
model = "gpt-4"
api_key = "あなたのAPIキー"
temperature = 0.0

# リポジトリ探索用の低コスト設定
[llm.repo-explorer]
model = "gpt-3.5-turbo"
temperature = 0.2

# コード生成用の設定
[llm.code-gen]
model = "gpt-4"
temperature = 0.0
max_output_tokens = 2000

[agent.RepoExplorerAgent]
llm_config = 'repo-explorer'

[agent.CodeWriterAgent]
llm_config = 'code-gen'

この例では:

  • リポジトリ探索は主にコードの理解とナビゲーションなので、低コストモデルを使用
  • コード生成は、より大きなコードブロックを生成するためにGPT-4とより高いトークン制限を使用
  • デフォルト設定は他のタスクで引き続き利用可能
メモ

カスタムLLM設定は、main.pyまたはcli.pyを介して開発モードでOpenHandsを使用する場合にのみ利用可能です。docker runを介して実行する場合は、標準の設定オプションを使用してください。