Biblioteca diseñada para desarrolladores deseosos de explorar el potencial de los modelos de lenguajes grandes (LLM) y otras IA generativas a través de un enfoque limpio, eficaz y idiomático.
¡Bienvenidos a la agency ! ♂️
Instalar paquete:
go get github.com/neurocult/ agency
Ejemplo de chat:
package main
import (
"bufio"
"context"
"fmt"
"os"
_ "github.com/joho/godotenv/autoload"
"github.com/neurocult/ agency "
"github.com/neurocult/ agency /providers/openai"
)
func main () {
assistant := openai .
New (openai. Params { Key : os . Getenv ( "OPENAI_API_KEY" )}).
TextToText (openai. TextToTextParams { Model : "gpt-3.5-turbo" }).
SetPrompt ( "You are helpful assistant." )
messages := [] agency . Message {}
reader := bufio . NewReader ( os . Stdin )
ctx := context . Background ()
for {
fmt . Print ( "User: " )
text , err := reader . ReadString ( 'n' )
if err != nil {
panic ( err )
}
input := agency . UserMessage ( text )
answer , err := assistant . SetMessages ( messages ). Execute ( ctx , input )
if err != nil {
panic ( err )
}
fmt . Println ( "Assistant: " , answer )
messages = append ( messages , input , answer )
}
}
¡Eso es todo!
Vea ejemplos para descubrir casos de uso más complejos, incluidos RAG y operaciones multimodales.
Pure Go : rápido y liviano, escrito estáticamente, sin necesidad de meterse con Python o JavaScript
Escriba código limpio y siga una arquitectura limpia separando la lógica empresarial de las implementaciones concretas.
Cree fácilmente operaciones personalizadas mediante la implementación de una interfaz sencilla
Componga operaciones en procesos con la capacidad de observar cada paso a través de interceptores.
Enlaces de API de OpenAI (se pueden utilizar para cualquier API compatible con openai: texto a texto (completado), texto a imagen, texto a voz, voz a texto
En el corazón de agency está la ambición de capacitar a los usuarios para que creen agentes autónomos. Si bien es perfecta para toda la gama de aplicaciones de IA generativa , desde interfaces de chat hasta análisis de datos complejos, el objetivo final de nuestra biblioteca es simplificar la creación de sistemas de IA autónomos. Ya sea que esté creando asistentes individuales o coordinando enjambres de agentes, agency proporciona las herramientas y la flexibilidad necesarias para hacer realidad estos conceptos avanzados con facilidad y eficiencia.
En el panorama de la IA generativa, las bibliotecas basadas en Go son raras. El más notable es LangChainGo, un puerto Go de Python LangChain. Sin embargo, traducir Python a Go puede resultar complicado y puede no encajar bien con el estilo idiomático de Go. Además, algunos cuestionan el diseño de LangChain, incluso en Python. Esta situación revela una clara necesidad de una alternativa idiomática a Go.
Nuestro objetivo es llenar este vacío con una biblioteca centrada en Go que enfatice el código limpio y simple y evite complejidades innecesarias. agency está diseñado con un núcleo pequeño y robusto, fácil de ampliar y perfectamente adaptado a los puntos fuertes de Go en escritura estática y rendimiento. Es nuestra respuesta a la falta de soluciones nativas en IA generativa.
En las próximas versiones: