مزودو النماذج (السحابية)
يدعم adk-rust العديد من مزودي نماذج LLM السحابية من خلال الكريت adk-model. جميع المزودين يطبقون السمة Llm، مما يجعلهم قابلين للتبديل في وكلاءك.
نظرة عامة
┌─────────────────────────────────────────────────────────────────────┐
│ Cloud Model Providers │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ • Gemini (Google) ⭐ Default - Multimodal, large context │
│ • OpenAI (GPT-4o) 🔥 Popular - Best ecosystem │
│ • Anthropic (Claude) 🧠 Smart - Best reasoning │
│ • DeepSeek 💭 Thinking - Chain-of-thought, cheap │
│ • Groq ⚡ Ultra-Fast - Fastest inference │
│ │
│ For local/offline models, see: │
│ • Ollama → ollama.md │
│ • mistral.rs → mistralrs.md │
│ │
└─────────────────────────────────────────────────────────────────────┘
مقارنة سريعة
| المزود | الأفضل لـ | السرعة | التكلفة | الميزة الرئيسية |
|---|---|---|---|---|
| Gemini | الاستخدام العام | ⚡⚡⚡ | 💰 | متعدد الوسائط، سياق كبير |
| OpenAI | الموثوقية | ⚡⚡ | 💰💰 | أفضل نظام بيئي |
| Anthropic | التفكير المعقد | ⚡⚡ | 💰💰 | الأكثر أمانًا، الأكثر تفكيرًا |
| DeepSeek | Chain-of-thought | ⚡⚡ | 💰 | وضع التفكير، رخيص |
| Groq | حرج السرعة | ⚡⚡⚡⚡ | 💰 | أسرع استنتاج |
الخطوة 1: التثبيت
أضف المزودين الذين تحتاجهم إلى ملف Cargo.toml الخاص بك:
[dependencies]
# Pick one or more providers:
adk-model = { version = "0.2", features = ["gemini"] } # Google Gemini (default)
adk-model = { version = "0.2", features = ["openai"] } # OpenAI GPT-4o
adk-model = { version = "0.2", features = ["anthropic"] } # Anthropic Claude
adk-model = { version = "0.2", features = ["deepseek"] } # DeepSeek
adk-model = { version = "0.2", features = ["groq"] } # Groq (ultra-fast)
# Or all cloud providers at once:
adk-model = { version = "0.2", features = ["all-providers"] }
الخطوة 2: تعيين مفتاح API الخاص بك
export GOOGLE_API_KEY="your-key" # Gemini
export OPENAI_API_KEY="your-key" # OpenAI
export ANTHROPIC_API_KEY="your-key" # Anthropic
export DEEPSEEK_API_KEY="your-key" # DeepSeek
export GROQ_API_KEY="your-key" # Groq
Gemini (Google) ⭐ افتراضي
الأفضل لـ: الأغراض العامة، المهام متعددة الوسائط، المستندات الكبيرة
أبرز الميزات:
- 🖼️ متعدد الوسائط أصلي (صور، فيديو، صوت، PDF)
- 📚 نافذة سياق تصل إلى 2 مليون رمز
- 💰 تسعير تنافسي
- ⚡ استدلال سريع
مثال عملي كامل
use adk_rust::prelude::*;
use adk_rust::Launcher;
use std::sync::Arc;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
dotenvy::dotenv().ok();
let api_key = std::env::var("GOOGLE_API_KEY")?;
let model = GeminiModel::new(&api_key, "gemini-2.0-flash")?;
let agent = LlmAgentBuilder::new("gemini_assistant")
.description("Gemini-powered assistant")
.instruction("You are a helpful assistant powered by Google Gemini. Be concise.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
النماذج المتاحة
| Model | الوصف | السياق |
|---|---|---|
gemini-2.0-flash | سريع وفعال (موصى به) | 1M tokens |
gemini-2.5-flash | أحدث نموذج فلاش | 1M tokens |
gemini-2.5-pro | الأكثر قدرة | 2M tokens |
مثال على المخرج
👤 User: What's in this image? [uploads photo of a cat]
🤖 Gemini: I can see a fluffy orange tabby cat sitting on a windowsill.
The cat appears to be looking outside, with sunlight illuminating its fur.
It has green eyes and distinctive striped markings typical of tabby cats.
OpenAI (GPT-4o) 🔥 شائع
الأفضل لـ: تطبيقات الإنتاج، الأداء الموثوق، القدرات الواسعة
أبرز الميزات:
- 🏆 معيار الصناعة
- 🔧 استدعاء ممتاز للأدوات/الوظائف
- 📖 أفضل وثائق ونظام بيئي
- 🎯 مخرجات متسقة ويمكن التنبؤ بها
مثال عملي كامل
use adk_rust::prelude::*;
use adk_rust::Launcher;
use std::sync::Arc;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
dotenvy::dotenv().ok();
let api_key = std::env::var("OPENAI_API_KEY")?;
let model = OpenAIClient::new(OpenAIConfig::new(&api_key, "gpt-4o"))?;
let agent = LlmAgentBuilder::new("openai_assistant")
.description("OpenAI-powered assistant")
.instruction("You are a helpful assistant powered by OpenAI GPT-4o. Be concise.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
النماذج المتاحة
| Model | الوصف | السياق |
|---|---|---|
gpt-4o | الأكثر قدرة، متعدد الوسائط | 128K tokens |
gpt-4o-mini | سريع، فعال من حيث التكلفة | 128K tokens |
gpt-4-turbo | الرائد السابق | 128K tokens |
o1 | نموذج استدلال | 128K tokens |
مثال على المخرج
👤 User: Write a haiku about Rust programming
🤖 GPT-4o: Memory so safe,
Ownership guards every byte—
Compiler, my friend.
Anthropic (Claude) 🧠 ذكي
الأفضل لـ: الاستدلال المعقد، التطبيقات الحيوية للسلامة، المستندات الطويلة
الميزات الرئيسية:
- 🧠 قدرة استدلال استثنائية
- 🛡️ الأكثر تركيزًا على السلامة
- 📚 سياق 200K token
- ✍️ جودة كتابة ممتازة
مثال عملي كامل
use adk_rust::prelude::*;
use adk_rust::Launcher;
use std::sync::Arc;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
dotenvy::dotenv().ok();
let api_key = std::env::var("ANTHROPIC_API_KEY")?;
let model = AnthropicClient::new(AnthropicConfig::new(&api_key, "claude-sonnet-4-20250514"))?;
let agent = LlmAgentBuilder::new("anthropic_assistant")
.description("Anthropic-powered assistant")
.instruction("You are a helpful assistant powered by Anthropic Claude. Be concise and thoughtful.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
النماذج المتاحة
| النموذج | الوصف | السياق |
|---|---|---|
claude-sonnet-4-20250514 | أحدث Claude 4 Sonnet | 200K tokens |
claude-opus-4-20250514 | الأكثر قدرة Claude 4 | 200K tokens |
claude-3-5-sonnet-20241022 | Claude 3.5 Sonnet | 200K tokens |
مثال على الإخراج
👤 User: Explain quantum entanglement to a 10-year-old
🤖 Claude: Imagine you have two magic coins. When you flip them, they always
land the same way - both heads or both tails - even if one coin is on Earth
and the other is on the Moon! Scientists call this "entanglement." The coins
are connected in a special way that we can't see, like invisible best friends
who always make the same choice at the exact same time.
DeepSeek 💭 تفكير
الأفضل لـ: حل المشكلات المعقدة، الرياضيات، البرمجة، مهام الاستدلال
الميزات الرئيسية:
- 💭 وضع التفكير - يظهر تسلسل التفكير الاستدلالي
- 💰 فعال للغاية من حيث التكلفة (أرخص بـ 10 مرات من GPT-4)
- 🔄 تخزين مؤقت للسياق للبادئات المتكررة
- 🧮 قوي في الرياضيات والبرمجة
مثال عملي كامل
use adk_rust::prelude::*;
use adk_rust::Launcher;
use std::sync::Arc;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
dotenvy::dotenv().ok();
let api_key = std::env::var("DEEPSEEK_API_KEY")?;
// نموذج الدردشة القياسي
let model = DeepSeekClient::chat(&api_key)?;
// أو: نموذج استدلال مع وضع التفكير
// let model = DeepSeekClient::reasoner(&api_key)?;
let agent = LlmAgentBuilder::new("deepseek_assistant")
.description("DeepSeek-powered assistant")
.instruction("You are a helpful assistant powered by DeepSeek. Be concise.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
النماذج المتاحة
| النموذج | الوصف | ميزة خاصة |
|---|---|---|
deepseek-chat | نموذج دردشة سريع | غرض عام |
deepseek-reasoner | نموذج استدلال | يظهر عملية التفكير |
مثال على الإخراج (مفكر مع وضع التفكير)
👤 User: What's 17 × 23?
🤖 DeepSeek: <thinking>
Let me break this down:
17 × 23 = 17 × (20 + 3)
= 17 × 20 + 17 × 3
= 340 + 51
= 391
</thinking>
The answer is 391.
Groq ⚡ فائق السرعة
الأفضل لـ: التطبيقات في الوقت الفعلي، روبوتات الدردشة، المهام الحساسة للسرعة
أبرز الميزات:
- ⚡ أسرع استدلال - أسرع بـ 10 مرات من المنافسين
- 🔧 تقنية LPU (وحدة معالجة اللغة)
- 💰 تسعير تنافسي
- 🦙 يشغل نماذج LLaMA، Mixtral، Gemma
مثال عملي كامل
use adk_rust::prelude::*;
use adk_rust::Launcher;
use std::sync::Arc;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
dotenvy::dotenv().ok();
let api_key = std::env::var("GROQ_API_KEY")?;
let model = GroqClient::llama70b(&api_key)?;
let agent = LlmAgentBuilder::new("groq_assistant")
.description("Groq-powered assistant")
.instruction("You are a helpful assistant powered by Groq. Be concise and fast.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
النماذج المتاحة
| Model | Method | Description |
|---|---|---|
llama-3.3-70b-versatile | GroqClient::llama70b() | الأكثر قدرة |
llama-3.1-8b-instant | GroqClient::llama8b() | الأسرع |
mixtral-8x7b-32768 | Custom config | توازن جيد |
مثال على المخرجات
👤 User: Quick! Name 5 programming languages
🤖 Groq (in 0.2 seconds):
1. Rust
2. Python
3. JavaScript
4. Go
5. TypeScript
تبديل المزودين
جميع المزودين يطبقون نفس السمة Llm، لذا فإن التبديل سهل:
use adk_agent::LlmAgentBuilder;
use std::sync::Arc;
// Just change the model - everything else stays the same!
let model: Arc<dyn adk_core::Llm> = Arc::new(
// Pick one:
// GeminiModel::new(&api_key, "gemini-2.0-flash")?
// OpenAIClient::new(OpenAIConfig::new(&api_key, "gpt-4o"))?
// AnthropicClient::new(AnthropicConfig::new(&api_key, "claude-sonnet-4-20250514"))?
// DeepSeekClient::chat(&api_key)?
// GroqClient::llama70b(&api_key)?
);
let agent = LlmAgentBuilder::new("assistant")
.instruction("You are a helpful assistant.")
.model(model)
.build()?;
أمثلة
# Gemini (default)
cargo run --example quickstart
# OpenAI
cargo run --example openai_basic --features openai
# Anthropic
cargo run --example anthropic_basic --features anthropic
# DeepSeek
cargo run --example deepseek_basic --features deepseek
cargo run --example deepseek_reasoner --features deepseek # Thinking mode
# Groq
cargo run --example groq_basic --features groq
ذات صلة
- Ollama (Local) - تشغيل النماذج محليًا باستخدام Ollama
- Local Models (mistral.rs) - الاستدلال الأصلي في Rust
- LlmAgent - استخدام النماذج مع العوامل (Agents)
- Function Tools - إضافة الأدوات إلى العوامل (Agents)
السابق: ← العوامل في الوقت الفعلي | التالي: Ollama (محلي) →