ब्लॉग पर वापस
रिलीज़v0.2.0स्थिरग्राफ-एजेंटरीयलटाइमब्राउज़रमूल्यांकनस्टूडियो

ADK-Rust v0.2.0: पहली स्थिर रिलीज़

ADK-Rust v0.2.0 की घोषणा - ग्राफ एजेंट, रीयलटाइम वॉयस, ब्राउज़र ऑटोमेशन, मूल्यांकन फ्रेमवर्क और ADK Studio विज़ुअल बिल्डर की विशेषता वाली पहली स्थिर रिलीज़।

15 मिनट पढ़ें

ADK-Rust v0.2.0: पहली स्थिर रिलीज़

हमें ADK-Rust v0.2.0 की घोषणा करते हुए खुशी हो रही है - उत्पादन-तैयार एआई एजेंट बनाने के लिए Rust फ्रेमवर्क की पहली स्थिर रिलीज़। यह रिलीज़ महत्वपूर्ण नई सुविधाओं, बेहतर स्थिरता और भविष्य में सिमेंटिक संस्करण के प्रति प्रतिबद्धता के साथ एक प्रमुख मील का पत्थर है।

v0.2.0 में नया क्या है

🔀 ग्राफ एजेंट (LangGraph-शैली वर्कफ़्लो)

नया adk-graph क्रेट LangGraph-शैली वर्कफ़्लो ऑर्केस्ट्रेशन को Rust में लाता है:

use adk_graph::{prelude::*, node::AgentNode};

let graph = GraphAgent::builder("support_router")
    .channels(&["input", "category", "response"])
    .node(classifier_node)
    .node(billing_node)
    .node(technical_node)
    .edge(START, "classifier")
    .conditional_edges("classifier", Router::by_field("category", vec![
        ("billing", "billing_agent"),
        ("technical", "technical_agent"),
    ]))
    .edge("billing_agent", END)
    .edge("technical_agent", END)
    .build()?;

मुख्य विशेषताएं:

  • स्टेट मैनेजमेंट: स्वचालित विलय के साथ टाइप किए गए स्टेट चैनल
  • कंडीशनल रूटिंग: स्टेट फ़ील्ड या कस्टम लॉजिक के आधार पर रूट करें
  • चेकपॉइंटिंग: दोष सहिष्णुता के लिए SQLite और इन-मेमोरी बैकएंड
  • ह्यूमन-इन-द-लूप: मानवीय अनुमोदन के लिए वर्कफ़्लो को बाधित करें
  • चक्रीय ग्राफ़: पुनरावृति सीमाओं के साथ रीएक्ट पैटर्न के लिए समर्थन

🎙️ रीयलटाइम वॉयस एजेंट

द्विदिशीय ऑडियो स्ट्रीमिंग के साथ वॉयस-सक्षम एआई सहायक बनाएं:

use adk_realtime::{RealtimeAgent, openai::OpenAIRealtimeModel};

let agent = RealtimeAgent::builder("voice_assistant")
    .model(Arc::new(OpenAIRealtimeModel::new(&api_key, "gpt-4o-realtime-preview")))
    .instruction("You are a helpful voice assistant.")
    .voice("alloy")
    .server_vad()  // Voice Activity Detection
    .build()?;

समर्थित प्रदाता:

  • OpenAI रीयलटाइम API (gpt-4o-realtime-preview, gpt-realtime)
  • Google Gemini लाइव API (gemini-2.0-flash-live-preview)

विशेषताएं:

  • द्विदिशीय ऑडियो स्ट्रीमिंग (PCM16, G711)
  • सर्वर-साइड वॉयस एक्टिविटी डिटेक्शन
  • वॉयस वार्तालापों के दौरान टूल कॉलिंग
  • मल्टी-एजेंट हैंडऑफ़

🌐 ब्राउज़र ऑटोमेशन

adk-browser क्रेट वेब ऑटोमेशन के लिए 46 वेबड्राइवर टूल प्रदान करता है:

use adk_browser::{BrowserSession, BrowserToolset, BrowserConfig};

let session = Arc::new(BrowserSession::new(
    BrowserConfig::new().webdriver_url("http://localhost:4444")
));
let tools = BrowserToolset::new(session).all_tools();

let agent = LlmAgentBuilder::new("web_agent")
    .model(model)
    .instruction("Browse the web and extract information.")
    .tools(tools)
    .build()?;

टूल श्रेणियाँ:

  • नेविगेशन: browser_navigate, browser_back, browser_forward
  • निष्कर्षण: browser_extract_text, browser_extract_links, browser_extract_html
  • इंटरेक्शन: browser_click, browser_type, browser_select
  • फ़ॉर्म: browser_fill_form, browser_submit
  • स्क्रीनशॉट: browser_screenshot, browser_screenshot_element
  • जावास्क्रिप्ट: browser_evaluate, browser_evaluate_async

📊 एजेंट मूल्यांकन फ्रेमवर्क

adk-eval क्रेट के साथ एजेंट व्यवहार का परीक्षण और सत्यापन करें:

use adk_eval::{Evaluator, EvaluationConfig, EvaluationCriteria};

let config = EvaluationConfig::with_criteria(
    EvaluationCriteria::exact_tools()
        .with_response_similarity(0.8)
);

let evaluator = Evaluator::new(config);
let report = evaluator
    .evaluate_file(agent, "tests/my_agent.test.json")
    .await?;

assert!(report.all_passed());

मूल्यांकन क्षमताएं:

  • प्रक्षेपवक्र सत्यापन (टूल कॉल अनुक्रम)
  • प्रतिक्रिया समानता (जैकार्ड, लेवेनश्टाइन, रूज)
  • LLM-निर्णित सिमेंटिक मिलान
  • कस्टम मानदंडों के साथ रूब्रिक-आधारित स्कोरिंग
  • सुरक्षा और मतिभ्रम का पता लगाना

🎨 ADK Studio: विज़ुअल एजेंट बिल्डर

एआई एजेंट बनाने के लिए एक ड्रैग-एंड-ड्रॉप इंटरफ़ेस:

cargo install adk-studio
adk-studio

विशेषताएं:

  • विज़ुअल वर्कफ़्लो डिज़ाइन के लिए रिएक्टफ़्लो कैनवास
  • पूर्ण एजेंट पैलेट: LLM, अनुक्रमिक, समानांतर, लूप, राउटर
  • टूल एकीकरण: फ़ंक्शन, MCP, ब्राउज़र, गूगल सर्च
  • SSE स्ट्रीमिंग के साथ रीयल-टाइम चैट परीक्षण
  • उत्पादन Rust के लिए वन-क्लिक कोड जनरेशन

🛡️ गार्डरेल्स

adk-guardrail क्रेट के साथ इनपुट/आउटपुट सत्यापन:

use adk_guardrail::{Guardrails, PiiRedactor, ContentFilter};

let guardrails = Guardrails::new()
    .add(PiiRedactor::default())
    .add(ContentFilter::block_harmful());

let safe_input = guardrails.process_input(user_message)?;
let safe_output = guardrails.process_output(agent_response)?;

अंतर्निहित गार्डरेल्स:

  • PII रिडक्शन (ईमेल, फोन, एसएसएन, क्रेडिट कार्ड)
  • सामग्री फ़िल्टरिंग (हानिकारक, अनुचित)
  • JSON स्कीमा सत्यापन
  • कस्टम सत्यापन नियम

🖼️ डायनामिक UI जनरेशन

adk-ui क्रेट एजेंटों को रिच इंटरफेस प्रस्तुत करने में सक्षम बनाता है:

use adk_ui::{UiToolset, UI_AGENT_PROMPT};

let agent = LlmAgentBuilder::new("ui_assistant")
    .instruction(UI_AGENT_PROMPT)
    .tools(UiToolset::all_tools())
    .build()?;

