Note
GitHub Copilot Extensions находится в public preview и подлежит изменению.
Введение
Github Copilot skillsets — это упрощенный способ расширения функциональных возможностей GitHub Copilot, определяя конечные точки API, которые Copilot могут вызываться. При создании набора навыков Copilot обрабатывает все взаимодействия СИ, а конечные точки предоставляют данные или функциональные возможности. В этом руководстве описывается настройка и развертывание набора навыков в GitHub App.
Необходимые компоненты
Прежде чем начать, убедитесь, что у вас есть следующее:
- Настроенный объект GitHub App: вам потребуется GitHub App в качестве контейнера для набора навыков. Если вы еще не настроили его, обратитесь к [AUTOTITLE и Настройка приложения GitHub для расширения Copilot](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension).
- Конечные точки API. Для каждого навыка требуется одна конечная точка. Каждая конечная точка должна:
- Прием запросов POST с типом
application/json
MIME - Проверьте подпись запросов из GitHub для проверки подлинности источника и предотвращения несанкционированного доступа
- Общедоступный доступ через HTTPS
- Прием запросов POST с типом
Дополнительные сведения о проверке подписи см. в разделе "Проверка того, что полезные данные приходят из Github".
Требования настройки
Каждый набор навыков определяется в пределах GitHub App. Один GitHub App может содержать до пяти навыков. Каждому отдельному навыку требуется:
- Имя: четкое и описательное имя (например, "Получить проблемы").
- Описание вывода: подробное описание того, что делает навык и когда его использовать (например, "Поиск внешних проблем, соответствующих определенным критериям, таким как состояние и метки").
- Конечная точка API: конечная точка POST, принимаюющая запросы JSON.
- Схема JSON: структура данных, которые ожидает конечная точка.
Пример схемы JSON
В этом примере демонстрируется навык, требующий двух параметров: строки состояния и строки метки. Если параметры отсутствуют, пустой объект с типом "object" должен передаваться в виде текста запроса.
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "filter issues by status (open, closed)",
"enum": ["open", "closed"]
},
"label": {
"type": "string",
"description": "filter issues by label"
}
}
}
Этот формат позволяет пользователям выполнять запросы естественного языка, такие как find open security issues
и Copilot структурировать соответствующий вызов API.
Использование набора навыков
Чтобы использовать набор навыков, выполните приведенные далее действия.
-
Введите
@
имя расширения. -
Введите запрос на естественном языке.
Например:
@skillset-example generate a lorem ipsum
@skillset-example give me sample data with 100 words
Copilot интерпретирует запрос и вызывает соответствующий навык с правильными параметрами. Нет необходимости указывать, какой навык следует использовать: Copilot определяет это из запроса естественного языка и предоставленных описаний вывода.
Настройка набора навыков
- В правом верхнем углу любой страницы на GitHubщелкните фото профиля.
- Перейдите к настройкам учетной записи.
- Для приложения, принадлежащих личная учетная запись, нажмите кнопку "Параметры".
- Для приложения, принадлежащих организации:
- Щелкните Your organizations (Ваши организации).
- Справа от организации нажмите кнопку "Параметры".
- На левой боковой панели щелкните Параметры разработчика.
- На левой боковой панели щелкните GitHub Apps.
- В списке GitHub Appsщелкните GitHub App для набора навыков.
- В меню навигации слева выберите Copilot.
- В разделе "Тип приложения" выберите "Набор навыков" в раскрывающемся меню.
- При необходимости в поле URL-адреса предварительной авторизации введите URL-адрес , в котором пользователи будут перенаправлены для запуска процесса проверки подлинности. Этот шаг необходим, если API требует, чтобы пользователи подключали свою учетную запись GitHub для доступа к определенным функциям или данным.
- Для каждого навыка, который требуется добавить (максимум 5):
- Нажмите кнопку "Добавить новый навык".
- Введите четкое имя навыка (например, "Создать данные Lorem Ipsum").
- Напишите подробное описание вывода, чтобы помочь Copilot понять, когда использовать этот навык.
- Добавьте URL-адрес конечной точки API, который получит запросы POST.
- В поле "Параметр" добавьте схему JSON, определяющую ожидаемый формат запроса.
- Нажмите кнопку "Добавить определение", чтобы сохранить навык.
- Нажмите кнопку "Сохранить", чтобы сохранить набор навыков.