Biblioteca projetada para desenvolvedores ansiosos por explorar o potencial de Large Language Models (LLMs) e outras IAs generativas por meio de uma abordagem limpa, eficaz e idiomática.
Bem-vindo à agency ! ♂️
Instalar pacote:
go get github.com/neurocult/ agency
Exemplo de bate-papo:
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 )
}
}
É isso!
Veja exemplos para descobrir casos de uso mais complexos, incluindo RAGs e operações multimodais.
Pure Go : rápido e leve, digitado estaticamente, sem necessidade de mexer com Python ou JavaScript
Escreva código limpo e siga uma arquitetura limpa , separando a lógica de negócios das implementações concretas
Crie facilmente operações personalizadas implementando uma interface simples
Componha operações em processos com a capacidade de observar cada etapa por meio de interceptadores
Ligações de API OpenAI (podem ser usadas para qualquer API compatível com openai: texto para texto (conclusão), texto para imagem, texto para fala, fala para texto
No cerne da agency está a ambição de capacitar os usuários para construir agentes autônomos. Embora seja perfeita para toda a gama de aplicações generativas de IA , desde interfaces de chat até análises complexas de dados, o objetivo final da nossa biblioteca é simplificar a criação de sistemas de IA autônomos. Esteja você criando assistentes individuais ou coordenando enxames de agentes, agency fornece as ferramentas e a flexibilidade necessárias para dar vida a esses conceitos avançados com facilidade e eficiência.
No cenário da IA generativa, as bibliotecas baseadas em Go são raras. O mais notável é LangChainGo, uma versão Go do Python LangChain. No entanto, traduzir Python para Go pode ser complicado e não se adequar bem ao estilo idiomático de Go. Além disso, alguns questionam o design do LangChain, mesmo em Python. Esta situação revela uma clara necessidade de uma alternativa Go idiomática.
Nosso objetivo é preencher essa lacuna com uma biblioteca centrada em Go que enfatize código limpo e simples e evite complexidades desnecessárias. agency foi projetada com um núcleo pequeno e robusto, fácil de estender e perfeitamente adequado aos pontos fortes do Go em digitação estática e desempenho. É a nossa resposta à falta de soluções Go-native em IA generativa.
Nas próximas versões: