該程式庫專為渴望透過乾淨、有效且 Go 語言慣用的方法探索大型語言模型 (LLM) 和其他生成式 AI 潛力的開發人員而設計。
歡迎來到agency ! ♂️
安裝包:
go get github.com/neurocult/ agency
聊天範例:
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 )
}
}
就是這樣!
查看範例以了解更複雜的用例,包括 RAG 和多模式操作。
Pure Go :快速、輕量、靜態型,無需搞亂 Python 或 JavaScript
透過將業務邏輯與具體實現分離來編寫乾淨的程式碼並遵循乾淨的架構
透過實現簡單的介面輕鬆建立自訂操作
將操作組合成流程,並能夠透過攔截器觀察每個步驟
OpenAI API 綁定(可用於任何相容 openai 的 API:文字轉文字(補全)、文字轉圖像、文字轉語音、語音到文本
agency的核心是讓使用者能夠建立自主代理的雄心。雖然非常適合從聊天介面到複雜數據分析的所有生成人工智慧應用程序,但我們庫的最終目標是簡化自主人工智慧系統的創建。無論您是建立個人助理還是協調代理群, agency都能提供所需的工具和靈活性,幫助您輕鬆有效地將這些先進概念變為現實。
在生成人工智慧領域,基於 Go 的函式庫很少見。最值得注意的是 LangChainGo,Python LangChain 的 Go 移植版。然而,將 Python 翻譯成 Go 可能很笨拙,而且可能不太適合 Go 的慣用風格。另外,有些人質疑 LangChain 的設計,即使是用 Python 寫的。這種情況表明顯然需要一種慣用的 Go 替代方案。
我們的目標是透過以 Go 為中心的函式庫來填補這一空白,該函式庫強調乾淨、簡單的程式碼並避免不必要的複雜性。 agency設計有一個小而強大的核心,易於擴展,非常適合 Go 在靜態類型和效能方面的優勢。這是我們對生成型人工智慧缺乏 Go-native 解決方案的答案。
在接下來的版本中: