Skip to main content

Краткое руководство по моделям GitHub

Запустите первую модель с помощью GitHub Models в минутах.

Введение

GitHub Models — это API вывода ИИ из GitHub, который позволяет запускать модели ИИ только с помощью учетных данных GitHub. Вы можете выбрать разные модели, включая OpenAI, Meta и DeepSeek, и использовать их в сценариях, приложениях или даже GitHub Actions, без отдельного процесса проверки подлинности.

Это руководство поможет вам быстро попробовать модели на детской площадке, а затем показано, как запустить первую модель через API или рабочий процесс.

Шаг 1. Попробуйте модели на детской площадке

  1. Переход к https://github.com/marketplace/models.

  2. На детской площадке выберите по крайней мере одну модель в раскрывающемся меню.

  3. Проверьте различные запросы с помощью представления чата **** и сравните ответы из разных моделей.

  4. Используйте представление параметров для настройки параметров для тестовых моделей, а затем узнайте, как они влияют на ответы.

    Примечание.

    Если вы выполнили вход в GitHub, детская площадка работает вне поля. Он использует учетную запись GitHub для доступа— нет необходимых ключей установки или API.

Шаг 2. Вызов API

Полные сведения о доступных полях, заголовках и форматах запросов см. в справочнике по API для GitHub Models.

Для программного вызова моделей вам потребуется:

  • Учетная запись GitHub.
  • personal access token (PAT) с областью models , которую можно создать в параметрах.
  1. Выполните следующую 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?"}]}'
    
  2. Вы получите ответ следующим образом:

    {
      "choices": [
        {
          "message": {
            "role": "assistant",
            "content": "The capital of France is **Paris**."
          }
        }
      ],
      ...other fields omitted
    }
    
  3. Чтобы попробовать другие модели, измените значение model поля в полезных данных JSON на один из marketplace.

Шаг 3. Запуск моделей в GitHub Actions

  1. В репозитории создайте файл рабочего процесса по адресу .github/workflows/models-demo.yml.

  2. Вставьте следующий рабочий процесс в только что созданный файл.

    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 средства запуска предоставляются автоматически.

  3. Зафиксируйте и отправьте, чтобы активировать рабочий процесс.

В этом примере показано, как отправить запрос в модель и использовать ответ в рабочих процессах непрерывной интеграции (CI). Дополнительные варианты использования, такие как сводка проблем, обнаружение отсутствующих шагов воспроизведения для отчетов об ошибках или реагирование на запросы на вытягивание см. в разделе Integrating AI models into your development workflow.

Шаг 4. Сохранение первого файла запроса

GitHub Models поддерживает повторно используемые запросы, определенные в .prompt.yml файлах. После добавления этого файла в репозиторий он появится на странице "Модели" репозитория и может выполняться непосредственно в редакторе запросов и средств оценки. Дополнительные сведения о Storing prompts in GitHub repositories.

  1. В репозитории создайте файл с именем summarize.prompt.yml. Его можно сохранить в любом каталоге.

  2. Вставьте следующий пример запроса в созданный файл.

    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
    
  3. Зафиксируйте и отправьте файл в репозиторий.

  4. Перейдите на вкладку "Модели" в репозитории.

  5. В меню навигации щелкните Prompts, а затем щелкните файл запроса.

  6. Запрос откроется в редакторе запросов. Щелкните Выполнить. На боковой панели справа появится запрос ввода текста. Введите любой входной текст, а затем нажмите кнопку "Выполнить снова" в правом нижнем углу, чтобы проверить его.

    Примечание.

    Редактор запросов не передает содержимое репозитория в запросы. Вы предоставляете входные данные вручную.

Шаг 5. Настройка первой оценки

Оценки помогают определить, как разные модели реагируют на одни и те же входные данные, чтобы выбрать оптимальный вариант для вашего варианта использования.

  1. Вернитесь к файлу, созданному summarize.prompt.yml на предыдущем шаге.

  2. Обновите файл, чтобы он соответствовал следующему примеру.

      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
    
  3. Зафиксируйте и отправьте файл в репозиторий.

  4. В репозитории щелкните вкладку "Модели ". Затем щелкните Запросы и повторно откройте тот же запрос в редакторе запросов.

  5. В верхнем левом углу можно переключить представление из "Изменить " для сравнения. Щелкните Compare (Сравнить).

  6. Оценка будет настроена автоматически. Нажмите кнопку "Выполнить" , чтобы просмотреть результаты.

    Совет

    Щелкнув "Добавить запрос", вы можете запустить один и тот же запрос с разными моделями или изменить формулировку запроса, чтобы получить ответы на вывод с несколькими вариантами одновременно, просмотреть оценки и просмотреть их параллельно, чтобы принимать решения на основе данных.

Следующие шаги