AIへの指示を自動で改善
Building Reflective Prompt Optimization with GEPA: Multi-Component Prompts, Structured Feedback, and Held-Out Validation

GEPAというツールを使い、AIが問題を解くための指示を自動で最適化。AIがより正確に考えられるようになり、その性能が向上します。
このチュートリアルでは、GEPAを自己反省的なプロンプト進化フレームワークとして使用し、言語モデルが算数の文章問題を解く方法を改善します。まず、弱いシードプロンプトから始め、小さな決定論的ベンチマークを作成し、構造化された評価器を定義します。そして、候補プロンプトがなぜ失敗するのかをGEPAが理解できるように、実行可能なフィードバックを渡します。また、命令フィールドと出力形式ルールが共に進化する、多要素プロンプト設定も使用します。最終的に、最適化されたプロンプトとベースラインプロンプトを保留検証セットで比較し、進化プロセスがどのようにパフォーマンスを向上させるかを検証します。
GEPAとLiteLLMのインストールおよびタスクモデルと反省モデルの設定
コードをコピーしました。別のブラウザを使用してください。
!pip install -q gepa litellm
import os, re, json, random, getpass, textwrap
import litellm
import gepa.optimize_anything as oa
from gepa.optimize_anything import (
optimize_anything,
GEPAConfig,
EngineConfig,
ReflectionConfig,
)
litellm.suppress_debug_info = True
if not os.environ.get("OPENAI_API_KEY"):
os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter your OpenAI API key: ")
TASK_LM = "openai/gpt-4o-mini"
REFLECTION_LM = "openai/gpt-4.1"
MAX_METRIC_CALLS = 100
GEPAとLiteLLMをインストールし、プロンプト最適化とモデル呼び出しに必要なライブラリをインポートします。OpenAI API keyを安全に設定し、問題を解くタスクモデルとプロンプトを改善する反省モデルの2つのモデルを定義します。また、最適化プロセスを管理下に置くため、最大メトリック呼び出し予算を100に設定します。
決定論的な算数ベンチマークデータセットの構築
コードをコピーしました。別のブラウザを使用してください。
def make_problems(n, seed=0):
rng = random.Random(seed)
out = []
for _ in range(n):
t = rng.choice(["discount", "travel", "wallet", "chain"])
if t == "discount":
unit = rng.choice([40, 60, 80, 120])
qty = rng.choice([5, 6, 8, 10])
disc = rng.choice([10, 20, 25, 50])
total = unit * qty
gold = total - total * disc // 100
q = (f"A shop sells notebooks at {u
この記事について質問
記事の内容に答えます。記事外のことは都度ウェブで調べます。