?️? GoLC
Membangun aplikasi Go dengan LLM melalui komposisi
GoLC adalah proyek inovatif yang sangat terinspirasi oleh proyek LangChain, yang bertujuan untuk membangun aplikasi dengan Model Bahasa Besar (LLM) dengan memanfaatkan konsep komposisi. Ini menyediakan kerangka kerja yang memungkinkan pengembang untuk membuat dan mengintegrasikan aplikasi berbasis LLM dengan lancar. Melalui prinsip komposisi, GoLC memungkinkan konstruksi modular komponen berbasis LLM, menawarkan fleksibilitas dan ekstensibilitas untuk mengembangkan aplikasi pemrosesan bahasa yang kuat. Dengan memanfaatkan kemampuan LLM dan memanfaatkan komposisi, GoLC membawa peluang baru ke ekosistem Golang untuk pengembangan aplikasi pemrosesan bahasa alami.
Fitur
GoLC menawarkan serangkaian fitur untuk meningkatkan pengembangan aplikasi pemrosesan bahasa:
- ? LLM dan Perintah: GoLC menyederhanakan pengelolaan dan optimalisasi perintah dan menyediakan antarmuka umum untuk bekerja dengan Model Bahasa Besar (LLM). Ini menyederhanakan pemanfaatan LLM dalam aplikasi Anda.
- ? Rantai: GoLC memungkinkan pembuatan rangkaian panggilan ke LLM atau utilitas lainnya. Ini menyediakan antarmuka standar untuk rantai, memungkinkan integrasi tanpa batas dengan berbagai alat. Selain itu, GoLC menawarkan rantai end-to-end yang dirancang untuk skenario aplikasi umum, sehingga menghemat waktu dan tenaga pengembangan.
- Retrieval Augmented Generation (RAG): GoLC mendukung jenis rantai tertentu yang berinteraksi dengan sumber data. Fungsionalitas ini memungkinkan tugas-tugas seperti meringkas teks panjang dan menjawab pertanyaan berdasarkan kumpulan data tertentu. Dengan GoLC, Anda dapat memanfaatkan kemampuan RAG untuk meningkatkan aplikasi pemrosesan bahasa Anda.
- ? Agen: GoLC memberdayakan penciptaan agen yang memanfaatkan LLM untuk membuat keputusan, mengambil tindakan, mengamati hasil, dan mengulangi hingga selesai. Dengan memasukkan agen ke dalam aplikasi Anda, Anda dapat meningkatkan kecerdasan dan kemampuan beradaptasi mereka.
- ? Memori: GoLC menyertakan fungsionalitas memori yang memfasilitasi persistensi status antara panggilan berantai atau agen. Fitur ini memungkinkan aplikasi Anda mempertahankan konteks dan menyimpan informasi penting di seluruh alur pemrosesan. GoLC menyediakan antarmuka memori standar bersama dengan pilihan implementasi memori untuk fleksibilitas.
- ? Evaluasi: GoLC menyederhanakan evaluasi model generatif, yang biasanya sulit dinilai menggunakan metrik konvensional. Dengan memanfaatkan model bahasa itu sendiri untuk evaluasi, GoLC memberikan pendekatan baru untuk menilai kinerja model generatif.
- ? Moderasi: GoLC menggabungkan fungsi moderasi penting untuk meningkatkan keamanan dan kesesuaian aplikasi pemrosesan bahasa. Hal ini mencakup deteksi injeksi yang cepat, deteksi dan redaksi Informasi Identifikasi Pribadi (PII), identifikasi konten beracun, dan banyak lagi.
- ? Pemrosesan Dokumen: GoLC menyediakan kemampuan pemrosesan dokumen yang komprehensif, termasuk memuat, mengubah, dan mengompresi. Ia menawarkan seperangkat alat serbaguna untuk menyederhanakan tugas-tugas terkait dokumen, menjadikannya solusi ideal untuk aplikasi pemrosesan bahasa yang berpusat pada dokumen.
Instalasi
Gunakan modul Go untuk menyertakan golc dalam proyek Anda:
go get github.com/hupe1980/golc
Penggunaan
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 )
}
Keluaran:
Einstein was born in 1879.
1879 multiplied by 3 equals 5637.
Untuk contoh penggunaan lainnya, lihat contoh.
Berkontribusi
Kontribusi dipersilahkan! Jangan ragu untuk membuka masalah atau mengirimkan permintaan tarik untuk perbaikan atau fitur baru apa pun yang ingin Anda lihat.
Referensi
- https://github.com/langchain-ai/langchain/
- https://www.promptingguide.ai/
Lisensi
Proyek ini dilisensikan di bawah Lisensi MIT. Lihat file LISENSI untuk detailnya.