ไลบรารีที่ออกแบบมาสำหรับนักพัฒนาที่กระตือรือร้นที่จะสำรวจศักยภาพของ Large Language Models (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 (สามารถใช้สำหรับ API ที่เข้ากันได้กับ openai: ข้อความเป็นข้อความ (เสร็จสิ้น), ข้อความเป็นรูปภาพ, ข้อความเป็นคำพูด, คำพูดเป็นข้อความ
หัวใจสำคัญของ agency คือความทะเยอทะยานที่จะมอบอำนาจให้ผู้ใช้สร้างตัวแทนอัตโนมัติ แม้จะ สมบูรณ์แบบสำหรับแอปพลิเคชัน AI ทั่วไปทุกประเภท ตั้งแต่อินเทอร์เฟซการแชทไปจนถึงการวิเคราะห์ข้อมูลที่ซับซ้อน เป้าหมายสูงสุดของไลบรารีของเราคือการลดความซับซ้อนในการสร้างระบบ AI อัตโนมัติ ไม่ว่าคุณกำลังสร้างผู้ช่วยส่วนตัวหรือกลุ่มเจ้าหน้าที่ประสานงาน agency จะมอบเครื่องมือและความยืดหยุ่นที่จำเป็นในการทำให้แนวคิดขั้นสูงเหล่านี้เป็นจริงได้อย่างง่ายดายและมีประสิทธิภาพ
ในภูมิทัศน์ของ AI ทั่วไป ไลบรารี Go-based นั้นหาได้ยาก สิ่งที่น่าสังเกตมากที่สุดคือ LangChainGo ซึ่งเป็นพอร์ต Go ของ Python LangChain อย่างไรก็ตาม การแปล Python to Go อาจดูยุ่งยากและอาจไม่เหมาะกับสไตล์สำนวนของ Go นอกจากนี้ ยังมีคำถามเกี่ยวกับการออกแบบของ LangChain แม้แต่ใน Python ก็ตาม สถานการณ์นี้เผยให้เห็นถึงความจำเป็นที่ชัดเจนสำหรับทางเลือก Go ที่เป็นสำนวน
เป้าหมายของเราคือการเติมเต็มช่องว่างนี้ด้วยไลบรารี Go-centric ที่เน้นโค้ดที่สะอาด เรียบง่าย และหลีกเลี่ยงความซับซ้อนที่ไม่จำเป็น agency ได้รับการออกแบบด้วยแกนขนาดเล็ก แข็งแกร่ง ง่ายต่อการขยาย และเหมาะสมอย่างยิ่งกับจุดแข็งของ Go ในด้านการพิมพ์แบบคงที่และประสิทธิภาพ นี่คือคำตอบของเราสำหรับการขาดโซลูชัน Go-native ใน generative AI
ในเวอร์ชันถัดไป: