?? โกแอลซี
การสร้างแอปพลิเคชัน Go ด้วย LLM ผ่านความสามารถในการประกอบ
GoLC เป็นโครงการนวัตกรรมที่ได้รับแรงบันดาลใจอย่างมากจากโครงการ LangChain โดยมีเป้าหมายเพื่อสร้างแอปพลิเคชันด้วย Large Language Models (LLM) โดยใช้ประโยชน์จากแนวคิดเรื่องความสามารถในการประกอบ โดยมีกรอบการทำงานที่ช่วยให้นักพัฒนาสามารถสร้างและบูรณาการแอปพลิเคชันที่ใช้ LLM ได้อย่างราบรื่น ด้วยหลักการของความสามารถในการประกอบ GoLC ช่วยให้สามารถสร้างส่วนประกอบที่ใช้ LLM แบบโมดูลาร์ ซึ่งให้ความยืดหยุ่นและความสามารถในการขยายเพื่อพัฒนาแอปพลิเคชันการประมวลผลภาษาที่มีประสิทธิภาพ ด้วยการใช้ประโยชน์จากความสามารถของ LLM และการยอมรับความสามารถในการเขียน GoLC นำโอกาสใหม่มาสู่ระบบนิเวศ Golang สำหรับการพัฒนาแอปพลิเคชันการประมวลผลภาษาธรรมชาติ
คุณสมบัติ
GoLC นำเสนอคุณสมบัติต่างๆ มากมายเพื่อปรับปรุงการพัฒนาแอปพลิเคชันการประมวลผลภาษา:
- - LLM และพรอมต์: GoLC ทำให้การจัดการและการเพิ่มประสิทธิภาพของพรอมต์ง่ายขึ้น และมอบอินเทอร์เฟซทั่วไปสำหรับการทำงานกับ Large Language Models (LLM) สิ่งนี้ทำให้การใช้งาน LLM ในแอปพลิเคชันของคุณง่ายขึ้น
- - เครือข่าย: GoLC ช่วยให้สามารถสร้างลำดับการโทรไปยัง LLM หรือโปรแกรมอรรถประโยชน์อื่นๆ ได้ โดยมีอินเทอร์เฟซมาตรฐานสำหรับเชน ช่วยให้สามารถผสานรวมกับเครื่องมือต่างๆ ได้อย่างราบรื่น นอกจากนี้ GoLC ยังมีเครือข่ายแบบ end-to-end ที่สร้างไว้ล่วงหน้าซึ่งออกแบบมาสำหรับสถานการณ์การใช้งานทั่วไป ซึ่งช่วยประหยัดเวลาและความพยายามในการพัฒนา
- การดึงข้อมูล Augmented Generation (RAG): GoLC รองรับประเภทของเครือข่ายเฉพาะที่โต้ตอบกับแหล่งข้อมูล ฟังก์ชันนี้ช่วยให้งานต่างๆ เช่น การสรุปข้อความที่ยาวและการตอบคำถามตามชุดข้อมูลเฉพาะ ด้วย GoLC คุณสามารถใช้ประโยชน์จากความสามารถของ RAG เพื่อปรับปรุงแอปพลิเคชันการประมวลผลภาษาของคุณได้
- - ตัวแทน: GoLC ให้อำนาจในการสร้างตัวแทนที่ใช้ประโยชน์จาก LLM ในการตัดสินใจโดยใช้ข้อมูล ดำเนินการ สังเกตผลลัพธ์ และทำซ้ำจนกว่าจะเสร็จสิ้น ด้วยการรวมตัวแทนเข้ากับแอปพลิเคชันของคุณ คุณสามารถเพิ่มความฉลาดและความสามารถในการปรับตัวได้
- - หน่วยความจำ: GoLC มีฟังก์ชันการทำงานของหน่วยความจำที่อำนวยความสะดวกในการคงสถานะระหว่างการโทรแบบลูกโซ่หรือตัวแทน คุณลักษณะนี้ช่วยให้แอปพลิเคชันของคุณสามารถรักษาบริบทและรักษาข้อมูลที่สำคัญตลอดขั้นตอนการประมวลผล GoLC จัดเตรียมอินเทอร์เฟซหน่วยความจำที่ได้มาตรฐานพร้อมกับการเลือกใช้งานหน่วยความจำเพื่อความยืดหยุ่น
- - การประเมิน: GoLC ทำให้การประเมินแบบจำลองเชิงกำเนิดง่ายขึ้น ซึ่งโดยทั่วไปแล้วถือว่าท้าทายในการประเมินโดยใช้หน่วยวัดแบบเดิมๆ ด้วยการใช้แบบจำลองทางภาษาในการประเมิน GoLC ได้มอบแนวทางใหม่ในการประเมินประสิทธิภาพของแบบจำลองเชิงกำเนิด
- - การกลั่นกรอง: GoLC รวมฟังก์ชันการกลั่นกรองที่จำเป็นเพื่อเพิ่มความปลอดภัยและความเหมาะสมของแอปพลิเคชันการประมวลผลภาษา ซึ่งรวมถึงการตรวจจับการฉีดทันที การตรวจจับและการแก้ไขข้อมูลส่วนบุคคลที่สามารถระบุตัวตนได้ (PII) การระบุเนื้อหาที่เป็นพิษ และอื่นๆ
- - การประมวลผลเอกสาร: GoLC มอบความสามารถในการประมวลผลเอกสารที่ครอบคลุม รวมถึงการโหลด การแปลง และการบีบอัด มีชุดเครื่องมืออเนกประสงค์เพื่อปรับปรุงงานที่เกี่ยวข้องกับเอกสาร ทำให้เป็นโซลูชั่นที่ดีเยี่ยมสำหรับแอปพลิเคชันการประมวลผลภาษาที่เน้นเอกสารเป็นหลัก
การติดตั้ง
ใช้โมดูล Go เพื่อรวม golc ในโครงการของคุณ:
go get github.com/hupe1980/golc
การใช้งาน
package main
import (
"context"
"fmt"
"log"
"os"
"github.com/hupe1980/golc"
"github.com/hupe1980/golc/chain"
"github.com/hupe1980/golc/model/chatmodel"
)
func main () {
openai , err := chatmodel . NewOpenAI ( os . Getenv ( "OPENAI_API_KEY" ))
if err != nil {
log . Fatal ( err )
}
conversationChain , err := chain . NewConversation ( openai )
if err != nil {
log . Fatal ( err )
}
ctx := context . Background ()
result1 , err := golc . SimpleCall ( ctx , conversationChain , "What year was Einstein born?" )
if err != nil {
log . Fatal ( err )
}
fmt . Println ( result1 )
result2 , err := golc . SimpleCall ( ctx , conversationChain , "Multiply the year by 3." )
if err != nil {
log . Fatal ( err )
}
fmt . Println ( result2 )
}
เอาท์พุท:
Einstein was born in 1879.
1879 multiplied by 3 equals 5637.
สำหรับตัวอย่างการใช้งานเพิ่มเติม โปรดดูตัวอย่าง
มีส่วนร่วม
ยินดีบริจาค! อย่าลังเลที่จะเปิดปัญหาหรือส่งคำขอดึงสำหรับการปรับปรุงหรือคุณสมบัติใหม่ที่คุณต้องการดู
อ้างอิง
- https://github.com/langchain-ai/langchain/
- https://www.promptingguide.ai/
ใบอนุญาต
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับรายละเอียด