Примечание. Начиная с версии 1.x, RLLM стала простой оберткой вокруг LLM. Оба ящика будут активно поддерживать и храниться в синхронизации. Если вы новичок в этой экосистеме, вы можете использовать LLM напрямую или RLLM - они предоставляют те же функции.
RLLM - это библиотека ржавчины , которая позволяет использовать несколько бэкэндов LLM в одном проекте: OpenAI, антропический (Claude), Ollama, Deepseek, Xai, Phind, Groq и Google. С помощью унифицированного API и стиля Builder - аналогично опыту полосы - вы можете легко создавать запросы на завершение чата или текст без умножения структур и ящиков.
ChatProvider
и CompletionProvider
), чтобы покрыть большинство вариантов использования. Просто добавьте rllm в свой Cargo.toml
:
[ dependencies ]
rllm = { version = " 1.1.5 " , features = [ " openai " , " anthropic " , " ollama " ] }
Имя | Описание |
---|---|
anthropic_example | Демонстрирует интеграцию с моделью Claude Antropic для завершения чата |
chain_example | Показывает, как создать многоэтапные цепочки быстрого приглашения для изучения функций языка программирования |
deepseek_example | Базовый пример завершения чата DeepSeek с моделями DeepSeek-Chat |
embedding_example | Базовый пример встраивания с API OpenAI |
multi_backend_example | Иллюстрирует цепочку множественных бэкэндов LLM (OpenAI, антроп, DeepSeek) вместе в одном рабочем процессе |
ollama_example | Пример использования локальных LLMS через интеграцию Ollama |
openai_example | Basic Openai Chat Explaint Persultion с моделями GPT |
phind_example | Базовый пример завершения чата Phind с моделью Phind-70B |
validator_example | Пример базового валидатора с моделью Claude Antropic |
xai_example | Базовый пример завершения чата XAI с моделями GROK |
evaluation_example | Пример базовой оценки с антропной, phind и deepseek |
google_example | Базовый пример завершения чата Google Gemini с моделями Gemini |
google_embedding_example | Базовый пример встраивания Google Gemini с моделями Gemini |
Еще один пример на ящике LLM
Вот основной пример, использующий OpenAI для завершения чата. См. Справочник примеров для других бэкэндов (Antropic, Ollama, Deepseek, 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 ) ,
}