はじめに(Python)
このガイドでは、チュートリアルスクリプトを実行するための Python 固有 のセットアップを 説明します。Copilot CLI のインストールと GitHub 認証—すべての言語版で共通—については、 まず共通の はじめに ガイドに従ってください。
前提条件
| 要件 | 最低バージョン | 用途 |
|---|---|---|
| Python | 3.13+ | ランタイム |
| uv | 最新版 | パッケージ管理 |
Node.js(npm) または GitHub CLI(gh) |
最新版 | Copilot CLI のインストール |
| GitHub Copilot サブスクリプション | — | API アクセスに必要 |
インストール
SDK とチュートリアルの依存関係をインストール
チュートリアルスクリプトで使用するすべてのパッケージ(github-copilot-sdk、pydantic、azure-identity など)は src/python/pyproject.toml に宣言されています。uv sync コマンド一つでまとめてインストールできます。
cd src/python
uv sync --all-groups
uv syncは.venv/に仮想環境を作成し、uv.lockに固定された依存関係をすべてインストールします。仮想環境を手動でアクティブ化する代わりにuv run <command>を使うと、その環境内でツールを実行できます。ランタイムのダウンロード(SDK v1.0.4 以降): Python パッケージは Copilot CLI ランタイムを wheel に同梱しなくなり、初回利用時に固定バージョンのランタイムをダウンロードします。
uv run python -m copilot download-runtimeで事前にキャッシュするか、COPILOT_CLI_PATHで既存のcopilotバイナリを再利用してください。自動ダウンロードのフォールバックを無効化するにはCOPILOT_SKIP_CLI_DOWNLOAD=1を設定します(Copilot SDK v1.0.4)。CLI・認証・サーバーモードについて:
copilotCLI のインストール、gh auth loginまたはCOPILOT_GITHUB_TOKENでのサインイン、CLI を TCP サーバーとして起動する方法は、 共通の はじめに と CLI サーバーモード ガイドに 一度だけまとめています。SDK が stdio 経由で CLI を起動するため、チュートリアルの 実行にサーバーは不要です。
最初のスクリプトを実行する
チュートリアルスクリプトは src/python ディレクトリから uv run python で実行すると、管理された仮想環境内で動作します。
cd src/python
uv run python scripts/tutorials/01_chat_bot.py --prompt "What is GitHub Copilot?"
期待される出力(ストリーミング):
GitHub Copilot is an AI-powered coding assistant developed by GitHub and OpenAI...
オブザーバビリティオプション
すべてのチュートリアルスクリプトは、同じ任意の OpenTelemetry オプションを公開します。 各オプションの既定値は対応する環境変数から読み込まれ、エンドポイントを指定しない限り テレメトリは無効です。
| オプション | 環境変数 | 用途 |
|---|---|---|
--otel-endpoint |
OTEL_EXPORTER_OTLP_ENDPOINT |
OTLP HTTP エンドポイント(例: http://localhost:4318) |
--otel-capture-content |
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT |
スパンにプロンプトと応答の内容を含めるかを示す任意の true/false |
--otel-bsp-schedule-delay |
OTEL_BSP_SCHEDULE_DELAY |
スパンのバッチフラッシュ間隔(ミリ秒、任意) |
例:
uv run python scripts/tutorials/01_chat_bot.py \
--otel-endpoint http://localhost:4318 \
--otel-bsp-schedule-delay 500 \
--prompt "Hello!"
プロジェクト構成
src/python/scripts/tutorials/
├── README.md # スクリプト一覧と実行手順
├── 01_chat_bot.py # チュートリアル 1: CLI チャットボット
├── 02_issue_triage.py # チュートリアル 2: カスタムツールによる Issue トリアージ
├── 03_streaming_review.py # チュートリアル 3: ストリーミングコードレビュー
├── 04_skills_docgen.py # チュートリアル 4: スキルによるドキュメント生成
├── 05_audit_hooks.py # チュートリアル 5: セッションフックによる監査ログ
├── 06_byok_azure_openai.py # チュートリアル 6: Azure OpenAI を使った BYOK
└── skills/
├── docgen/SKILL.md
└── coding-standards/SKILL.md
環境変数
すべてのチュートリアルスクリプトは --cli-url(デフォルト: stdio)を受け付けます。共通の CLI
変数(COPILOT_GITHUB_TOKEN、COPILOT_CLI_PATH、COPILOT_CLI_URL)は共通の
はじめに で説明しています。加えて、OpenTelemetry は上記の
標準 OTEL_* 変数、または同等のスクリプトオプションで設定できます。スクリプト 06 は
さらに次の BYOK 設定も読み込みます。
| 変数名 | 用途 | 使用するスクリプト |
|---|---|---|
BYOK_BASE_URL |
Azure OpenAI デプロイのベース URL | スクリプト 06 |
BYOK_API_KEY |
Azure OpenAI API キー | スクリプト 06(api-key 認証) |
BYOK_MODEL |
モデル/デプロイ名 | スクリプト 06 |
次のステップ
環境の準備ができたら、チュートリアルを順番に進めてください:
- CLI チャットボット — Copilot を使った最初のスクリプトを作成
- カスタムツール — 独自のツールでエージェントを拡張
- ストリーミング — リアルタイムでトークンを受信
- スキル — SKILL.md で再利用可能なエージェント動作を定義
- フックとパーミッション — すべてのアクションを観察・制御
- BYOK — Azure OpenAI を LLM バックエンドとして利用