AIがPythonコードを生成、テスト、評価する方法
Salesforce CodeGen Tutorial: Generate, Validate, and Rerank Python Functions With Unit Tests and Safety Checks

Salesforceのコード生成AIがPython関数を自動生成し、テストや安全確認で品質を高める仕組みを公開。AIがより信頼性の高いコードを自動で作成可能に。
このチュートリアルでは、Salesforce CodeGen のエンドツーエンドのワークフローを実装します。Hugging FaceからCodeGenモデルをロードし、コード生成のために準備し、自然言語のプロンプトからPython関数を生成するために使用します。次に、関数抽出、構文チェック、静的安全性チェック、ユニットテストに基づく検証、best-of-N候補のリランキング、多段階プログラム合成、プロンプトスタイルの実験、ベンチマークの可視化、アーティファクトのエクスポートを追加することで、基本的な推論を超えた機能を提供します。このワークフローを通じて、CodeGenがコード補完モデルとしてだけでなく、生成されたソリューションを評価、フィルタリング、整理する構造化されたコード生成パイプラインの一部としてどのように使用できるかを学びます。<br>Hugging FaceからSalesforce CodeGenモデルをロードする<br>コードをコピー<br>コピー済み<br>別のブラウザを使用<br>import os, sys, subprocess, textwrap, json, re, time, math, ast, tempfile, multiprocessing as mp from pathlib import Path<br>def sh(cmd):<br> print(f"<br>$ {cmd}")<br> subprocess.run(cmd, shell=True, check=True)<br>sh(f"{sys.executable} -m pip install -q -U transformers accelerate safetensors einops datasets evaluate pandas matplotlib tqdm rich radon tiktoken")<br>import torch<br>import pandas as pd<br>import matplotlib.pyplot as plt<br>from tqdm.auto import tqdm<br>from rich import print<br>from rich.panel import Panel<br>from rich.syntax import Syntax<br>from transformers import AutoTokenizer, AutoModelForCausalLM, set_seed<br>from radon.complexity import cc_visit<br>OUT_DIR = Path("/content/codegen_advanced_tutorial")<br>OUT_DIR.mkdir(parents=True, exist_ok=True)<br>set_seed(42)<br>print(Panel.fit("Salesforce CodeGen Advanced Tutorial", style="bold green"))<br>print("<br>Runtime information")<br>print("Python:", sys.version.split()[0])<br>print("Torch:", torch.__version__)<br>print("CUDA available:", torch.cuda.is_available())<br>if torch.cuda.is_available():<br> print("GPU:", torch.cuda.get_device_name(0))<br> print("CUDA memory GB:", round(torch.cuda.get_device_properties(0).total_memory / 1e9, 2))<br>MODEL_ID = os.environ.get("CODEGEN_MODEL_ID", "Salesfor
この記事について質問
記事の内容に答えます。記事外のことは都度ウェブで調べます。