github_copilot_openai_api_wrapper は何をしますか?
任意のOpenAI互換クライアントからGitHub Copilotにアクセスできるようにする、ローカルサーバーを介してCopilot Chat APIにリクエストをプロキシするスキルです。
概要
このラッパーは、GitHub CopilotのチャットAPIをOpenAI互換のAPIエンドポイントとして公開します。これにより、OpenAI SDK、cURL、Postman、その他のHTTPクライアントを使用してCopilotの機能を利用できます。
前提条件
- Node.js(バージョン18以上)
- 有効なGitHub Copilotサブスクリプション
- GitHub個人アクセストークン(
read:userおよびuser:emailスコープが必要)
インストール
git clone https://github.com/Axillaryfossaprize786/github_copilot_openai_api_wrapper.git
cd github_copilot_openai_api_wrapper
npm install
設定
環境変数を設定するか、.env ファイルを作成します。
# .env
GITHUB_TOKEN=ghp_あなたのトークン
PORT=3000 # オプション、デフォルトは3000
または、環境変数を直接エクスポートします:
export GITHUB_TOKEN=ghp_あなたのトークン
export PORT=3000
使用方法
サーバーを起動します:
npm start
サーバーが http://localhost:3000 で起動します。
エンドポイント
POST /v1/chat/completions- OpenAI互換のChat CompletionエンドポイントPOST /v1/completions- (オプション)レガシー補完エンドポイントGET /v1/models- 利用可能なモデルをリスト表示
OpenAI Pythonクライアントの例
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:3000/v1",
api_key="ignored" # ラッパーはこの値を無視します
)
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "user", "content": "Hello, Copilot!"}
]
)
print(response.choices[0].message.content)
cURLの例
curl http://localhost:3000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4",
"messages": [{"role": "user", "content": "こんにちは"}]
}'
注意事項
- このラッパーは非公式であり、GitHubによってサポートされていません。
- 使用には有効なCopilotサブスクリプションが必要です。
- すべてのリクエストは、お使いの環境で設定されたGitHubトークンを使用してCopilot APIにプロキシされます。
ライセンス
MIT