Данные GitHub Copilot
В этом уроке мы рассмотрим, как GitHub Copilot обрабатывает данные для различных сред, функций и конфигураций.
Обработка данных для предложений кода GitHub Copilot
GitHub Copilot в редакторе кода не сохраняет никаких запросов, таких как код или другой контекст, используемый для предоставления предложений для обучения базовых моделей. Он отменяет запросы после возврата предложения.
Подписчики GitHub Copilot Individual могут отказаться от предоставления общего доступа к своим запросам с помощью GitHub, который в противном случае будет использоваться для точной модели GitHub.
Обработка данных для чата GitHub Copilot
GitHub Copilot Chat работает как интерактивная платформа, что позволяет разработчикам участвовать в диалоговых взаимодействиях с помощником по искусственному интеллекту для получения помощи по программированию. Ниже приведены шаги, которые он выполняет, которые могут отличаться от других функций, таких как завершение кода:
- Форматирование: Copilot тщательно форматирует созданный ответ для оптимальной презентации в интерфейсе чата. Он выделяет фрагменты кода для улучшения удобочитаемости и может включать варианты прямой интеграции с кодом. Copilot демонстрирует форматированный ответ в окне чата Copilot в интегрированной среде разработки, что позволяет легко просматривать и взаимодействовать с предоставленными сведениями.
- Взаимодействие с пользователями. Вы можете активно взаимодействовать с ответом, задавая ответы на последующие вопросы, запрашивая уточнения или предоставляя дополнительные сведения. Интерфейс чата поддерживает журнал бесед для упрощения контекстного понимания в последующих взаимодействиях.
- Хранение данных. Для чата Copilot, используемого за пределами редактора кода, GitHub обычно сохраняет запросы, предложения и вспомогательный контекст в течение 28 дней. Определенные политики хранения для Чата Copilot в редакторе кода могут отличаться.
То же самое относится к CLI, Mobile и GitHub Copilot Chat на GitHub.com.
Типы запросов, поддерживаемые чатом GitHub Copilot
GitHub Copilot Chat обрабатывает широкий спектр запросов, связанных с программированием, демонстрируя его универсальность в качестве помощника по программированию общения. Ниже приведены некоторые распространенные типы входных данных:
- Прямые вопросы. Вы можете задать конкретные вопросы о понятиях программирования, библиотеках или устранении неполадок. Например, "Разделы справки реализовать алгоритм быстрого сортировки в Python?" или "Почему компонент React не отображается?"
- Запросы, связанные с кодом: можно запросить создание кода, изменение или объяснение. Примеры: "Запись функции для вычисления факториального", "Исправление этой ошибки в моем коде" или "Объяснить фрагмент кода".
- Открытые запросы. Вы можете изучить концепции написания кода или искать общие рекомендации, задав открытые вопросы, такие как "Какие рекомендации по написанию чистого кода?" или "Как повысить производительность приложения Python?"
- Контекстные запросы. Вы можете указать фрагменты кода или описать конкретные сценарии написания кода для получения специализированной помощи. Например, "Вот часть кода, вы можете предложить улучшения?" или "Я создаю веб-приложение, вы можете помочь мне с потоком проверки подлинности?"
Способность Copilot Chat обрабатывать различные типы входных данных улучшает свою программу в качестве комплексного компаньона по программированию.
Ограниченные окна контекста
Хотя чат GitHub Copilot преуспевает в понимании и ответе на запросы, важно признать ограничение контекстных окон. Это относится к объему окружающего кода и тексту, который модель может обрабатывать одновременно для создания предложений. Окно контекста GitHub Copilot обычно варьируется от примерно 200 до 500 строк кода или до нескольких тысяч маркеров. Это ограничение может отличаться в зависимости от конкретной реализации и используемой версии Copilot.
В настоящее время Copilot Chat работает с окном контекста 4k токенов, предоставляя более широкую область для понимания и реагирования на запросы пользователей по сравнению со стандартным Copilot.
Несмотря на эти улучшения, при создании запросов следует учитывать ограничения окна контекста. Разбиение сложных проблем на более мелкие, более ориентированные запросы или предоставление соответствующих фрагментов кода может значительно повысить способность модели обеспечить точные и полезные ответы.