AIの指示を自動で改善する方法
A Coding Implementation on Microsoft SkillOpt for Instrumented Prompt Optimization, Skill Evolution Analysis, and Baseline Comparison

マイクロソフトのSkillOptを使い、AIへの指示(プロンプト)を自動で改善する方法が示されました。これにより、AIがより賢く、正確に動くようになります。
このチュートリアルでは、Microsoft SkillOptの計測されたワークフローを実装します。SkillOptのリポジトリをセットアップし、OpenAI互換モデルへのアクセスと接続し、オプティマイザーとターゲットモデルを設定し、コストを管理可能なサンプル制限でSearchQA最適化パイプラインを実行します。まず、元のシードスキルをベースラインとして評価し、次にSkillOptがロールアウト、リフレクション、集約、選択、更新、および検証ベースのゲーティングを通じてスキルを改善する実際の最適化ループを実行します。その過程で、トレーニング履歴を検査し、精度の変化を視覚化し、編集予算の挙動を確認し、累積トークン使用量を監視し、進化したスキルを元のベースラインと比較します。SkillOpt環境セットアップ
コードをコピーしました
別のブラウザを使用
import os, re, json, glob, subprocess, pathlib, difflib
try:
from google.colab import userdata
OPENAI_KEY = userdata.get("OPENAI_API_KEY")
except Exception:
OPENAI_KEY = os.environ.get("OPENAI_API_KEY", "")
OPENAI_KEY = OPENAI_KEY or "sk-PASTE-YOUR-KEY-HERE"
assert OPENAI_KEY.startswith("sk-"), "実際のOpenAIキーを設定してください (Colab Secrets -> OPENAI_API_KEY)。"
OPTIMIZER_MODEL = "gpt-4o"
TARGET_MODEL = "gpt-4o-mini"
RUN = "outputs/searchqa_adv"
LIMIT = 24
RUN_KNOBS = dict(num_epochs=2, batch_size=8, minibatch=4, merge_batch=4, workers=2, lr=4, lr_sched="cosine", limit=LIMIT)
if not pathlib.Path("/content/SkillOpt/scripts/train.py").exists():
subprocess.run("git clone --depth 1 https://github.com/microsoft/SkillOpt.git", shell=True, cwd="/content")
subprocess.run('pip -q install -e . && pip -q install "openai>=1.0" pandas matplotlib', shell=True, cwd="/content/SkillOpt")
os.chdir("/content/SkillOpt")
os.environ["AZURE_OPENAI_ENDPOINT"] = "https://api.openai.com/v1"
os.environ["AZURE_OPENAI_API_KEY"] = OPENAI_KEY
os.environ["AZURE_OPENAI_AUTH_MODE"] = "openai_compatible"
SPLIT = "data/searchqa_id_split"
CFG = "configs/searchqa/default.yaml"
COMMON = ["--azure_openai_endpoint","https://api.openai.com/"
この記事について質問
記事の内容に答えます。記事外のことは都度ウェブで調べます。