প্রকল্প সম্পর্কে
OpenAI Harmony হলো harmony রেসপন্স ফরম্যাট নিয়ে কাজ করার একটি লাইব্রেরি, যা OpenAI-এর ওপেন-ওয়েট gpt-oss মডেলগুলির প্রশিক্ষণের ভিত্তি হিসেবে ব্যবহৃত কথোপকথন কাঠামো। README অনুযায়ী, harmony ফরম্যাট ছাড়া gpt-oss ব্যবহার করা উচিত নয়, কারণ এটি সঠিকভাবে কাজ করবে না। যারা API বা HuggingFace, Ollama, বা vLLM-এর মতো প্রোভাইডারের মাধ্যমে gpt-oss অ্যাক্সেস করেন, তাদের নিজেদের ফরম্যাটিং নিয়ে চিন্তা করতে হবে না, কারণ ইনফারেন্স সমাধান সেটি করে থাকে। লাইব্রেরিটি মূলত তাদের জন্য যারা নিজস্ব ইনফারেন্স সমাধান তৈরি করছেন।
ফরম্যাটটি OpenAI Responses API-এর অনুকরণে ডিজাইন করা হয়েছে এবং এটি চেইন-অফ-থট, টুল-কলিং প্রিঅ্যাম্বল, সাধারণ রেসপন্স, টুল নেমস্পেস, স্ট্রাকচার্ড আউটপুট, এবং নির্দেশনা হায়ারার্কির জন্য একাধিক আউটপুট চ্যানেল সমর্থন করে। README-তে একটি উদাহরণ প্রম্পট দেওয়া আছে যা সিস্টেম, ডেভেলপার, এবং ইউজার মেসেজের সাথে টুল ডেফিনিশন দেখায়।
প্রধান বৈশিষ্ট্যগুলি:
- সামঞ্জস্যপূর্ণ ফরম্যাটিং: রেন্ডারিং এবং পার্সিংয়ের জন্য একটি শেয়ার্ড ইমপ্লিমেন্টেশন টোকেন সিকোয়েন্সকে লস-ফ্রি রাখে।
- পারফরম্যান্স: ভারী কাজগুলো Rust-এ বাস্তবায়িত।
- Python সাপোর্ট: pip-এর মাধ্যমে ইনস্টলযোগ্য, টাইপড স্টাব এবং Rust টেস্ট স্যুটের সাথে প্যারিটি।
রিপোজিটরিতে একটি Rust ক্রেট (চ্যাট ডেটা স্ট্রাকচার, এনকোডিং/রেন্ডারিং এবং পার্সিং, বিল্ট-ইন এনকোডিং রেজিস্ট্রি, টেস্ট, এবং PyO3 বাইন্ডিং) এবং একটি পিওর-পাইথন র্যাপার রয়েছে যা ডেটাক্লাস এবং হেল্পার API প্রদান করে। Python ইনস্টলেশন `pip install openai-harmony` বা `uv pip install openai-harmony` দিয়ে হয়; Rust ব্যবহারের জন্য Cargo.toml-এ ক্রেটটি গিট ডিপেন্ডেন্সি হিসেবে যোগ করতে হয়। উদাহরণে HARMONY_GPT_OSS এনকোডিং লোড করা, মেসেজ থেকে Conversation তৈরি করা, কমপ্লিশনের জন্য রেন্ডার করা, এবং কমপ্লিশন টোকেন থেকে মেসেজ পার্স করা দেখানো হয়েছে।
লোকাল ডেভেলপমেন্টের জন্য প্রয়োজনীয় প্রি-রিকুইজিট হলো স্থিতিশীল Rust টুলচেইন, Python 3.8+ ভার্চুয়াল এনভায়রনমেন্ট, এবং maturin। ওয়ার্কফ্লোতে `maturin develop --release` ব্যবহার করে Rust ক্রেট কম্পাইল এবং Python প্যাকেজ এডিটেবল মোডে ইনস্টল করা হয়। টেস্ট চালানো হয় `cargo test` (Rust) এবং `pytest` (Python) দিয়ে, যেখানে Python স্যুটটি Rust টেস্টের এক-থেকে-এক পোর্ট। ঐচ্ছিক টুলিংয়ের মধ্যে রয়েছে mypy (টাইপ চেকিং), ruff (লিন্টিং), এবং cargo fmt (ফরম্যাটিং)।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.