একাধিক LLM কল করার জন্য প্রদানকারী/মডেল-নির্দিষ্ট কনফিগারেশন জড়িত। এমনকি যদি আপনি I/O একত্রিত করেন, তবুও মডেল/প্রোভাইডার-নির্দিষ্ট এজ-কেসগুলি পরিচালনা করার জন্য আপনার একটি উপায় প্রয়োজন।
আমরা গত সপ্তাহে এর মুখোমুখি হয়েছিলাম যখন অ্যানথ্রোপিক আমাদের বলেছিল যে আমরা তাদের বিষয়বস্তু নীতি লঙ্ঘন করেছি। যেহেতু, আমরা আমাদের ওপেন-সোর্স প্রক্সি সার্ভারের মাধ্যমে আমাদের সম্প্রদায়ের LLM যেমন Claude-2 ইত্যাদিতে অ্যাক্সেস প্রদান করি।
OpenAI মডারেশন এন্ডপয়েন্টের মাধ্যমে ক্যোয়ারী চেক করা ক্যোয়ারীগুলোকে ধীর করে দেবে, তাই আমরা এটি শুধুমাত্র Anthropic এর মডেলে চালাতে চেয়েছিলাম।
if model in ["claude-instant-1", "claude-2"]: # run moderations check return litellm.completion(model, messages)
কিন্তু এই মত শর্তযুক্ত যুক্তি বাগ বাড়ে. আমরা আগে এই সঠিক সমস্যার মুখোমুখি হয়েছিলাম, এবং আমাদের জন্য এই সমস্যাটি সমাধান করার জন্য LiteLLM তৈরি করেছি (বিমূর্ত লাইব্রেরি যা LLM API কলগুলিকে সরলীকৃত করেছে)।
tldr;
আমাদের সমাধান ছিল LiteLLM আমাদের জন্য এটি পরিচালনা করবে এবং একটি কনফিগার ফাইলের মাধ্যমে এটির যুক্তি নিয়ন্ত্রণ করবে। এটি আমাদের সার্ভার কোড থেকে শর্তসাপেক্ষ যুক্তিকে সরিয়ে দিয়েছে , এবং এখনও আমাদের প্রদানকারী/মডেলের নির্দিষ্ট বিবরণ নিয়ন্ত্রণ করার অনুমতি দিয়েছে।
এটি আমাদের অন্যান্য পরিস্থিতি যেমন প্রসঙ্গ উইন্ডো ত্রুটি, সর্বোচ্চ টোকেন ইত্যাদি পরিচালনা করতে সক্ষম করে।
এখানে আমাদের সম্পূর্ণ কোড:
import litellm import os config = { "default_fallback_models": ["gpt-3.5-turbo", "claude-instant-1", "j2-ultra"], "model": { "claude-instant-1": { "needs_moderation": True }, "gpt-3.5-turbo": { "error_handling": { "ContextWindowExceededError": {"fallback_model": "gpt-3.5-turbo-16k"} } } } } # set env var os.environ["OPENAI_API_KEY"] = "sk-litellm-5b46387675a944d2" # [OPTIONAL] replace with your openai key os.environ["ANTHROPIC_API_KEY"] = "sk-litellm-5b46387675a944d2" # [OPTIONAL] replace with your anthropic key sample_text = "how does a court case get to the Supreme Court?" * 1000 messages = [{"content": sample_text, "role": "user"}] response = completion_with_config(model="gpt-3.5-turbo", messages=messages, config=config) print(response) # should be gpt-3.5-turbo-16k
কনফিগার ফাইলগুলি বর্তমানে পরিচালনা করে:
সময়ের সাথে সাথে, এটি অন্যান্য মডেল-নির্দিষ্ট পরামিতিগুলি পরিচালনা করবে যেমন সর্বোচ্চ টোকেন সেট করা, প্রম্পট ফর্ম্যাটিং ইত্যাদি। ধারণা/পরামর্শগুলি স্বাগত!
LiteLLM ইতিমধ্যেই LLM প্রদানকারীদের কলিং সরলীকৃত করেছে, OpenAI ChatCompletion-এর এন্ডপয়েন্টের জন্য ড্রপ-ইন প্রতিস্থাপন সহ।
কনফিগার ফাইলগুলির সাথে, এটি এখন আপনাকে সার্ভার-সাইড কোড পরিবর্তন না করে উৎপাদনে নতুন মডেল যোগ করতে দেয়।
সামগ্রিকভাবে, LiteLLM যে কেউ দ্রুত এবং সহজে উৎপাদনে অ-ওপেনএআই মডেল যোগ করতে চায় তাদের জন্য একটি চমৎকার পছন্দ।
আমরা সক্রিয়ভাবে এই প্রকল্পটি বাড়াতে চেষ্টা করছি তাই আপনার দক্ষতার স্তর যাই হোক না কেন আমরা অবদানকে স্বাগত জানাই! আপনি অনুপস্থিত বৈশিষ্ট্য/বাগ খুঁজে পেলে বা বিদ্যমান সমস্যাগুলিতে অবদান রাখলে একটি সমস্যা খুলুন। নতুন আপডেট আসার সাথে সাথে আপনি যদি আমাদের অগ্রগতি অনুসরণ করতে চান তবে আমাদের GitHub-এ তারকাচিহ্নিত করুন ।