SmartGPT es un programa experimental destinado a proporcionar LLM (particularmente GPT-3.5 y GPT-4) con la capacidad de completar tareas complejas sin la entrada del usuario al descomponerlos en problemas más pequeños y recopilar información utilizando Internet y otras fuentes externas.
Si está interesado en mantenerse al día con el progreso de SmartGPT, desea contribuir al desarrollo o tener problemas para discutir, unirse a la discordia SmartGPT.
Hay muchas soluciones existentes para permitir que LLM realice tareas más complejas, como Auto-GPT y Babyagi. Entonces, ¿por qué SmartGPT?
Modularidad : con el soporte de complementos de primera clase y la capacidad de componer autos para lo que su proyecto requiera, SmartGPT es increíblemente modular.
Flexibilidad : SmartGPT tiene un archivo config.yml
que se genera automáticamente donde puede configurar todo y cualquier cosa.
Consistencia : SmartGPT tiene un sistema inteligente de ejecución dinámica de acciones y cadena de herramientas estáticas para proporcionar resultados consistentes increíbles.
Sin embargo, hay dos deficiencias principales.
Ecosistema : debido a su popularidad, AutoGpt es una herramienta muy pulida y refinada. Tiene muchas más herramientas e integraciones con los sistemas de memoria. Para ir con esto, la base de código ha pasado por un gran escrutinio, por lo que generalmente es menos erróneo y más probado que SmartGPT.
Gestión de la memoria : debido a la juventud extrema de este proyecto, solo hay un sistema de memoria simple pero limitado. Sin embargo, esto cambiará con el tiempo.
Actualmente, las pruebas con SmartGPT se realizarán principalmente con GPT3.5, y ocasionalmente con GPT4, debido a los costos de los modelos más costosos. A medida que este proyecto madura, tenemos como objetivo experimentar tanto con múltiples agentes a la vez como con el uso de GPT4 mucho más para desatar las capacidades máximas de LLM. Sin embargo, esto es costoso, y como el mantenedor central de SmartGPT, sigo siendo un estudiante de secundaria, y financiar un proyecto como este es difícil para mí. Si le interesa ayudar a superar los límites de los LLM, considere unirse a nuestro Patreon.
SmartGPT es una aplicación increíblemente experimental . El objetivo es desbloquear el máximo potencial de LLM, y la estabilidad se sacrifica por esto. La compatibilidad con versiones anteriores es un sueño febril aquí. Sin embargo, SmartGPT también alberga algunas de las ideas y experimentos más innovadoras en el espacio de AutoGpt en este momento, y aunque la mayoría no tiene éxito, algunos golpearon el tablero y el palo.
Instale cargo
, preferiblemente la última versión estable.
Clone el repositorio con git clone https://github.com/Cormanz/smartgpt.git && cd smartgpt
.
Ejecutarlo en modo de lanzamiento con cargo run --release
. Esto creará una config.yml
para usted.
Ajuste la configuración a su gusto y ejecútelo una vez más.
Si desea más información o desea usar SmartGPT como una caja en sus propios proyectos, lea la documentación.
Los autos son los componentes básicos de SmartGPT. Hay dos tipos de autos.
Los asistentes son muy experimentales, por lo que recomendamos corredores.
Un auto se pondrá debajo del capó, agente de ejecución. Un agente tiene dos partes: el agente dinámico y el agente estático.
El agente dinámico es el agente base. Ejecuta un proceso react-estilo, pensamiento, razonamiento y luego tomando una decisión. Puede hacer una de las tres cosas:
Cuando ejecuta una acción, se envía al agente estático para ejecutar la acción.
El agente estático ejecuta las subtareas que le dieron el agente dinámico. Así es como funciona:
El agente estático también guarda activos que el agente dinámico puede volver al agente estático para futuras tareas.
Todos los agentes tienen memoria . Después de completar una tarea, el agente guardará una lista de todas las observaciones en la memoria a largo plazo. Una vez que inicia otra tarea, extraerá todas las recuerdos a largo plazo relacionados con la tarea (usando un vectordB para esto).
Los autos pueden usar un conjunto de herramientas como google_search
, browse_url
, etc. Ustedes las define usando complementos. Los complementos definen su propio conjunto de herramientas y pueden tener sus propios datos.
smartgpt
está disponible bajo la licencia MIT. Vea la licencia para el texto completo de la licencia.