Open7

GitHub Modelsお試し

kaakaakaakaa

先日、GitHub Modelsなる機能が開始され、なんとなくGitHub Copilotのモデルをいじれる機能なのかなという印象を持ったが、具体的に何ができるのかよくわからなかったのでとりあえずPublic Betaに申し込んでおり、使えるようになったようなので使ってみる。
GitHub、AIアプリ開発環境「GitHub Models」発表。主要なAIモデルをプレイグラウンドで評価、アプリへの組み込みまでシームレスな環境を提供 - Publickey

8/2に申請して、8/17に使えるようになったので、こちらは2週間ほどで。

kaakaakaakaa

Getting Started

Invitationのメールには GitHub preview termsGitHub models Discussion ぐらいしかなく、何をすれば良いかもよく分からない感じ。

GitHub Copilot Extensionなどと同様、Marketplaceから利用を開始する模様。
Marketplace

MarketplaceのLearn more のリンクにGitHub Modelsの説明があった。
AI モデルを使用したプロトタイプ作成 - GitHub Docs

生成 AI アプリケーションを開発する場合は、GitHub Models を使用して、AI モデルを無料で検索して実験できます。 アプリケーションを運用環境に移行する準備ができたら、有料の Azure アカウントからトークンに切り替えることができます。 Azure AI のドキュメントを参照してください。

生成AIアプリを開発するときに使えるモック(?)的なサービスということらしい。

GitHub モデルの責任ある使用 - GitHub Docs

GitHub Models は、学習、実験、概念実証のアクティビティが可能になるように設計されています。 この機能にはさまざまな制限 (1 分あたりの要求数、1 日あたりの要求数、要求あたりのトークン数、同時要求数など) が適用されます。運用環境のユース ケース向けには設計されていません。

利用量的なところで制限がかかってるらしい。

AI モデルを使用したプロトタイプ作成 - GitHub Docs

Copilot Individual契約だと1日あたり150リクエストぐらい。(無料版と同じ制限というのが少し悲しいが)

kaakaakaakaa

Playground

Modelの利用方法にはWeb上で使うPlaygroundとプログラムから呼び出すAPIの2種類があるらしい。
まずはPlaygroundの方を試してみる。

Marketplaceからモデルの詳細画面に移動。

READMEタブに概要、その他にEvaluation, Transparency, Licenseなどがある。
EvaluationについてはGPT-4oの場合はOpenAIのアナウンスを持ってきているような記述がある一方、Llama3.1Phi-3などではGitHub独自にEvaluationしているような記述になっている。CohereやMistralだとEvaluationタブがないモデルもある。
右サイドバーにはContextや言語などの情報。

右上の >_ Playgroundボタンを押すか、モデル詳細画面上部に表示されているプロンプト例のボタンを押すとPlayground画面に遷移。

System prompt, Max Tokens, Temperature, Top-P, Stop wordを指定できる。

左上のトグルをChatからCodeに変えると、設定したパラメーターを呼び出すコードを表示してくれる。

GPT-4oの場合、プログラム言語はPython, JavaScript, REST (cURL)、SDKはAzure AI Interface SDK, OpenAI SDKが選べる。(他のモデルを見ても、言語は上記3つ、SDKはAzure AI Interface SDKが基本という感じ)

kaakaakaakaa

API

Model詳細画面やPlaygroundの右上にある<> Get startedを押すと、モデルを呼び出すコードを生成できる。

説明の中でコード例の表示などはあるが、Playgroundで設定したパラメータは引き継いでくれないようで、単純にSDKを使ったGetting Startedを表示しているだけな感じ。

あと、Codespacesで試すよう案内はあるが、Codespacesを開くと下のリポジトリが開くだけなので、これもあまり便利そうではなく、単なるCodespacesの宣伝という感じ。
https://github.com/github/codespaces-models

実行にはGitHubのPATが必要になるが、PAT生成時にPermissionは与える必要がなく、GitHub ModelsのModelを動かしているAzure嬢のサービスにGitHubのユーザー情報を送るだけのために使われる感じ。

kaakaakaakaa

AIアプリ開発用のお試し環境を提供するというコンセプトは理解できたが、もう少しコードに落とし込むところが便利になると良いかなと思った。
著名なモデルをサクッと試してみたいときに軽く使えそうなサービスかなというのが現状の印象。

kaakaakaakaa

Model呼び出すコードに使われる ai-inference というパッケージ、npmもpypiの方も今年の6月に1.0.0-beta1がリリースされて、まだ1.0.0はリリースされていないようだ。ライブラリの方がbetaのままサービスの方が出てしまうのはどうなんだろう。
https://www.npmjs.com/package/@azure-rest/ai-inference?activeTab=versions
https://pypi.org/project/azure-ai-inference/#history

そして @azure-rest/ai-inference - npm の方を使ったコードをコピペして持ってきたらエラー...。

GitHubのリポジトリの方を検索してみると、newが必要ないっぽい。

-  const client = new ModelClient(endpoint, new AzureKeyCredential(token));
+  const client = ModelClient(endpoint, new AzureKeyCredential(token));

上記は勘違い。サンプルコードはJavaScript向けだからTypeScriptで書くとエラーが出るというだけだった。