घटक: 28 UI घटक जिनमें कार्ड, टेबल, चार्ट, फ़ॉर्म शामिल हैं टेम्पलेट्स: सामान्य पैटर्न के लिए 10 पूर्व-निर्मित टेम्पलेट्स रिएक्ट क्लाइंट: npm install @zavora-ai/adk-ui-react

ब्रेकिंग परिवर्तन

RunnerConfig परिवर्तन

RunnerConfig स्ट्रक्ट में अब एक run_config फ़ील्ड शामिल है:

// Before (v0.1.x)
let runner = Runner::new(RunnerConfig {
    app_name: "my_app".to_string(),
    agent: agent.clone(),
    session_service: session_service.clone(),
    artifact_service: None,
    memory_service: None,
})?;

// After (v0.2.0)
let runner = Runner::new(RunnerConfig {
    app_name: "my_app".to_string(),
    agent: agent.clone(),
    session_service: session_service.clone(),
    artifact_service: None,
    memory_service: None,
    run_config: None,  // NEW: Optional RunConfig for execution settings
})?;

निर्भरता अपडेट

  • sqlx को 0.7 से 0.8 में अपग्रेड किया गया ( SQLite संगतता के लिए आवश्यक)
  • Rust 2024 संस्करण ( Rust 1.85+ की आवश्यकता है)

माइग्रेशन गाइड

  1. Cargo.toml अपडेट करें:

    adk-rust = "0.2.0"
  2. RunnerConfig में run_config: None जोड़ें:

    RunnerConfig {
        // ... existing fields ...
        run_config: None,
    }
  3. यदि SQLite सत्रों का उपयोग कर रहे हैं तो sqlx अपडेट करें:

    sqlx = { version = "0.8", features = ["sqlite", "runtime-tokio"] }

प्रदर्शन सुधार

  • स्ट्रीमिंग अनुकूलन: इवेंट स्ट्रीमिंग में कम मेमोरी आवंटन
  • सत्र कैशिंग: बेहतर सत्र लुकअप प्रदर्शन
  • टूल निष्पादन: जहाँ संभव हो समानांतर टूल निष्पादन

दस्तावेज़ीकरण

v0.2.0 के लिए सभी दस्तावेज़ीकरण अपडेट कर दिए गए हैं:

दस्तावेज़ीकरण अब 9 भाषाओं में उपलब्ध है: अंग्रेजी, स्पेनिश, चीनी, जापानी, पुर्तगाली, जर्मन, फ्रेंच, अरबी, हिंदी और कोरियाई।

आगे क्या है

हम पहले से ही v0.3.0 पर काम कर रहे हैं जिसमें नियोजित विशेषताएं हैं:

  • क्लाउड एकीकरण (एडब्ल्यूएस बेडरॉक, एज़ूर OpenAI, जीसीपी वर्टेक्स एआई)
  • अधिक वेक्टर डेटाबेस बैकएंड के साथ उन्नत मेमोरी सिस्टम
  • वर्कफ़्लो टेम्पलेट्स और पूर्व-निर्मित एजेंट पैटर्न
  • प्रदर्शन प्रोफाइलिंग और अनुकूलन उपकरण

शुरू करें

# Create a new project
cargo new my_agent
cd my_agent

# Add ADK-Rust
echo 'adk-rust = "0.2.0"' >> Cargo.toml
echo 'tokio = { version = "1.40", features = ["full"] }' >> Cargo.toml

# Set your API key
export GOOGLE_API_KEY="your-api-key"

# Run an example
cargo run --example quickstart

धन्यवाद

कोड, दस्तावेज़ीकरण, बग रिपोर्ट और फीडबैक के माध्यम से इस रिलीज़ में योगदान देने वाले सभी लोगों को बहुत-बहुत धन्यवाद। ADK-Rust समुदाय द्वारा, समुदाय के लिए बनाया गया है।

लिंक:

खुशहाल निर्माण! 🦀🤖

ADK-Rust v0.5.0 आज़माने के लिए तैयार हैं?

एआई एजेंट बनाने के लिए सबसे शक्तिशाली Rust फ्रेमवर्क के साथ शुरुआत करें।