Implementar colaborativamente un proyecto de software completo con la ayuda de una IA.
GPT-Synthesizer lo guía a través de la declaración del problema y explora el espacio de diseño con usted a través de un proceso de entrevista cuidadosamente moderado. Si no tiene idea de por dónde comenzar y cómo describir su proyecto de software, GPT Synthesizer puede ser su mejor amigo.
La filosofía de diseño del sintetizador GPT se basa en el núcleo y, más bien contrario, la creencia de que un solo mensaje no es suficiente para construir una base de código completa para el software complejo. Esto se debe principalmente al hecho de que, incluso en presencia de potentes LLM, todavía hay muchos detalles cruciales en la especificación de diseño que no se puede capturar efectivamente en un solo mensaje. Intentar incluir todos los detalles en un solo mensaje, si no imposible, causaría una pérdida de eficiencia del motor LLM. Impulsado por Langchain, GPT Synthesizer captura la especificación de diseño, paso a paso, a través de un diálogo dirigido por IA que explora el espacio de diseño con el usuario.
El sintetizador GPT interpreta el mensaje inicial como una descripción de alto nivel de una tarea de programación. Luego, a través de un proceso, que llamamos "Síntesis rápida", GPT Synthesizer compila la solicitud inicial en múltiples componentes del programa que el usuario podría necesitar para implementar. Este paso esencialmente convierte las 'incógnitas desconocidas' en 'incógnitas conocidas', lo que puede ser muy útil para los programadores novatos que desean comprender el flujo general de su implementación deseada. A continuación, el sintetizador GPT y el usuario descubren colaborativamente los detalles de diseño que se utilizarán en la implementación de cada componente del programa.
Los diferentes usuarios pueden preferir diferentes niveles de interactividad dependiendo de su conjunto de habilidades únicas, su nivel de experiencia, así como la complejidad de la tarea en cuestión. El sintetizador GPT se distingue de otras herramientas de generación de código basadas en LLM al encontrar el equilibrio adecuado entre la participación del usuario y la autonomía de IA.
pip install gpt-synthesizer
Para el desarrollo:
git clone https://github.com/RoboCoachTechnologies/GPT-Synthesizer.git
cd GPT-Synthesizer
pip install -e .
El sintetizador GPT es fácil de usar. Le proporciona un asistente de IA intuitivo en su interfaz de línea de comandos. También proporciona una interfaz de usuario intuitiva utilizando Streamlit. GPT Synthesizer utiliza gpt-3.5-turbo-16k
de OpenAI como el LLM predeterminado.
Aplicación de transmisión :
gpt-synthesizer-streamlit
en el terminal.Manifestación:
Interfaz de línea de comandos :
export OPENAI_API_KEY=[your api key]
gpt-synthesizer
en el terminal.Población:
Cómo funciona :
Programming task: *I want to implement an edge detection method from a live camera feed.*
Programming language: *python*
Components to be added: *Add 'component 1: what component 1 does', 'component 2: what component 2 does', and 'component 3: what component 3 does' to the list of components.*
Components to be removed: *Remove 'component 1' and 'component 2' from the list of components.*
workspace
. Para la transparencia, la UI pondrá el camino y el contenido del workspace
en la barra lateral. El código de GPT Synthesizer es fácil de leer y comprender. Cualquiera puede personalizar el código para una aplicación específica. La base de código está estrechamente integrada con Langchain, lo que permite la utilización de varias herramientas, como la búsqueda en Internet y las bases de datos vectoriales.
La estrategia jerárquica de GPT Synthesizer para construir la base de código permite que el GPT3.5 de OpenAI sea una opción viable para el Backend LLM. Creemos que GPT3.5 proporciona una buena compensación entre el costo y la comprensión contextual, mientras que GPT4 podría ser demasiado costoso para muchos casos de uso. Sin embargo, cambiar a otro LLM se hace fácil gracias a la integración de Langchain.
El sintetizador GPT se mantendrá activamente como un proyecto de código abierto. ¡Damos la bienvenida a todos para contribuir a nuestra comunidad de sistemas de construcción para la generación de código humano en el bucle!
Aquí hay una lista (no exhaustiva) de nuestros planes futuros para el sintetizador GPT:
CMakelists.txt
para c ++ y setup.py
+ requirements.txt
para python.Mirando dentro de GPT-Synthesizer y la idea de la generación de código basada en LLM
Para consultas comerciales, como trabajos de consultoría o contratación, comuníquese con [email protected].