Введение
GitHub Models — это API вывода ИИ из GitHub, который позволяет запускать модели ИИ только с помощью учетных данных GitHub. Вы можете выбрать разные модели, включая OpenAI, Meta и DeepSeek, и использовать их в сценариях, приложениях или даже GitHub Actions, без отдельного процесса проверки подлинности.
Это руководство поможет вам быстро попробовать модели на детской площадке, а затем показано, как запустить первую модель через API или рабочий процесс.
Шаг 1. Попробуйте модели на детской площадке
-
Переход к https://github.com/marketplace/models.
-
На детской площадке выберите по крайней мере одну модель в раскрывающемся меню.
-
Проверьте различные запросы с помощью представления чата **** и сравните ответы из разных моделей.
-
Используйте представление параметров для настройки параметров для тестовых моделей, а затем узнайте, как они влияют на ответы.
Примечание.
Если вы выполнили вход в GitHub, детская площадка работает вне поля. Он использует учетную запись GitHub для доступа— нет необходимых ключей установки или API.
Шаг 2. Вызов API
Полные сведения о доступных полях, заголовках и форматах запросов см. в справочнике по API для GitHub Models.
Для программного вызова моделей вам потребуется:
- Учетная запись GitHub.
- personal access token (PAT) с областью
models
, которую можно создать в параметрах.
-
Выполните следующую
curl
команду, заменивYOUR_GITHUB_PAT
маркер.Bash curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer YOUR_GITHUB_PAT" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/inference/chat/completions \ -d '{"model":"openai/gpt-4.1","messages":[{"role":"user","content":"What is the capital of France?"}]}'
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer YOUR_GITHUB_PAT" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/inference/chat/completions \ -d '{"model":"openai/gpt-4.1","messages":[{"role":"user","content":"What is the capital of France?"}]}'
-
Вы получите ответ следующим образом:
{ "choices": [ { "message": { "role": "assistant", "content": "The capital of France is **Paris**." } } ], ...other fields omitted }
-
Чтобы попробовать другие модели, измените значение
model
поля в полезных данных JSON на один из marketplace.
Шаг 3. Запуск моделей в GitHub Actions
-
В репозитории создайте файл рабочего процесса по адресу
.github/workflows/models-demo.yml
. -
Вставьте следующий рабочий процесс в только что созданный файл.
YAML name: Use GitHub Models on: [push] permissions: models: read jobs: call-model: runs-on: ubuntu-latest steps: - name: Call AI model env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | curl "https://models.github.ai/inference/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -d '{ "messages": [ { "role": "user", "content": "Explain the concept of recursion." } ], "model": "openai/gpt-4o" }'
name: Use GitHub Models on: [push] permissions: models: read jobs: call-model: runs-on: ubuntu-latest steps: - name: Call AI model env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | curl "https://models.github.ai/inference/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -d '{ "messages": [ { "role": "user", "content": "Explain the concept of recursion." } ], "model": "openai/gpt-4o" }'
Примечание.
Рабочие процессы, вызывающие GitHub Models, должны включаться
models: read
в блок разрешений. GitHubразмещенные в нейGITHUB_TOKEN
средства запуска предоставляются автоматически. -
Зафиксируйте и отправьте, чтобы активировать рабочий процесс.
В этом примере показано, как отправить запрос в модель и использовать ответ в рабочих процессах непрерывной интеграции (CI). Дополнительные варианты использования, такие как сводка проблем, обнаружение отсутствующих шагов воспроизведения для отчетов об ошибках или реагирование на запросы на вытягивание см. в разделе Integrating AI models into your development workflow.
Шаг 4. Сохранение первого файла запроса
GitHub Models поддерживает повторно используемые запросы, определенные в .prompt.yml
файлах. После добавления этого файла в репозиторий он появится на странице "Модели" репозитория и может выполняться непосредственно в редакторе запросов и средств оценки. Дополнительные сведения о Storing prompts in GitHub repositories.
-
В репозитории создайте файл с именем
summarize.prompt.yml
. Его можно сохранить в любом каталоге. -
Вставьте следующий пример запроса в созданный файл.
YAML name: Text Summarizer description: Summarizes input text concisely model: gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text>
name: Text Summarizer description: Summarizes input text concisely model: gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text>
-
Зафиксируйте и отправьте файл в репозиторий.
-
Перейдите на вкладку "Модели" в репозитории.
-
В меню навигации щелкните Prompts, а затем щелкните файл запроса.
-
Запрос откроется в редакторе запросов. Щелкните Выполнить. На боковой панели справа появится запрос ввода текста. Введите любой входной текст, а затем нажмите кнопку "Выполнить снова" в правом нижнем углу, чтобы проверить его.
Примечание.
Редактор запросов не передает содержимое репозитория в запросы. Вы предоставляете входные данные вручную.
Шаг 5. Настройка первой оценки
Оценки помогают определить, как разные модели реагируют на одни и те же входные данные, чтобы выбрать оптимальный вариант для вашего варианта использования.
-
Вернитесь к файлу, созданному
summarize.prompt.yml
на предыдущем шаге. -
Обновите файл, чтобы он соответствовал следующему примеру.
YAML name: Text Summarizer description: Summarizes input text concisely model: gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text> testData: - input: | The quick brown fox jumped over the lazy dog. The dog was too tired to react. expected: Summary - A fox jumped over a lazy, unresponsive dog. - input: | The museum opened a new dinosaur exhibit this weekend. Families from all over the city came to see the life-sized fossils and interactive displays. expected: Summary - The museum's new dinosaur exhibit attracted many families with its fossils and interactive displays. evaluators: - name: Output should start with 'Summary -' string: startsWith: 'Summary -' - name: Similarity uses: github/similarity
name: Text Summarizer description: Summarizes input text concisely model: gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text> testData: - input: | The quick brown fox jumped over the lazy dog. The dog was too tired to react. expected: Summary - A fox jumped over a lazy, unresponsive dog. - input: | The museum opened a new dinosaur exhibit this weekend. Families from all over the city came to see the life-sized fossils and interactive displays. expected: Summary - The museum's new dinosaur exhibit attracted many families with its fossils and interactive displays. evaluators: - name: Output should start with 'Summary -' string: startsWith: 'Summary -' - name: Similarity uses: github/similarity
-
Зафиксируйте и отправьте файл в репозиторий.
-
В репозитории щелкните вкладку "Модели ". Затем щелкните Запросы и повторно откройте тот же запрос в редакторе запросов.
-
В верхнем левом углу можно переключить представление из "Изменить " для сравнения. Щелкните Compare (Сравнить).
-
Оценка будет настроена автоматически. Нажмите кнопку "Выполнить" , чтобы просмотреть результаты.
Совет
Щелкнув "Добавить запрос", вы можете запустить один и тот же запрос с разными моделями или изменить формулировку запроса, чтобы получить ответы на вывод с несколькими вариантами одновременно, просмотреть оценки и просмотреть их параллельно, чтобы принимать решения на основе данных.