इस प्रोजेक्ट के बारे में

OpenAI Harmony एक लाइब्रेरी है जो harmony प्रतिक्रिया प्रारूप के साथ काम करने के लिए है, जो OpenAI के ओपन-वेट gpt-oss मॉडलों के प्रशिक्षण के लिए उपयोग की जाने वाली संवाद संरचना है। README के अनुसार, gpt-oss को harmony प्रारूप के बिना उपयोग नहीं किया जाना चाहिए, क्योंकि यह सही ढंग से काम नहीं करेगा। जो उपयोगकर्ता gpt-oss को API या HuggingFace, Ollama, या vLLM जैसे प्रदाताओं के माध्यम से एक्सेस करते हैं, उन्हें स्वयं प्रारूपण संभालने की आवश्यकता नहीं है, क्योंकि अनुमान समाधान ऐसा करता है। यह लाइब्रेरी अपने स्वयं के अनुमान समाधान बनाने वाले डेवलपर्स के लिए है। यह प्रारूप OpenAI Responses API की नकल करने के लिए डिज़ाइन किया गया है और चेन-ऑफ-थॉट, टूल-कॉलिंग प्रस्तावना, नियमित प्रतिक्रियाएं, टूल नेमस्पेस, संरचित आउटपुट, और एक निर्देश पदानुक्रम के लिए कई आउटपुट चैनलों का समर्थन करता है। README में एक उदाहरण प्रॉम्प्ट शामिल है जो सिस्टम, डेवलपर, और उपयोगकर्ता संदेशों को टूल परिभाषाओं के साथ दिखाता है। मुख्य बताई गई विशेषताएं: - सुसंगत प्रारूपण: रेंडरिंग और पार्सिंग के लिए एक साझा कार्यान्वयन टोकन अनुक्रमों को हानि-मुक्त रखता है। - प्रदर्शन: भारी कार्य Rust में लागू किया गया है। - Python समर्थन: pip के माध्यम से इंस्टॉल करने योग्य, टाइप किए गए स्टब्स और Rust सुइट के साथ परीक्षण समानता के साथ। रिपॉजिटरी में एक Rust क्रेट (चैट डेटा संरचनाएं, एन्कोडिंग/रेंडरिंग और पार्सिंग, अंतर्निहित एन्कोडिंग रजिस्ट्री, परीक्षण, और PyO3 बाइंडिंग) के साथ-साथ एक शुद्ध-Python रैपर शामिल है जो डेटाक्लास और एक सहायक API को उजागर करता है। Python इंस्टॉलेशन `pip install openai-harmony` या `uv pip install openai-harmony` के माध्यम से है; Rust उपयोग Cargo.toml में क्रेट को git निर्भरता के रूप में जोड़ता है। उदाहरण HARMONY_GPT_OSS एन्कोडिंग लोड करना, संदेशों से Conversation बनाना, इसे पूर्णता के लिए रेंडर करना, और पूर्णता टोकन से संदेशों को पार्स करना दिखाते हैं। स्थानीय विकास के लिए, आवश्यकताएं एक स्थिर Rust टूलचेन, Python 3.8+ एक वर्चुअल वातावरण के साथ, और maturin हैं। वर्कफ़्लो Rust क्रेट को संकलित करने और Python पैकेज को एडिटेबल मोड में इंस्टॉल करने के लिए `maturin develop --release` का उपयोग करता है। परीक्षण Rust के लिए `cargo test` और Python के लिए `pytest` के साथ चलते हैं, जिसमें Python सुइट को Rust परीक्षणों का एक-से-एक पोर्ट बताया गया है। वैकल्पिक टूलिंग में टाइप जांच के लिए mypy, लिंटिंग के लिए ruff, और फॉर्मेटिंग के लिए cargo fmt शामिल हैं।