О GitHub Copilot Chat в GitHub
GitHub Copilot Chat в GitHub — это чат-интерфейс, который позволяет взаимодействовать с GitHub Copilot, чтобы задавать и получать ответы на вопросы, связанные с кодированием, внутри GitHub.
Чат-интерфейс предоставляет access к информации о программировании и поддержке без необходимости просматривать документацию или искать на онлайн-форумах.
Примечание.
Copilot Chat также доступен в Visual Studio Code, Visual Studioи наборе идентификаторов JetBrains. Однако функции, доступные в этих IDE, отличаются от функций, доступных на GitHub.
GitHub Copilot Chat может ответить на широкий спектр вопросов, связанных с написанием кода, включая синтаксис, понятия программирования, тестовые варианты, отладку и многое другое. GitHub Copilot Chat не предназначен для ответа на вопросы, не связанные с кодированием, или предоставления общих сведений о темах за пределами написания кода.
Основной поддерживаемый язык для Copilot Chat в GitHub — английский.
GitHub Copilot Chat работает с помощью сочетания обработки естественного языка и machine learning, чтобы понять ваш вопрос и дать вам ответ. Этот процесс можно разбить на несколько шагов.
Обработка входных данных
Запрос ввода от пользователя предварительно обрабатывается системой Copilot Chat, в сочетании с контекстной информацией (например, текущей датой и временем и именем репозитория, который пользователь просматривает) и отправляется в большую языковую модель. Входные данные пользователя могут принимать форму фрагментов кода или обычного языка.
Большая языковая модель принимает запрос, собирает дополнительный контекст (например, данные репозитория, хранящиеся на GitHub или результаты поиска из Bing) и предоставляет ответ на основе запроса. Система предназначена только для реагирования на вопросы, связанные с программированием.
Анализ языковой модели
Затем предварительно обработанный запрос передается через языковую модель Copilot Chat, которая является нейронной сетью, которая была обучена на большом тексте текстовых данных. Языковая модель анализирует входную строку.
Создание ответов
Языковая модель создает ответ на основе анализа входного запроса и контекста, предоставленного ему. Языковая модель может собирать дополнительный контекст (например, данные репозитория, хранящиеся на GitHub или результаты поиска из Bing) и предоставлять ответ на основе запроса. Этот ответ может принимать форму созданного кода, предложения кода или объяснения существующего кода.
Форматирование вывода
Ответ, созданный Copilot Chat, форматируется и представлен пользователю. Copilot Chat может использовать выделение синтаксиса, отступы и другие функции форматирования для добавления clarity к сгенерированному ответу. В зависимости от типа вопроса пользователя также могут быть предоставлены ссылки на контекст, который модель использовала при формировании ответа, такие как файлы исходного кода, проблемы, результаты поиска Bing или документация.
Copilot Chat предназначено для предоставления наиболее релевантного ответа на ваш вопрос. Однако он может не всегда предоставлять ответ, который вы ищете. Пользователи Copilot Chat отвечают за проверку и проверку ответов, созданных системой, чтобы обеспечить их точность и соответствие. Кроме того, в рамках процесса разработки продуктов мы делаем красную команду, чтобы понять и повысить безопасность Copilot Chat. Входные запросы и завершение выходных данных выполняются через фильтры содержимого. Система фильтрации содержимого обнаруживает и предотвращает выходные данные для определенных категорий содержимого, включая вредное, оскорбительные или вне темы. Дополнительные сведения о повышении производительности Copilot Chatсм. в статье "Повышение производительности для Copilot Chat".
Варианты использования для Copilot Chat
Copilot Chat может предоставлять помощь по написанию кода в различных сценариях.
Ответы на вопросы программирования
Вы можете попросить Copilot Chat, чтобы получить справку или уточнение по конкретным проблемам кодирования и получить ответы в формате естественного языка или в формате фрагмента кода.
Ответ, генерируемый Copilot Chat, может использовать набор обучающих данных модели, результаты поиска из Bing и код в ваших репозиториях для ответа на ваши вопросы.
Это может быть полезным инструментом для программистов, так как он может предоставлять рекомендации и поддержку распространенных задач программирования и проблем.
Объяснение кода и предлагаемых улучшений
Copilot Chat может помочь объяснить выбранный код, создав описания естественного языка функциональных возможностей и целей кода. Это может быть полезно, если вы хотите понять поведение кода или не технических заинтересованных лиц, которые должны понять, как работает код. Например, если выбрать функцию или блок кода в редакторе кода, Copilot Chat может создать описание того, что делает код и как он вписывается в общую систему. Это может включать такие сведения, как входные и выходные параметры функции, его зависимости и его назначение в большом приложении.
Copilot Chat также может предложить возможные улучшения выбранного кода, такие как улучшенная обработка ошибок и пограничных вариантов, или изменения в логическом потоке, чтобы сделать код более читаемым.
Создавая объяснения и предлагая связанную документацию, Copilot Chat может помочь вам понять выбранный код, что приведет к улучшению совместной работы и более эффективной разработке программного обеспечения. Однако важно отметить, что созданные объяснения и документация могут не всегда быть точными или полными, поэтому вам потребуется просмотреть и иногда исправить данные Copilot Chatвыходные данные.
Предложение исправлений кода
Copilot Chat может предложить исправление ошибок в коде, предложив фрагменты кода и решения на основе контекста ошибки или проблемы. Это может быть полезно, если вы пытаетесь определить первопричину ошибки или вам нужно руководство по лучшему способу ее устранения. Например, если код создает сообщение об ошибке или предупреждение, Copilot Chat может предложить возможные исправления на основе сообщения об ошибке, синтаксиса кода и окружающего кода.
Copilot Chat может предложить изменения переменных, структур управления или вызовов функций, которые могут устранить проблему и создать фрагменты кода, которые можно включить в базу кода. Однако важно отметить, что предложенные исправления могут не всегда быть оптимальными или полными, поэтому вам потребуется проверить и проверить предложения.
Планирование задач программирования
Copilot Chat может считывать проблему GitHub и суммировать ее, ответить на вопросы или предложить дальнейшие действия. Это может быть полезно, если у вас длинная, сложная проблема с множеством комментариев, и вы хотите быстро её понять или понять, что to делать дальше.
Однако важно отметить, что Copilot Chatответы и сводки могут не всегда быть точными или полными, поэтому вам потребуется просмотреть Copilot Chatдля точности.
Сведения о выпусках, обсуждениях и фиксациях
Copilot Chat поможет узнать, что изменилось в определенном выпуске, он может суммировать информацию в обсуждении, и объяснить изменения в определенной фиксации. Это может быть полезно, если, например, вы новичок в project, хотите быстро понять суть обсуждения или нужно работать над кодом, который написал кто-то другой. Однако важно отметить, что Copilot Chatсводки выпусков, обсуждений и фиксаций могут не всегда быть точными или полными.
Повышение производительности для Copilot Chat
Copilot Chat может поддерживать широкий спектр практических применений, таких как Q&A А, генерация кода, code analysis и исправления кода, каждое из которых имеет свои показатели производительности и стратегии снижения последствий. Чтобы повысить производительность и устранить некоторые ограничения Copilot Chat, существуют различные меры, которые можно применить. Для получения дополнительной информации о ограничениях Copilot Chat см. Ограничения GitHub Copilot Chat.
Сохранение запросов в разделе
Copilot Chat предназначен для решения запросов, связанных исключительно с программированием. Поэтому ограничение запроса на кодирование вопросов или задач может повысить качество выходных данных модели.
Использование Copilot Chat в качестве средства, а не замены
Хотя Copilot Chat может быть мощным инструментом для создания кода, важно использовать его в качестве инструмента, а не замены человеческого программирования. Всегда следует проверять и тестировать код, созданный Copilot Chat для обеспечения соответствия вашим требованиям и без ошибок или проблем безопасности.
Использование безопасных методов написания кода и проверки кода
Хотя Copilot Chat может генерировать синтаксически правильный код, он не всегда может быть безопасным. Рекомендуется всегда следовать рекомендациям по безопасному кодированию, таким как предотвращение жестко закодированных паролей или уязвимостей внедрения SQL, а также рекомендации по проверке кода для решения ограничений Copilot Chat.
Предоставление отзыва
Примечание.
Возможность предоставления обратной связи GitHub о Краткое описание pull request Copilot зависит от параметров предприятия. Дополнительные сведения см. в разделе Управление политиками и функциями GitHub Copilot в вашем предприятии.
Если возникают какие-либо проблемы или ограничения с Copilot Chat в GitHub, рекомендуется предоставить отзыв, щелкнув значок вниз под каждым ответом чата. Это может помочь разработчикам улучшить инструмент и устранить любые проблемы или ограничения.
Получайте актуальные новости
Copilot Chat — это новая технология и, скорее всего, будет развиваться с течением времени. Для GitHub Copilot Chat в GitHub у вас всегда будет access актуального опыта продукта. Вы должны оставаться в курсе любых новых рисков безопасности или рекомендаций, которые могут возникнуть.
Ограничения GitHub Copilot Chat
В зависимости от таких факторов, как база кода и входные данные, при использовании Copilot Chatмогут возникнуть различные уровни производительности. Следующие сведения предназначены для понимания ограничений системы и ключевых понятий о производительности при применении к Copilot Chat.
Ограниченная область
Copilot Chat был обучен на большом тексте кода, но по-прежнему имеет ограниченную область и может не иметь возможности обрабатывать более сложные структуры кода или неясные языки программирования. Для каждого языка качество получаемых предложений может зависеть от объема и разнообразия обучающих данных для этого языка. Например, JavaScript хорошо представлен в общедоступных репозиториях и является одним из наиболее поддерживаемых языков GitHub Copilot. Языки с меньшим представлением в общедоступных репозиториях могут быть более сложными для Copilot Chat для предоставления помощи. Кроме того, Copilot Chat может предлагать только код на основе контекста написанного кода, поэтому он может не идентифицировать более крупные проблемы проектирования или архитектуры.
Потенциальные смещения
обучающие данные данных variables.product.prodname_copilot_short %} (взятые из существующих репозиториев кода) и контекст, собранный большой языковой моделью (например, Bing результатах поиска), могут содержать предвзятости и ошибки, которые инструмент может допустить. Кроме того, Copilot Chat может быть предвзято к определенным языкам программирования или стилям программирования, что может привести к неоптимальным или неполным предложениям кода.
Угрозы безопасности
Copilot Chat создает код на основе контекста написанного кода, который может потенциально предоставлять конфиденциальную информацию или уязвимости, если не используется тщательно. При использовании Copilot Chat следует внимательно создавать код для приложений, чувствительных к безопасности, и всегда проверять созданный код тщательно.
Совпадения с открытым кодом
Copilot Chat может создавать новый код, который он делает в вероятностном способе. Хотя вероятность создания кода, соответствующего коду в обучаемом наборе, низка, предложение Copilot Chat может содержать фрагменты кода, соответствующие коду в наборе обучения.
Если у вас есть отключенные предложения, соответствующие общедоступному коду, то Copilot Chat использует фильтры, которые не позволяют отображать код, соответствующий коду, найденном в общедоступных репозиториях на GitHub. Тем не менее, вы всегда должны принимать те же меры предосторожности, что и любой код, который вы пишете, который использует материал, который вы не исходили независимо, включая меры предосторожности, чтобы обеспечить его пригодность. К ним относятся строгое тестирование, сканирование IP-адресов и проверка уязвимостей системы безопасности.
Если вы включили предложения, соответствующие общедоступному коду, то Copilot Chat отображает сообщение при обнаружении соответствующего кода. В сообщении содержатся ссылки на репозитории GitHub, содержащие соответствующий код, а также любые найденные лицензионные данные. Для получения дополнительной информации см. Поиск публичного кода, соответствующего рекомендациям GitHub Copilot.
Неточный код
Одним из ограничений Copilot Chat является то, что он может создать код, который, как представляется, является допустимым, но на самом деле не может быть семантично или синтаксически правильно или может не точно отражать намерение разработчика. Чтобы снизить риск неточного кода, необходимо тщательно проверить созданный код, особенно при работе с критически важными или конфиденциальными приложениями. Кроме того, необходимо убедиться, что созданный код соответствует рекомендациям и шаблонам проектирования и соответствует общей архитектуре и стилю базы кода.
Неточные ответы на темы, не относящиеся к кодированию
Copilot Chat не предназначен для ответа на вопросы, не связанные с программированием, поэтому его ответы могут быть не всегда точными или полезными в этих контекстах. Если пользователь запрашивает Copilot Chat вопрос, отличный от программирования, он может создать ответ, который не имеет значения или не учитывается, или может просто указать, что он не может предоставить полезный ответ.
Использование веб-поиска для ответа на вопрос
В зависимости от вашего вопроса, GitHub Copilot Chat может по желанию использовать поиск Bing для ответа на ваш вопрос. Copilot будет использовать Bing для запросов о недавних событиях, новых тенденциях или технологиях, очень специфических темах, либо когда пользователь явно запрашивает веб-поиск. Ваш администратор GitHub Enterprise может включить Bing для всего вашего предприятия или делегировать это решение администратору организации. Дополнительные сведения см. в разделе Управление политиками и функциями GitHub Copilot в вашем предприятии.
При использовании Bing Copilot будет использовать содержимое вашего запроса, а также дополнительный доступный контекст, чтобы сгенерировать Bing поисковый запрос от вашего имени, который отправляется в Bing Search API. Copilot предоставит ссылку на результаты поиска с его ответом. Поисковый запрос, отправленный Bing, регулируется Заявлением о конфиденциальности Microsoft.
Использование Bring Your Own Key (BYOK) с GitHub Copilot
Когда вы используете Bring Your Own Key с GitHub Copilot Chat, вы можете подключить чат к крупным языковым моделям от поддерживаемых провайдеров, выходящих за рамки стандартной Copilot. Примеры поддерживаемых провайдеров включают Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, совместимые с OpenAI и xAI. Вы добавляете свой API для выбранного провайдера напрямую в настройках Copilot.
Когда BYOK активен:
-
**Область функции**: выбранная вами модель используется в GitHub Copilot Chat. В режиме агента основной диалог осуществляется BYOK, но некоторые действия, такие как код-аппликация или другие вызовы инструментов, всё равно могут использовать GitHub-ориентированные модели, оптимизированные для этих задач. Эти встроенные модели не работают через вашего поставщика BYOK. -
**Процессы безопасности**: независимо от активного провайдера, ответы всё равно проходят через системы безопасности GitHub, включая фильтрацию контента, прежде чем результаты будут показаны вам. -
**Вопросы качества**: рекомендации могут различаться в зависимости от сильных сторон и покрытия обучения выбранного вами специалиста. -
**Обработка данных**: При использовании BYOK ваши запросы и ответы передаются выбранному провайдеру и могут подчиняться политикам хранения данных и конфиденциальности этого провайдера. GitHub временно обрабатывает эти данные для фильтрации безопасности, но не сохраняет содержимое разговоров BYOK дольше длительности сессии. -
**Ваши обязанности**: Вы несёте ответственность за следующее:- Безопасность ключа API провайдера
- Затраты на использование или квоты
- Валидация выходных данных
- Оценка соответствия выбранной вами модели вашим требованиям по безопасности и качеству
- Соблюдение условий выбранного вами провайдера
- Определение соответствия выбранной вами модели применимым законам
- Обеспечение того, чтобы человек проверял любой результат перед тем, как использовать их для принятия решений, влияющих на людей
-
**Ограничения на экспорт**: Некоторые модели ИИ могут подвергаться экспортному контролю. Убедитесь, что выбранный вами поставщик и модель разрешены для использования в вашей юрисдикции.
BYOK даёт вашей организации возможность выбрать языковую модель, которая лучше всего соответствует вашим потребностям, при этом используя инфраструктуру безопасности GitHub. Обратите внимание, что производительность и характеристики безопасности модели зависят от поставщика.
Следующие шаги
Дополнительные сведения об использовании GitHub Copilot Chat в GitHubсм. в статье:
-
[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-chat/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)
Дополнительные материалы
-
[автозаголовок](/free-pro-team@latest/site-policy/github-terms/github-copilot-pre-release-terms) -
[GitHub Copilot Trust Center](https://copilot.github.trust.page/)