HINWEIS: Beginnend mit Version 1.x ist RLLM zu einem einfachen Wrapper um LLM geworden. Beide Kisten werden aktiv aufrechterhalten und synchron gehalten. Wenn Sie in diesem Ökosystem neu sind, können Sie entweder LLM direkt oder RllM verwenden - sie bieten dieselben Funktionen.
Rllm ist eine Rostbibliothek , in der Sie in einem einzigen Projekt mehrere LLM -Backends verwenden können: OpenAI, Anthropic (Claude), Ollama, Deepseek, Xai, Phind, GROQ und Google. Mit einer einheitlichen API und einem einheitlichen Erlebnisstil - ähnlich wie das Streifenerlebnis - können Sie problemlos Chat- oder Textabschlussanforderungen erstellen, ohne Strukturen und Kisten zu multiplizieren.
ChatProvider
und CompletionProvider
), um die meisten Anwendungsfälle abzudecken. Fügen Sie einfach rllm zu Ihrer Cargo.toml
hinzu.
[ dependencies ]
rllm = { version = " 1.1.5 " , features = [ " openai " , " anthropic " , " ollama " ] }
Name | Beschreibung |
---|---|
anthropic_example | Demonstriert die Integration mit dem Claude -Modell von Anthropic für die CHAT -Abschluss |
chain_example | Zeigt, wie Sie mehrstufige Eingabeaufentwicklungsketten erstellen, um Programmiersprachenfunktionen zu erforschen |
deepseek_example | Basic Deepseek Chat Completion-Beispiel bei Deepseek-Chat-Modellen |
embedding_example | Basis -Einbettungsbeispiel mit OpenAs API |
multi_backend_example | Illustriert das Ketten mehrerer LLM -Backends (OpenAI, Anthropic, Deepseek) in einem einzigen Workflow |
ollama_example | Beispiel für die Verwendung lokaler LLMs durch Ollama -Integration |
openai_example | Basic OpenAI -Chat -Abschlussbeispiel mit GPT -Modellen |
phind_example | Basic Phind Chat Completion-Beispiel mit PHIND-70B-Modell |
validator_example | Basic Validator Beispiel mit Anthropics Claude -Modell |
xai_example | Basic XAI -Chat -Abschlussbeispiel mit GROK -Modellen |
evaluation_example | Basisbewertungsbeispiel mit Anthropic, Phind und Deepseek |
google_example | Basic Google Gemini Chat Comate -Beispiel Beispiel mit Gemini -Modellen |
google_embedding_example | Basic Google Gemini -Einbettungsbeispiel mit Gemini -Modellen |
Ein weiteres Beispiel auf LLM -Kiste
Hier ist ein grundlegendes Beispiel für die Verwendung von OpenAI für den Chat -Abschluss. Siehe das Beispielverzeichnis für andere Backends (Anthropic, Ollama, Deepseek, Xai, Google, Phind), Einbettungsfunktionen und fortgeschrittenere Anwendungsfälle.
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 ) ,
}