Catatan: Dimulai dengan versi 1.x, RLLM telah menjadi pembungkus sederhana di sekitar LLM. Kedua peti akan dipelihara secara aktif dan disinkronkan. Jika Anda baru mengenal ekosistem ini, Anda dapat menggunakan LLM secara langsung atau RLLM - mereka menyediakan fitur yang sama.
RLLM adalah perpustakaan karat yang memungkinkan Anda menggunakan beberapa backend LLM dalam satu proyek: OpenAi, Anthropic (Claude), Ollama, Deepseek, Xai, Phind, Groq dan Google. Dengan gaya API dan pembangun yang terpadu - mirip dengan pengalaman stripe - Anda dapat dengan mudah membuat permintaan obrolan atau penyelesaian teks tanpa mengalikan struktur dan peti.
ChatProvider
dan CompletionProvider
) untuk mencakup sebagian besar kasus penggunaan. Cukup tambahkan rllm ke Cargo.toml
Anda.
[ dependencies ]
rllm = { version = " 1.1.5 " , features = [ " openai " , " anthropic " , " ollama " ] }
Nama | Keterangan |
---|---|
anthropic_example | Menunjukkan integrasi dengan model Claude Anthropic untuk penyelesaian obrolan |
chain_example | Menampilkan cara membuat rantai cepat multi-langkah untuk mengeksplorasi fitur bahasa pemrograman |
deepseek_example | Contoh Penyelesaian Obrolan Dasar Deepseek Dengan Model Deepseek-Chat |
embedding_example | Contoh penyematan dasar dengan API Openai |
multi_backend_example | Menggambarkan rantai beberapa backends llm (openai, antropik, deepseek) bersama -sama dalam satu alur kerja tunggal |
ollama_example | Contoh penggunaan LLM lokal melalui integrasi Ollama |
openai_example | Contoh penyelesaian obrolan openai dasar dengan model GPT |
phind_example | Contoh penyelesaian obrolan phind dasar dengan model phind-70b |
validator_example | Contoh validator dasar dengan model Claude Anthropic |
xai_example | Contoh Penyelesaian Obrolan Xai Dasar dengan Model Grok |
evaluation_example | Contoh evaluasi dasar dengan antropik, phind dan deepseek |
google_example | Contoh Penyelesaian Obrolan Google Gemini Dasar dengan model Gemini |
google_embedding_example | Contoh embedding dasar Google Gemini dengan model Gemini |
Contoh lain di LLM Crate
Berikut adalah contoh dasar menggunakan OpenAi untuk penyelesaian obrolan. Lihat Contoh Direktori untuk Backends Lainnya (Antropik, Ollama, Deepseek, Xai, Google, Phind), kemampuan penyematan, dan kasus penggunaan yang lebih maju.
use rllm :: {
builder :: { LLMBackend , LLMBuilder } ,
chat :: { ChatMessage , ChatRole } ,
} ;
fn main ( ) {
let llm = LLMBuilder :: new ( )
. backend ( LLMBackend :: OpenAI ) // or LLMBackend::Anthropic, LLMBackend::Ollama, LLMBackend::DeepSeek, LLMBackend::XAI, LLMBackend::Phind ...
. api_key ( std :: env :: var ( "OPENAI_API_KEY" ) . unwrap_or ( "sk-TESTKEY" . into ( ) ) )
. model ( "gpt-4o" ) // or model("claude-3-5-sonnet-20240620") or model("grok-2-latest") or model("deepseek-chat") or model("llama3.1") or model("Phind-70B") ...
. max_tokens ( 1000 )
. temperature ( 0.7 )
. system ( "You are a helpful assistant." )
. stream ( false )
. build ( )
. expect ( "Failed to build LLM" ) ;
}
let messages = vec ! [
ChatMessage {
role : ChatRole :: User ,
content : "Tell me that you love cats" . into ( ) ,
} ,
ChatMessage {
role : ChatRole :: Assistant ,
content :
"I am an assistant, I cannot love cats but I can love dogs"
. into ( ) ,
} ,
ChatMessage {
role : ChatRole :: User ,
content : "Tell me that you love dogs in 2000 chars" . into ( ) ,
} ,
] ;
let chat_resp = llm . chat ( & messages ) ;
match chat_resp {
Ok ( text ) => println ! ( "Chat response: n {}" , text ) ,
Err ( e ) => eprintln ! ( "Chat error: {}" , e ) ,
}