ملاحظة: بدءًا من الإصدار 1.x ، أصبح RLLM غلافًا بسيطًا حول LLM. سيتم الحفاظ على كلا الصناديق بنشاط وإبقاءها متزامنة. إذا كنت جديدًا في هذا النظام الإيكولوجي ، فيمكنك استخدام LLM مباشرة أو RLLM - فهي توفر نفس الميزات.
RLLM هي مكتبة Rust تتيح لك استخدام العديد من LLM الخلفية في مشروع واحد: Openai ، Anthropic (Claude) ، Ollama ، Deepseek ، Xai ، Phind ، Groq و Google. من خلال نمط API والباني الموحدة - على غرار تجربة الشريط - يمكنك بسهولة إنشاء طلبات الانتهاء من الدردشة أو النص دون ضرب الهياكل والصناديق.
ChatProvider
و CompletionProvider
) لتغطية معظم حالات الاستخدام. ما عليك سوى إضافة RLLM إلى Cargo.toml
:
[ dependencies ]
rllm = { version = " 1.1.5 " , features = [ " openai " , " anthropic " , " ollama " ] }
اسم | وصف |
---|---|
anthropic_example | يوضح التكامل مع نموذج كلود من الإنسان لإنجاز الدردشة |
chain_example | يوضح كيفية إنشاء سلاسل موجهة متعددة الخطوات لاستكشاف ميزات لغة البرمجة |
deepseek_example | مثال على استكمال الدردشة Basic Deepseek مع نماذج Deepseek-Chat |
embedding_example | مثال التضمين الأساسي مع واجهة برمجة تطبيقات Openai |
multi_backend_example | يوضح التسلسلات المتعددة LLM الخلفية (Openai ، الإنسان ، Deepseek) معًا في سير عمل واحد |
ollama_example | مثال على استخدام LLMS المحلي من خلال تكامل Ollama |
openai_example | مثال على الانتهاء من دردشة Openai Basic مع نماذج GPT |
phind_example | مثال على إكمال الدردشة الأساسية مع طراز PHIND-70B |
validator_example | مثال على المدقق الأساسي مع نموذج كلود الأنثروبري |
xai_example | مثال على إكمال دردشة XAI الأساسية مع طرز Grok |
evaluation_example | مثال على التقييم الأساسي مع الأنثروبور ، phind و Deepseek |
google_example | مثال على جوجل الجوزاء الجوزاء مثال على نماذج الجوزاء |
google_embedding_example | مثال على جوجل الجوزاء الجوزاء الأساسي مع نماذج الجوزاء |
مثال آخر على قفص LLM
إليك مثال أساسي باستخدام Openai لإنجاز الدردشة. راجع دليل الأمثلة للخلفية الأخرى (الأنثروبور ، أولياما ، ديبسيك ، XAI ، Google ، Phind) ، قدرات التضمين ، وحالات الاستخدام الأكثر تقدماً.
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 ) ,
}