Skip to main content
All CollectionsAcademy
2️⃣ CodeGPT Studio
2️⃣ CodeGPT Studio

Conoce las herramientas en el servicio web de CodeGPT

Updated this week

En esta sección conocerás los detalles de todas las herramientas disponibles en CodeGPT Studio.

Para empezar inicia sesión en este enlace: https://app.codegpt.co/en

En CodeGPT Studio podrás:

  • Interactuar con agentes expertos en nuestro Marketplace

  • Crear tus propios agentes, agregando contexto y bases de conocimiento

  • Conocer como se construyen las conversaciones y evaluar los resultados

¡Empecemos!

Agentes expertos en Marketplace

No te olvides que de acuerdo a tu plan de pago, varía el número de agentes de marketplace que puedes usar. Para más información consulta el la página de Pricing.

Transcripción

Transcripción: En "CodeGPT", puedes interactuar con diversos agentes expertos. Si deseas utilizar un agente experto creado por nosotros, haz clic en la pestaña "Explorar". Allí, podrás acceder a una variedad de agentes especializados en modelos, lenguajes de programación, frameworks y diversas herramientas.
La ventaja de utilizar un agente experto es que puedes interactuar y obtener respuestas sin necesidad de crear contextos o especificar, por ejemplo, versiones de lenguaje o software cada vez que preguntes. Además, no es necesario preocuparse y escribir el contexto cada vez que el agente lo olvide.
Por ejemplo, si deseas interactuar con un agente especializado en Python 3.10, búscalo en el panel y empieza a preguntar directamente. Ten por seguro que te responderá en el contexto de Python 3.10 .
También puedes compartir este agente con otras personas, haciendo clic en el botón "Share", y calificarlo con el botón "Rate me". Recuerda que el historial de mensajes de estos agentes no se guarda en tu cuenta.

Crear tu propio agente

Puedes crear tu propio agente para interactuar con información específica, crear un experto en información que solo tu manejes o adecuar un experto en alguna tecnología a documentacion propia.

Los agentes propios tienen como base el LLM, puedes seleccionar el que se ajuste a tus necesidades, evalualo luego de consultar la documentación.

Transcripción

En este tutorial, aprenderemos cómo crear y personalizar tu propio agente en "CodeGPT Studio". 
- Dirígete a la pestaña "Agentes" en la plataforma.
- Haz clic en el botón ubicado en la parte superior derecha de la pantalla y selecciona "Nuevo Agente".
- Aquí puedes personalizar tu agente, cambiar su nombre y empezar a interactuar directamente con el modelo por defecto.

Por ejemplo, si deseas escribir una función para verificar si una palabra es un palíndromo, el modelo por defecto lo hará en "Python".

En "CodeGPT", tienes la opción de elegir entre diferentes proveedores de Modelos de Lenguaje de Gran Escala (LLMs). Puedes realizar pruebas con las mismas preguntas para determinar cuál es el modelo más adecuado para tus necesidades.

Sin embargo, la elección del modelo debe basarse en sus características y capacidades. Para conocer los beneficios y características de cada modelo, te recomendamos leer la documentación proporcionada por los modelos y sus proveedores.
Por ejemplo, si buscamos la documentación de "DeepSeek R1" en internet, encontraremos varios aspectos importantes a considerar, vamos a resaltar tres de ellos:
- Número de Tokens de Entrada o Ventana de Contexto: Esto indica cuánta información puede recibir el modelo.
- Número de Tokens de Salida: Esto corresponde a la cantidad de información que el modelo puede generar.
- Fecha de Corte de los Datos de Entrenamiento: Esto define qué información específica es necesario agregar y qué información el modelo no contiene.
Con estos pasos, puedes crear y personalizar tu propio agente en "CodeGPT".

Para personalizar tus agentes e incluir conocimiento específico, puedes configurar 3 opciones:

  • El estilo de conversación

  • Las instrucciones o prompt

  • La base de conocimiento, que puede incluir archivos de texto o repositorios de código.

¡Aprendamos como!

Estilo de conversación

Transcripción


El segundo aspecto es ajustar el estilo de conversación. Para ello ajustamos cuánto el modelo puede salirse de contexto. Si lo dejamos en 0 y hacemos una pregunta, obtendremos una respuesta basada en el conocimiento específico 100%. Si lo ponemos en 1 y hacemos la misma pregunta, la respuesta se basará en el contexto del modelo y omitirá al 100% el contexto específico. En este caso no hemos agregado ningún archivo, asi que ambas respuestas son la misma.

Vamos a agregar un archivo de contexto específico para manejar el contenido de las respuestas.
Aunque la mayoría de los modelos están entrenados con información de internet, especialmente de Wikipedia, es posible poner un documento que se enfoque únicamente en la información que queremos que muestre y omita la información del modelo, o al menos la tome en segundo plano respecto a la información específica.

Vamos a agregar el artículo sobre Francia de Wikipedia y vamos a sesgar la generación de la respuesta a este documento. En el próximo video, veremos cómo agregar información específica y hablaremos con más detalles de la base de conocimiento.

Entonces, vamos a preguntar acerca de la capital de Francia, París, y esta sería la respuesta que omite completamente el contexto. Ahora lo ponemos en 1 y hacemos la misma pregunta. La respuesta será diferente, ya que está enmarcada en la información que le acabamos de dar al modelo. Al configurar el estilo de conversación, permitimos al modelo tomar en cuenta en cierto porcentaje la información específica de la base de conocimiento versus la información de entrenamiento que posee el modelo por defecto.

Prompt o instrucciones

Transcripción

El  tercer aspecto importante al momento de definir un agente de IA es crear el prompt. Nosotros lo hemos definido en  "CodeGPT" como instrucciones. Si no tienes experiencia en crear un prompt, haz clic en el botón "Prompt Documentation" y podrás acceder a artículos que te pueden ayudar.

Para construir un buen prompt, vamos a precisar de seis elementos importantes: el rol del agente y sus características, el contexto, algunas instrucciones específicas, el formato de respuesta esperado, el manejo de errores o control de errores, y algunos ejemplos de respuesta. Es recomendable iniciar el formato del prompt de cada una de estas secciones como XML.

De esta manera el modelo podrá conocer cuál es la estructura de las instrucciones definida por el contenido de cada una de estas secciones. Recomendamos el artículo adjunto en el video o en la descripción para que puedas conocer más detalles acerca de la ingeniería de prompts.

Puedes definir el contexto del agente y sus capacidades. Por ejemplo, en el ejercicio que estamos realizando acerca de la "API" de "CodeGPT", en la sección de contexto podemos incluir las capacidades y funciones principales, como explicar los puntos de la "API", proveer ejemplos de código en la integración de la "API", y detallar los errores más comunes que podrían ocurrir al no tener respuestas correctas al momento del llamado del servicio de la API.

También puedes definir dentro del contexto cuál es el nivel de comunicación o cuáles son las características de comunicación. Por ejemplo, hablar en lenguaje claro y técnico, hacer referencia de manera apropiada a la documentación, definir mejores prácticas, y por supuesto, definir el formato de respuesta. Aquí debemos especificar cómo cada vez que el usuario pregunte al modelo, el agente pueda responder de una manera específica.

Luego, el formato de respuesta puede definir cuáles son los errores más comunes y darle alternativas al modelo para responder de manera adecuada. Por ejemplo, en cualquier pregunta que esté relacionada con un tema que no tenga que ver con la "API de "CodeGPT", el agente debería omitir esa respuesta e insistir en iniciar la conversación acerca de la API de "CodeGPT".

También existen consideraciones de seguridad, por ejemplo, para que no se filtren datos innecesarios para los usuarios y para que siempre se respete el límite de respuesta respecto a los términos internos de la documentación, entre otras cosas. Una vez que hemos definido el prompt, podemos volver a preguntar y esperar que el formato de respuesta sea diferente esta vez y que siga las especificaciones que hemos brindado.

En el siguiente video, vamos a conocer cómo agregar conocimiento específico a partir de la pestaña de "AI Knowledge".

Base de conocimiento

