Acerca de GitHub Copilot Chat en GitHub
GitHub Copilot Chat en GitHub es una interfaz de chat que le permite interactuar con GitHub Copilot para preguntar y recibir respuestas a preguntas relacionadas con la codificación dentro de GitHub.
La interfaz de chat proporciona acceso a información sobre codificación y soporte sin necesidad de navegar por la documentación o buscar en foros en línea.
Nota:
chat de Copilot también está disponible en Visual Studio Code, Visual Studio y el conjunto de IDE de JetBrains. Sin embargo, las características disponibles en estos IDE difieren de las características disponibles en GitHub.
Chat de GitHub Copilot puede responder una amplia variedad de preguntas relacionadas con la codificación sobre temas como sintaxis, conceptos de programación, casos de prueba, depuración, entre otros. Chat de GitHub Copilot no está diseñado para responder preguntas no relacionadas con la codificación ni proporcionar información general sobre temas fuera de la codificación.
El idioma principal admitido para Copilot Chat en GitHub es el inglés.
Chat de GitHub Copilot funciona mediante una combinación de procesamiento de lenguaje natural y machine learning para comprender su pregunta y proporcionarle una respuesta. Este proceso se puede dividir en varios pasos.
Procesamiento de entradas
El sistema chat de Copilot procesa previamente el mensaje de entrada del usuario, combinado con información contextual (por ejemplo, la fecha y hora actuales y el nombre del repositorio que el usuario está viendo actualmente) y se envía a un modelo de lenguaje grande. La entrada del usuario puede adoptar la forma de fragmentos de código o lenguaje sin formato.
El modelo de lenguaje grande tomará el mensaje, recopilará contexto adicional (por ejemplo, los datos del repositorio almacenados en GitHub o los resultados de búsqueda de Bing) y proporcionarán una respuesta basada en el mensaje. El sistema solo está pensado para responder a preguntas relacionadas con la codificación.
Análisis del modelo de lenguaje
A continuación, la solicitud procesada previamente se pasa a través del modelo de lenguaje de chat de Copilot, que es una red neuronal entrenada en un cuerpo de datos de texto de gran tamaño. El modelo de lenguaje analiza la solicitud de entrada.
Generación de respuestas
El modelo de lenguaje genera una respuesta basada en su análisis de la solicitud de entrada y el contexto proporcionado en ella. El modelo de lenguaje puede recopilar contexto adicional (por ejemplo, datos del repositorio almacenados en GitHub o resultados de búsqueda de Bing) y proporcionar una respuesta basada en el mensaje. Esta respuesta puede adoptar la forma de código generado, sugerencias de código o explicaciones del código existente.
Formato de salida
Se aplica formato a la respuesta generada por chat de Copilot y se la presenta al usuario. chat de Copilot puede usar el resaltado de sintaxis, sangría y otras características de formato para agregar claridad a la respuesta generada. Según el tipo de pregunta del usuario, también se pueden proporcionar vínculos al contexto que usa el modelo al generar una respuesta, como archivos de código fuente, problemas, Bing resultados de búsqueda o documentación.
chat de Copilot está pensado para proporcionarte la respuesta más pertinente para tu pregunta. Sin embargo, es posible que no siempre proporcione la respuesta que buscas. Los usuarios de chat de Copilot son responsables de revisar y validar las respuestas que el sistema genera para asegurarse de que son precisas y adecuadas. Además, como parte del proceso de desarrollo de productos, realizamos red teaming para comprender y mejorar la seguridad de chat de Copilot. Los mensajes de entrada y las finalizaciones de salida se ejecutan a través de filtros de contenido. El sistema de filtrado de contenido detecta e impide la salida en categorías específicas de contenido, incluido contenido dañino, ofensivo o fuera del tema. Para obtener más información sobre cómo mejorar el rendimiento de chat de Copilot, consulta Mejora del rendimiento para chat de Copilot.
Casos de uso para chat de Copilot
chat de Copilot puede proporcionar asistencia de codificación en diversos escenarios.
Respuesta a las preguntas de codificación
Puedes pedirle a chat de Copilot ayuda o aclaración en caso de problemas de codificación específicos y recibir respuestas en formato de lenguaje natural o en formato de fragmento de código.
La respuesta generada por chat de Copilot puede usar el conjunto de datos del modelo de entrenamiento, los resultados de búsqueda de Bing y el código de sus repositorios para responder a sus preguntas.
Esto puede ser una herramienta útil para los programadores, ya que puede proporcionar guías y soporte técnico para tareas y desafíos comunes de codificación.
Explicación del código y sugerencias de mejoras
chat de Copilot puede ayudar a explicar el código seleccionado mediante la generación de descripciones en lenguaje natural del propósito y la funcionalidad del código. Esto puede ser útil si deseas comprender el comportamiento del código o para las partes interesadas no técnicas que necesitan entender cómo funciona el código. Por ejemplo, si seleccionas una función o un bloque de código en el editor de código, chat de Copilot puede generar una descripción en lenguaje natural de lo que hace el código y cómo encaja en el sistema general. Esto puede incluir información como los parámetros de entrada y salida de la función, sus dependencias y su propósito en la aplicación más grande.
chat de Copilot también puede sugerir posibles mejoras en el código seleccionado, como un control mejorado de errores y casos perimetrales, o cambios en el flujo lógico para que el código sea más legible.
Al generar explicaciones y sugerir documentación relacionada, chat de Copilot puede ayudarte a comprender el código seleccionado, lo que lleva a una mejor colaboración y a un desarrollo de software más eficaz. Sin embargo, es importante tener en cuenta que es posible que la documentación y las explicaciones generadas no siempre sean precisas o completas, por lo que deberás revisar (y, en ocasiones, corregir) la salida de chat de Copilot.
Propuesta de correcciones de código
chat de Copilot puede proponer una corrección de los errores existentes en el código; para ello, sugiere fragmentos de código y soluciones en función del contexto del error o problema. Esto puede resultar útil si tienes dificultades para identificar la causa principal de un error o necesitas instrucciones sobre la mejor manera de corregirlo. Por ejemplo, si el código genera un mensaje de error o una advertencia, chat de Copilot puede sugerir correcciones posibles en función del mensaje de error, la sintaxis del código y el código circundante.
chat de Copilot puede sugerir cambios en variables, estructuras de control o llamadas de función que podrían resolver el problema y generar fragmentos de código que se puedan incorporar en el código base. Sin embargo, es importante tener en cuenta que es posible que las correcciones sugeridas no siempre sean óptimas o completas, por lo que deberás revisar y probar las sugerencias.
Planificación de tareas de codificación
chat de Copilot puede leer un problema de GitHub y resumirlo, responder preguntas sobre él o proponer los pasos siguientes. Esto puede ser útil si tiene una incidencia larga y compleja con muchos comentarios, y desea comprenderla rápidamente o averiguar qué hacer a continuación.
Sin embargo, es importante tener en cuenta que es posible que las respuestas y resúmenes de chat de Copilot no siempre sean precisos o completos, por lo que deberá revisar la salida chat de Copilot para obtener precisión.
Obtener información sobre las versiones, discusiones y confirmaciones
chat de Copilot puede ayudarle a averiguar qué ha cambiado en una versión específica, puede resumir la información en una discusión y puede explicar los cambios en una confirmación específica. Esto puede ser útil si, por ejemplo, no está familiarizado con un project, quiere obtener rápidamente el gist de una discusión o necesita trabajar en el código que escribió otra persona. Sin embargo, es importante tener en cuenta que los resúmenes de versiones, debates y confirmaciones de chat de Copilot pueden no siempre ser precisos o completos.
Mejora del rendimiento para chat de Copilot
chat de Copilot puede admitir una amplia gama de aplicaciones prácticas como preguntas y respuestas, generación de código, análisis de código y correcciones de código, cada una con diferentes métricas de rendimiento y estrategias de mitigación. Hay varias medidas que puedes tomar para mejorar el rendimiento y abordar algunas de las limitaciones de chat de Copilot. Para obtener más información sobre las limitaciones de chat de Copilot, consulte Limitaciones de Chat de GitHub Copilot.
Limite sus solicitudes al tema en cuestión
chat de Copilot está pensado exclusivamente para abordar consultas relacionadas con la codificación. Por lo tanto, limitar la solicitud a preguntas o tareas relacionadas con la codificación puede mejorar la calidad de la salida del modelo.
Uso de chat de Copilot como herramienta, no como reemplazo
Si bien chat de Copilot puede ser una herramienta eficaz para generar código, es importante que la utilices como herramienta y no como reemplazo de la programación humana. Siempre debes revisar y probar el código que genera chat de Copilot para asegurarte de que cumple con tus requisitos y que no tiene errores ni problemas de seguridad.
Uso de procedimientos de codificación segura y revisión del código
Si bien chat de Copilot puede generar código sintácticamente correcto, es posible que no siempre sea seguro. Siempre tienes que seguir los procedimientos recomendados para lograr una codificación segura, como evitar las contraseñas codificadas de forma rígida o las vulnerabilidades por inyección de código SQL, así como seguir los procedimientos recomendados de revisión del código, para abordar las limitaciones de chat de Copilot.
Envío de comentarios
Nota:
La capacidad de proporcionar comentarios a GitHub sobre Resúmenes de solicitudes de incorporación de cambios de Copilot depende de la configuración empresarial. Para más información, consulta Administración de directivas y características para GitHub Copilot en su empresa.
Si encuentra algún problema o limitaciones con Copilot Chat en GitHub, le recomendamos enviar comentarios al hacer clic en el icono de pulgar hacia abajo debajo de cada respuesta de chat. Esto puede ayudar a los desarrolladores a mejorar la herramienta y abordar cualquier problema o limitación.
Manténgase actualizado.
chat de Copilot es una tecnología nueva y es probable que evolucione con el tiempo. Para GitHub Copilot Chat en GitHub siempre tendrá el acceso a la experiencia del producto más reciente. Debe mantenerse al día con los riesgos de seguridad o procedimientos recomendados nuevos que puedan surgir.
Limitaciones de Chat de GitHub Copilot
En función de factores como el código base y los datos de entrada, es posible que experimentes distintos niveles de rendimiento al utilizar chat de Copilot. La información siguiente está diseñada para ayudarte a entender las limitaciones del sistema y los conceptos clave sobre el rendimiento aplicables a la chat de Copilot.
Ámbito limitado
chat de Copilot se entrenó en un cuerpo de código grande, pero sigue teniendo un ámbito limitado y es posible que no pueda controlar estructuras de código más complejas o lenguajes de programación oscuros. Para cada idioma, la calidad de las sugerencias que reciba puede depender del volumen y la diversidad de datos de entrenamiento para ese idioma. Por ejemplo, JavaScript está bien representado en repositorios públicos y es uno de los mejores lenguajes admitidos de GitHub Copilot. Los lenguajes con menos representación en repositorios públicos pueden ser más problemáticos para chat de Copilot en términos de apoyo. Además, chat de Copilot solo puede sugerir código basado en el contexto del código que se está escribiendo, por lo que es posible que no pueda identificar problemas de diseño o arquitectura más grandes.
Sesgos posibles
Copilot los datos de entrenamiento (extraídos de repositorios de código existentes) y el contexto recopilado por el modelo de lenguaje extenso (por ejemplo, los resultados de búsqueda de Bing) pueden contener sesgos y errores que podrían ser perpetuados por la herramienta. Además, chat de Copilot puede tener un sesgo hacia determinados lenguajes de programación o estilos de codificación, lo que puede dar lugar a sugerencias de código poco óptimas o incompletas.
Riesgos de seguridad
chat de Copilot genera código basado en el contexto del código que se está escribiendo, lo que puede exponer información confidencial o vulnerabilidades si no se usa cuidadosamente. Debes tener cuidado al usar chat de Copilot para generar código para aplicaciones que afectan a la seguridad y siempre debes revisar y probar el código generado de manera exhaustiva.
Coincidencias con código público
chat de Copilot es capaz de generar código nuevo y lo hace de manera probabilística. Aunque la probabilidad de que pueda generar código que coincida con el código del conjunto de formación es baja, una sugerencia de chat de Copilot puede contener algunos fragmentos de código que coinciden con el código del conjunto de formación.
Si ha deshabilitado las sugerencias que coincidan con el código público, chat de Copilot utiliza filtros que impiden que muestre código que coincida con el código encontrado en repositorios públicos en GitHub. Sin embargo, siempre debe tomar las mismas precauciones que con cualquier código que escriba que use material que no originado de forma independiente, incluidas las precauciones para garantizar su idoneidad. Estas incluyen pruebas rigurosas, examen de IP y revisión de vulnerabilidades de seguridad.
Si ha habilitado las sugerencias que coincidan con código público, chat de Copilot muestra un mensaje si se encuentra código coincidente. El mensaje incluye vínculos a repositorios en GitHub que contienen código coincidente y los detalles de licencia que se encontraron. Para obtener más información, vea Encontrar código público que coincida con las sugerencias de GitHub Copilot.
Código inexacto
Una de las limitaciones de chat de Copilot es que puede generar código que aparenta ser válido, pero que en realidad no es semántica o sintácticamente correcto o puede que no refleje con precisión la intención del desarrollador. Para mitigar el riesgo de código inexacto, debes revisar y probar cuidadosamente el código generado, especialmente cuando se trabaja con aplicaciones críticas o confidenciales. También debes asegurarte de que el código generado cumple con los procedimientos recomendados y los modelos de diseño y se ajusta a la arquitectura general y al estilo del código base.
Respuestas inexactas a temas no relacionados con la codificación
chat de Copilot no está diseñado para responder preguntas no relacionadas con la codificación y, por lo tanto, es posible que sus respuestas no siempre sean precisas o útiles en estos contextos. Si un usuario le hace una pregunta no relacionada con la codificación a chat de Copilot, este puede generar una respuesta irrelevante o sin sentido, o bien simplemente puede indicar que no puede proporcionar ninguna respuesta útil.
Uso de una búsqueda web para responder a una pregunta
Según la pregunta que haga, Chat de GitHub Copilot puede usar opcionalmente una búsqueda de Bing para ayudar a responder a su pregunta. Copilot usarán Bing para consultas sobre eventos recientes, nuevas tendencias o tecnologías, temas muy específicos o cuando el usuario solicite explícitamente una búsqueda web. El administrador de GitHub Enterprise puede habilitar Bing para toda la empresa o puede delegar esta decisión en el administrador de la organización. Para más información, consulta Administración de directivas y características para GitHub Copilot en su empresa.
Al usar Bing, Copilot utilizará el contenido del mensaje, así como contexto disponible adicional, para generar una consulta de búsqueda de Bing en su nombre que se envía a Bing Search API. Copilot proporcionará un vínculo a los resultados de búsqueda con su respuesta. La consulta de búsqueda enviada a Bing se rige por Declaración de privacidad deMicrosoft.
Uso de Bring Your Own Key (BYOK) con GitHub Copilot
Al usar Bring Your Own Key con Chat de GitHub Copilot, puede conectar la experiencia de chat a modelos de lenguaje de gran tamaño de proveedores compatibles más allá del modelo predeterminado Copilot. Entre los ejemplos de proveedores admitidos se incluyen Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, proveedores compatibles con OpenAI y xAI. Puede añadir la clave de API para el proveedor elegido directamente en la configuración de Copilot.
Cuando BYOK está activo:
-
**Alcance de la funcionalidad**: el modelo que has elegido se usa en Chat de GitHub Copilot. En el modo agente, BYOK potencia la conversación principal, pero ciertas acciones, como la aplicación de código u otras llamadas a herramientas, pueden seguir usando modelos hospedados por GitHub optimizados para esas tareas. Estos modelos integrados no se ejecutan a través del proveedor BYOK. -
**Procesos** de seguridad: independientemente del proveedor que esté activo, las respuestas siguen pasando por GitHublos sistemas de seguridad de }, incluido el filtrado de contenido, antes de que se muestren los resultados. -
**Consideraciones de calidad**: las sugerencias pueden variar en función de las fortalezas y la cobertura de entrenamiento de su proveedor elegido. -
**Control de datos**: al usar BYOK, las solicitudes y respuestas se transmiten al proveedor seleccionado y pueden estar sujetas a las directivas de privacidad y retención de datos de ese proveedor. GitHub procesa temporalmente estos datos para el filtrado de seguridad, pero no conserva el contenido de conversación BYOK más allá de la duración de la sesión. -
**Sus responsabilidades**: Usted es responsable de lo siguiente:- Seguridad de la clave de API del proveedor
- Costos de uso o cuotas
- Validación de salida
- Evaluación de si el modelo elegido cumple los requisitos de seguridad y calidad
- Cumplimiento de los términos del proveedor seleccionado
- Determinar si el modelo elegido cumple con las leyes aplicables
- Asegurarse de que un usuario revisa cualquier salida antes de usarla para tomar decisiones que afecten a las personas
-
**Restricciones de exportación**: determinados modelos de IA pueden estar sujetos a controles de exportación. Compruebe que el proveedor y el modelo seleccionados están autorizados para su uso en su jurisdicción.
BYOK permite a su organización elegir el modelo de lenguaje que mejor se adapte a sus necesidades mientras se beneficia de GitHubla infraestructura de seguridad de }. Tenga en cuenta que las características de seguridad y rendimiento del modelo dependen del proveedor.
Pasos siguientes
Para más información sobre cómo usar GitHub Copilot Chat en GitHub, consulte:
-
[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-chat/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)
Información adicional
-
[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-copilot-pre-release-terms) -
[GitHub Copilot Centro de Confianza](https://copilot.github.trust.page/)