Nota: Começando com a versão 1.x, o RLLM se tornou um invólucro simples em torno do LLM. Ambas as caixas serão mantidas ativamente e mantidas em sincronia. Se você é novo nesse ecossistema, pode usar o LLM diretamente ou o RLLM - eles fornecem os mesmos recursos.
O RLLM é uma biblioteca de ferrugem que permite usar vários backnds LLM em um único projeto: Openai, Anthropic (Claude), Ollama, Deepseek, Xai, Phind, Groq e Google. Com um estilo unificado de API e construtor - semelhante à experiência do Stripe -, você pode criar facilmente solicitações de conclusão de bate -papo ou texto sem multiplicar estruturas e caixas.
ChatProvider
e CompletionProvider
) para cobrir a maioria dos casos de uso. Basta adicionar rllm à sua Cargo.toml
:
[ dependencies ]
rllm = { version = " 1.1.5 " , features = [ " openai " , " anthropic " , " ollama " ] }
Nome | Descrição |
---|---|
anthropic_example | Demonstra a integração com o modelo Claude da Anthropic para conclusão de bate -papo |
chain_example | Mostra como criar cadeias de solicitação de várias etapas para explorar os recursos da linguagem de programação |
deepseek_example | Exemplo básico de conclusão de bate-papo básico com modelos de bate-papo Deepseek |
embedding_example | Exemplo básico de incorporação com a API do OpenAi |
multi_backend_example | Ilustra o encadeamento de múltiplos backnds LLM (Openai, Anthropic, Deepseek) juntos em um único fluxo de trabalho |
ollama_example | Exemplo de usar LLMs locais através da integração Ollama |
openai_example | Exemplo básico de conclusão de bate -papo aberto com modelos GPT |
phind_example | Exemplo básico de conclusão de bate-papo com phind-70b |
validator_example | Exemplo de validador básico com o modelo Claude do Anthropic |
xai_example | Exemplo básico de conclusão de chat xai com modelos GROK |
evaluation_example | Exemplo de avaliação básica com antropia, Phind e Deepseek |
google_example | Exemplo básico de conclusão do Google Gemini Chat com modelos Gemini |
google_embedding_example | Exemplo básico de incorporação do Google Gemini com modelos Gemini |
Outro exemplo no LLM Crate
Aqui está um exemplo básico usando o OpenAI para conclusão de bate -papo. Consulte o Diretório Exemplos para outros back -end (antropia, Ollama, Deepseek, Xai, Google, Phind), recursos de incorporação e casos de uso mais avançados.
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 ) ,
}