La base de conocimiento es información que usa el LLM para construir las respuestas. RAG (retrieval augmented generation) es una técnica innovadora que combina enfoques de recuperación de información relevante y generación de datos en el procesamiento de lenguaje natural.

RAG desempeña un papel crucial en el uso de modelos de lenguaje, ya que los hace más precisos en cuanto a hechos documentados. Esto se logra permitiendo que el modelo cuente con información más actualizada, alimentada por los usuarios. En esencia, mejora la precisión y la relevancia de las respuestas generadas por los modelos de lenguaje.

El Potencial de RAG en CodeGPT

En CodeGPT, desde el principio, hemos reconocido el potencial del RAG para desarrollar agentes especializados de manera sencilla. Agregaremos entonces archivos y codigo como base de conocimiento, ¡Así que comencemos!

Archivos

Transcripción

El cuarto aspecto, es agregar conocimiento específico, podemos incluir dos tipos de información: archivos o repositorios de código. En esta sección, vamos a agregar archivos haciendo clic en "Add New File". Podemos agregar archivos en formato PDF, DOCs, o páginas web, o también archivos de diferentes tipos como TXT y CSV, respetando un tamaño máximo y mínimo de archivo.

También puedes redactar tus propios documentos o contenido desde "Create New File". Podemos agregar un archivo desde el servidor mediante la opción "Upload File". Una vez cargado el documento, hacemos clic en "Start Training" y tendremos este documento agregado a nuestro agente.
Ahora, agreguemos el contenido de una página web. Volvemos a "Add File" y antes borramos el artículo de ejemplo de Francia que usamos anteriormente para dejar solo la documentación de la API.

Agregamos el contenido de la página web, en este caso, la página web de la documentación de la API. Ingresamos la URL y hacemos clic en "Import". El botón "Import" realiza un "scraping" de la página actual y obtiene el contenido de esa página web. Al igual que con los documentos, podemos agregar información adicional en el botón "Show Advanced Settings". Agregamos los metadatos del documento a partir del botón "Generate" y se generan automáticamente. En la pestaña "Chunks", podemos especificar la estrategia de segmentación de texto, lo que disminuye la ventana de contexto al momento de la búsqueda semántica, donde el modelo compara la consulta del usuario con el contenido de los documentos de la base. Puedes disminuir o aumentar el número de tokens o palabras dentro del chunk y también ajustar el "Chunk Overlap", que son las palabras que dan continuidad entre cada uno de los chunks. Por ejemplo, las últimas 10 palabras de un segmento podrían ser las primeras 10 del siguiente segmento de texto. Aplicamos los cambios y hacemos clic en "Start Training".
En adelante, el agente podrá tener en su base de conocimiento esos documentos que tienen que ver con la API de "CodeGPT". El número de documentos se visualizará en la pestaña "Knowledge" con un pequeño número.

Ahora volvamos a preguntar acerca de cómo hacer un agente en la API de "CodeGPT" y esta vez la respuesta estará enmarcada en nuestro el endpoint. Como vemos, la información es específica y hace referencia al endpoint correcto de "CodeGPT". En el siguiente video, veremos cómo agregar más datos.

Recuerda que pueden existir párragos muy largos que excedan los números de tokens máximos y causar un error típico al tratar de usar RAG excediendo la ventana de contexto. Por eso es recomendable analizar el texto y verificar el tamaño de los párrafos, así como a los separadores.

Repositorios de código (representados en grafos)

Transcripción

En CodeGPT, se puede agregar código a la base de conocimiento. Para ello, hacemos clic en "Add Knowledge Base" y seleccionamos la pestaña "Grafos". En este apartado, podemos agregar un repositorio de código como base de conocimiento. Recuerden que esto solo está disponible para proyectos escritos en ciertos lenguajes de programación, por lo que es importante revisar la documentación.

Es necesario agregar una conexión previamente. Hacemos clic en "Agregar Conexión". Actualmente, está disponible en plataformas como GitHub, GitLab, Bitbucket, AWS y Azure. Agregamos la conexión y, una vez otorgados los permisos necesarios, procedemos a crear los grafos.

