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. Вставьте следующий рабочий процесс в только что созданный файл.

    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"
                }'
    

    Примечание.

    Рабочие процессы, вызывающие 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. Вставьте следующий пример запроса в созданный файл.

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

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

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

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

    Примечание.

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

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

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

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

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

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

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

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

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

    Совет

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

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