はじめに
MetaGPTは強力なAIエージェントフレームワークですが、デフォルトではGeminiモデルが「gemini-pro」にハードコードされています。この記事では、無料で長いコンテキストが使える「gemini-1.5-flash-8b」を設定ファイルから指定できるように修正する方法を紹介します。
問題点
MetaGPTのコードを確認すると、provider/google_gemini_api.py
ファイルの中で、Geminiモデルが以下のようにハードコードされていることがわかります:
def __init__(self, config: LLMConfig):
self.use_system_prompt = False # google gemini has no system prompt when use api
self.__init_gemini(config)
self.config = config
self.model = "gemini-pro" # so far only one model
self.pricing_plan = self.config.pricing_plan or self.model
self.llm = GeminiGenerativeModel(model_name=self.model)
これでは、設定ファイルでモデルを変更することができず、無料で長いコンテキストが利用できる「gemini-1.5-flash-8b」を利用できません。
解決方法
以下のように、ハードコードされた「gemini-pro」を設定ファイルから読み込むように修正します:
def __init__(self, config: LLMConfig):
self.use_system_prompt = False # google gemini has no system prompt when use api
self.__init_gemini(config)
self.config = config
self.model = config.model or "gemini-pro" # デフォルトはgemini-proだが、設定ファイルで上書き可能
self.pricing_plan = self.config.pricing_plan or self.model
self.llm = GeminiGenerativeModel(model_name=self.model)
この修正により、設定ファイル(~/.metagpt/config2.yaml
)で「gemini-1.5-flash-8b」を指定できるようになります。
実際の修正手順
-
MetaGPTのインストールディレクトリを確認します
pip show metagpt | grep Location
-
google_gemini_api.py
ファイルを編集します# Windowsの場合 notepad <インストールパス>/metagpt/provider/google_gemini_api.py # Linuxの場合 nano <インストールパス>/metagpt/provider/google_gemini_api.py
-
53行目付近の
self.model = "gemini-pro"
をself.model = config.model or "gemini-pro"
に変更します -
ファイルを保存して閉じます
Gemini 1.5 Flash 8bの特徴
「gemini-1.5-flash-8b」モデルには、以下の特徴があります:
- 無料で利用可能:Google AI Studioで無料枠として提供
- 長いコンテキスト:最大128Kトークン(約10万単語)を処理可能
- 高速処理:軽量設計のため、レスポンスが速い
- 高い頻度:1分あたり最大60リクエスト可能
この無料モデルは、通常有料のような長いコンテキスト処理が可能で、MetaGPTのようなエージェントフレームワークで特に有用です。
設定ファイルの例
以下は、gemini-1.5-flash-8bを使用するための設定ファイルの例です:
llm:
api_key: "YOUR_GEMINI_API_KEY"
api_type: "gemini"
model: "gemini-1.5-flash-8b" # 無料で長いコンテキストが使えるモデルを指定
temperature: 0.3
max_token: 4096
timeout: 600
# グローバルプロキシ設定(必要な場合)
# proxy: "http://127.0.0.1:7890"
# ワークスペース設定
workspace:
root: "" # 空の場合、デフォルトのワークスペースが使用されます
# 言語設定
language: "Japanese" # 出力言語を日本語に設定
利点
この修正により、以下のメリットがあります:
- 無料で長いコンテキスト:有料プランを契約せずに、長いテキストやコードを処理できる
- 設定ファイルだけで変更可能:コードを修正する必要がない
- コスト削減:通常有料で提供される長いコンテキスト処理を無料で実現
- 将来のモデル対応:Googleが新しいモデルをリリースした場合も、設定ファイルの変更だけで対応可能
まとめ
MetaGPTでGemini 1.5 Flash 8bモデルを設定ファイルから指定できるようにする簡単な修正方法を紹介しました。この修正により、無料で長いコンテキスト処理が可能になり、MetaGPTの費用対効果が大幅に向上します。
この小さな改善がMetaGPTコミュニティにとって役立つことを願っています。オープンソースプロジェクトへの貢献は、多くのユーザーにとって大きな価値をもたらすことがあります。