Rust पर ChatGPT API के साथ एकीकरण: एक ही बोतल में शक्ति और गति

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

ChatGPT API के साथ काम करने के लिए Rust एक आदर्श विकल्प क्यों है?

\n

जब उच्च-लोड वाले AI सेवाओं के निर्माण की बात आती है, तो अधिकांश डेवलपर्स सहज रूप से Python की ओर आकर्षित होते हैं। लेकिन क्या होगा अगर मैं आपसे कहूँ कि Rust गति और सुरक्षा में Python को टक्कर दे सकता है, साथ ही ChatGPT API के साथ बातचीत की पूरी शक्ति को बनाए रख सकता है? आज हम जानेंगे कि कैसे दो अलग-अलग चीजों को जोड़ा जाए - न्यूरल नेटवर्क की सुंदरता और सिस्टम भाषा का प्रदर्शन।

\n

कल्पना करें: आपका Rust पर चैट-बॉट प्रति सेकंड हजारों अनुरोधों को संसाधित करता है, मेमोरी त्रुटियों के साथ क्रैश नहीं होता है, और Python के समकक्षों की तुलना में 10 गुना कम संसाधनों की खपत करता है। क्या यह कल्पना जैसा लगता है? वास्तविकता में आपका स्वागत है। इस लेख में, हम एक पूर्ण AI सहायक का निर्माण करेंगे जो OpenAI API के साथ इतनी तेज़ी से संवाद करेगा कि आप "ChatGPT" कहने से पहले ही बातचीत कर लेंगे।

\n

वैसे, अगर आप अभी तक इस भाषा से परिचित नहीं हैं, तो घबराएं नहीं - हम मूल बातों से शुरू करेंगे और धीरे-धीरे एसिंक्रोनस प्रोग्रामिंग की गहराई में उतरेंगे। Rust काटता नहीं है, अगर आप जानते हैं कि इसे कैसे संभालना है।

\n\n

शुरुआत करने के लिए हमें क्या चाहिए?

\n

कोड में गोता लगाने से पहले, आइए अपने टूलकिट को तैयार करें। आपको आवश्यकता होगी:

\n
    \n
  • Rust (rustup के माध्यम से स्थापित)
  • \n
  • OpenAI API-कुंजी (platform.openai.com पर प्राप्त की जा सकती है)
  • \n
  • HTTP अनुरोधों और JSON की बुनियादी समझ
  • \n
  • थोड़ा धैर्य और एक कप कॉफी
  • \n
\n

हम सभी कोड आधुनिक क्रेट्स का उपयोग करके लिखेंगे: HTTP अनुरोधों के लिए reqwest, डेटा सीरियलाइजेशन के लिए serde और एसिंक्रोनसिटी के लिए tokio। यह 2024 में Rust API के साथ काम करने के लिए मानक स्टैक है।

\n\n

प्रोजेक्ट बनाएं और निर्भरताएँ जोड़ें

\n

टर्मिनल खोलें और एक नया प्रोजेक्ट बनाएं:

\n
cargo new chatgpt_rust --bin\ncd chatgpt_rust
\n

अब Cargo.toml खोलें और आवश्यक क्रेट्स जोड़ें:

\n
[dependencies]\ntokio = { version = "1", features = ["full"] }\nreqwest = { version = "0.12", features = ["json"] }\nserde = { version = "1", features = ["derive"] }\nserde_json = "1"\ndotenv = "0.15"  # .env में API-कुंजी संग्रहीत करने के लिए
\n

reqwest में features = ["json"] पर ध्यान दें - यह स्वचालित रूप से JSON सीरियलाइजेशन समर्थन को जोड़ेगा। इसके बिना, आपको मैन्युअल रूप से प्रतिक्रियाओं को पार्स करना होगा।

\n\n

पर्यावरण चर सेट करना

\n

प्रोजेक्ट की जड़ में एक .env फ़ाइल बनाएं और उसमें अपनी कुंजी जोड़ें:

\n
OPENAI_API_KEY=sk-your-secret-key-here
\n

.env को .gitignore में जोड़ना न भूलें - सुरक्षा सर्वोपरि है! Rust प्रकारों के मामले में सख्त है, लेकिन रहस्यों के मामले में यह और भी सख्त है।

\n\n

ChatGPT API को अनुरोध के लिए डेटा संरचना

\n

OpenAI हमसे एक विशिष्ट JSON की अपेक्षा करता है। आइए इसे serde की मदद से वर्णित करें - यह कोड को पढ़ने योग्य और सुरक्षित बनाएगा:

\n
use serde::{Deserialize, Serialize};\n\n#[derive(Serialize)]\nstruct ChatRequest {\n    model: String,\n    messages: Vec<Message>,\n    temperature: f32,\n    max_tokens: u32,\n}\n\n#[derive(Serialize, Deserialize)]\nstruct Message {\n    role: String,\n    content: String,\n}\n\n#[derive(Deserialize)]\nstruct ChatResponse {\n    choices: Vec<Choice>,\n}\n\n#[derive(Deserialize)]\nstruct Choice {\n    message: Message,\n}
\n

#[derive] विशेषताओं पर ध्यान दें - यह Rust का जादू है जो स्वचालित रूप से सीरियलाइजेशन के लिए विधियाँ उत्पन्न करता है। serde के बिना, आपको टनों बॉयलरप्लेट कोड लिखना होगा।

\n\n

OpenAI के लिए एसिंक्रोनस क्लाइंट लिखना

\n

अब सबसे दिलचस्प हिस्सा - एक फ़ंक्शन बनाना जो ChatGPT API के साथ संवाद करेगा। हम एसिंक्रोनस अनुरोधों के लिए reqwest और tokio का उपयोग करेंगे:

\n
use std::env;\nuse dotenv::dotenv;\n\n#[tokio::main]\nasync fn main() -> Result<(), Box<dyn std::error::Error>> {\n    dote                

ब्लॉग

पुस्तक अनुशंसाएँ