Esperamos la confirmación de la conexión exitosa y hacemos clic en "Crear Nuevo Grafo". Luego, seleccionamos el proveedor de repositorios configurado anteriormente, en este caso, GitHub. Ingresamos el usuario, el nombre del repositorio y la rama. Si no encuentras el nombre del repositorio en la lista, puedes ingresarlo manualmente. De igual manera, ingresamos la rama y hacemos clic en "Crear Grafo". Esperamos la confirmación y ahora tenemos el grafo. El estado del grafo puede pasar de "pendiente" a "completado" dependiendo de su tamaño.

Vamos a visualizar el grafo haciendo clic en "Visualizar Grafo". Esperamos un momento y enseguida tenemos el grafo del repositorio de código disponible. Puedes navegar a partir de los nodos. Cada nodo representa un método, una función, una instancia o un archivo dentro del repositorio. La disposición de los grafos está de acuerdo a los archivos y sub-archivos que representan una dependencia. Puedes navegar entre ellos y hacer consultas a cada nodo. El tamaño de los nodos es irrelevante y tiene que ver con el tamaño de la letra del nombre del paquete o archivo.

Ahora podemos agregar el grafo a un agente. Hacemos clic en "Link to Agent" y seleccionamos el agente al que queremos agregar este grafo. Luego, regresamos al agente y podemos empezar a hacer preguntas sobre la base de conocimiento de código que acabamos de agregar. En este ejemplo, hemos agregado el repositorio de la documentación de la API de CodeGPT y vamos a preguntar sobre algunas funciones. Si queremos conocer cómo agregar documentos a un agente, ahora obtendremos la respuesta enmarcada en CodeGPT. Ahora preguntemos sobre el SDK y obtendremos la respuesta, que también indica la ubicación de este archivo dentro del repositorio como fuente de referencia.

Listo, es así como puedes interactuar con tu repositorio mediante un agente de IA.

Recuerda verificar el tamaño y lenguaje de programación de tu repositorio para no tener problemas para subir la base de conocimiento.

Documentos temporales

Transcripción

Puedes ingresar conocimiento de contexto específico de manera temporal. Por ejemplo, vamos a analizar un archivo temporal haciendo clic en el botón "Contexto Temporal" en la parte izquierda del botón "Enviar". Luego, hacemos una consulta acerca de esta documentación.

Por ejemplo, preguntamos cómo reportar un error en CodeGPT. Esa información es específica y el modelo la puede reconocer como contexto porque hemos agregado un archivo temporal.
Reecuerda que luego de cerrado el chat el archivo temporal no existirá en la memoria del agente.

Historial de conversaciones

Transcripción

Para conocer el historial de conversaciones de los agentes, hacemos clic en "Chat History". Esta es una forma de entender cómo se construyeron las respuestas  a partir de las consultas y del contenido de la base de conocimiento. 

En este menú encontramos cuatro pestañas: "Mensajes", donde están todos los mensajes; "Historial de mensajes", que permite filtrar por fechas específicas; y la opción de navegar a la izquierda para rescatar mensajes y traerlos de vuelta al chat. La pestaña "Debbuging" nos muestra los elementos del contexto o de la base de conocimiento que se han utilizado para generar las respuestas. En "Embbeding", podemos ver el mensaje vectorizado y la similitud semántica entre el mensaje y la base de conocimiento.

Los mensajes con el símbolo o la etiqueta "Rag" indican que han sido generados a partir de una base de conocimiento.
Esta información es útil para evaluar tus agentes.

Términos

  • Chunks: segmentos de texto en un documento, no necesariamente equivale a un parrafo. Conjunto de tokens.

  • Similaridad semántica: para explicar esta manera sencilla, entenderemos que la similaridad atemática es una medida que identifica cuán similares son 2 tokens (unidad semántica como las palabras o términos) o textos en cuanto a su significado. No se trata de que sean palabras iguales, sino que transmitan ideas parecidas. Por ejemplo, casi y hogar son similares temáticamente porque ambas se refieren a un lugar donde vive una persona un texto.

Did this answer your question?