Введение
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
. -
Вставьте следующий рабочий процесс в только что созданный файл.
name: GitHub Models Demo on: [push] permissions: contents: read models: read jobs: summarize-repo: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Summarize the repository README run: | SUMMARY_INPUT=$(head -c 4000 README.md) PROMPT="Summarize this repository in one sentence. Here is the README:\n$SUMMARY_INPUT" PAYLOAD=$(jq -n --arg prompt "$PROMPT" '{ model: "openai/gpt-4.1", messages: [ {role: "user", content: $prompt} ] }') RESPONSE=$(curl -sL \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer $" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/inference/chat/completions \ -d "$PAYLOAD") echo "$RESPONSE" | jq -r '.choices[0].message.content'
Примечание.
Рабочие процессы, вызывающие 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
. Его можно сохранить в любом каталоге. -
Вставьте следующий пример запроса в созданный файл.
name: One-line summary description: Ask the model to summarize a paragraph in one sentence. messages: - role: user content: 'Summarize the following text in one sentence: ' model: openai/gpt-4o
-
Зафиксируйте и отправьте файл в репозиторий.
-
Перейдите на вкладку "Модели" в репозитории.
-
В меню навигации щелкните Prompts, а затем щелкните файл запроса.
-
Запрос откроется в редакторе запросов. Щелкните Выполнить. На боковой панели справа появится запрос ввода текста. Введите любой входной текст, а затем нажмите кнопку "Выполнить снова" в правом нижнем углу, чтобы проверить его.
Примечание.
Редактор запросов не передает содержимое репозитория в запросы. Вы предоставляете входные данные вручную.
Шаг 5. Настройка первой оценки
Оценки помогают определить, как разные модели реагируют на одни и те же входные данные, чтобы выбрать оптимальный вариант для вашего варианта использования.
-
Вернитесь к файлу, созданному
summarize.prompt.yml
на предыдущем шаге. -
Обновите файл, чтобы он соответствовал следующему примеру.
name: One-line summary description: Ask the model to summarize a paragraph in one sentence. messages: - role: user content: 'Summarize the following text in one sentence: ' model: openai/gpt-4o testData: - 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: >- The museum's new dinosaur exhibit attracted many families with its fossils and interactive displays. - input: >- Lucy baked cookies for the school fundraiser. She spent the entire evening in the kitchen to make sure there were enough for everyone. expected: Lucy baked cookies all evening to support the school fundraiser. evaluators: - name: Similarity uses: github/similarity
-
Зафиксируйте и отправьте файл в репозиторий.
-
В репозитории щелкните вкладку "Модели ". Затем щелкните Запросы и повторно откройте тот же запрос в редакторе запросов.
-
В верхнем левом углу можно переключить представление из "Изменить " для сравнения. Щелкните Compare (Сравнить).
-
Оценка будет настроена автоматически. Нажмите кнопку "Выполнить" , чтобы просмотреть результаты.
Совет
Щелкнув "Добавить запрос", вы можете запустить один и тот же запрос с разными моделями или изменить формулировку запроса, чтобы получить ответы на вывод с несколькими вариантами одновременно, просмотреть оценки и просмотреть их параллельно, чтобы принимать решения на основе данных.