اتصل بجميع واجهات برمجة تطبيقات LLM باستخدام تنسيق OpenAI [Bedrock وHuggingface وVertexAI وTogetherAI وAzure وOpenAI وGroq وما إلى ذلك]
تدير LiteLLM:
completion
embedding
image_generation
['choices'][0]['message']['content']
انتقل إلى مستندات LiteLLM Proxy (LLM Gateway).
انتقل إلى موفري LLM المدعومين
؟ الإصدار المستقر: استخدم صور عامل الإرساء مع العلامة -stable
. لقد خضعت هذه الاختبارات لاختبارات التحميل لمدة 12 ساعة، قبل نشرها.
دعم لمزيد من مقدمي الخدمات. في حالة عدم وجود موفر أو منصة LLM، قم برفع طلب ميزة.
مهم
يتطلب الإصدار LiteLLM v1.0.0 الآن openai>=1.0.0
. دليل الهجرة هنا
LiteLLM v1.40.14+ يتطلب الآن pydantic>=2.0.0
. لا توجد تغييرات مطلوبة.
pip install litellm
from litellm import completion
import os
## set ENV variables
os . environ [ "OPENAI_API_KEY" ] = "your-openai-key"
os . environ [ "COHERE_API_KEY" ] = "your-cohere-key"
messages = [{ "content" : "Hello, how are you?" , "role" : "user" }]
# openai call
response = completion ( model = "gpt-3.5-turbo" , messages = messages )
# cohere call
response = completion ( model = "command-nightly" , messages = messages )
print ( response )
اتصل بأي نموذج يدعمه موفر الخدمة، باستخدام model=
. قد تكون هناك تفاصيل خاصة بالموفر هنا، لذا راجع مستندات الموفر للحصول على مزيد من المعلومات
from litellm import acompletion
import asyncio
async def test_get_response ():
user_message = "Hello, how are you?"
messages = [{ "content" : user_message , "role" : "user" }]
response = await acompletion ( model = "gpt-3.5-turbo" , messages = messages )
return response
response = asyncio . run ( test_get_response ())
print ( response )
يدعم liteLLM دفق استجابة النموذج مرة أخرى، وقم stream=True
للحصول على مكرر دفق استجابةً.
يتم دعم البث لجميع الطرز (Bedrock وHuggingface وTogetherAI وAzure وOpenAI وما إلى ذلك)
from litellm import completion
response = completion ( model = "gpt-3.5-turbo" , messages = messages , stream = True )
for part in response :
print ( part . choices [ 0 ]. delta . content or "" )
# claude 2
response = completion ( 'claude-2' , messages , stream = True )
for part in response :
print ( part . choices [ 0 ]. delta . content or "" )
يعرض LiteLLM عمليات الاسترجاعات المحددة مسبقًا لإرسال البيانات إلى Lunary وLangfuse وDynamoDB وs3 Buckets وHelicone وPromptlayer وTraceloop وAthina وSlack
from litellm import completion
## set env variables for logging tools
os . environ [ "LUNARY_PUBLIC_KEY" ] = "your-lunary-public-key"
os . environ [ "HELICONE_API_KEY" ] = "your-helicone-auth-key"
os . environ [ "LANGFUSE_PUBLIC_KEY" ] = ""
os . environ [ "LANGFUSE_SECRET_KEY" ] = ""
os . environ [ "ATHINA_API_KEY" ] = "your-athina-api-key"
os . environ [ "OPENAI_API_KEY" ]
# set callbacks
litellm . success_callback = [ "lunary" , "langfuse" , "athina" , "helicone" ] # log input/output to lunary, langfuse, supabase, athina, helicone etc
#openai call
response = completion ( model = "gpt-3.5-turbo" , messages = [{ "role" : "user" , "content" : "Hi ? - i'm openai" }])
تتبع الإنفاق + رصيد التحميل عبر مشاريع متعددة
الوكيل المستضاف (معاينة)
يوفر الوكيل:
pip install ' litellm[proxy] '
$ litellm --model huggingface/bigcode/starcoder
# INFO: Proxy running on http://0.0.0.0:4000
مهم
استخدم LiteLLM Proxy مع Langchain (Python, JS)، OpenAI SDK (Python، JS) Anthropic SDK، Mistral SDK، LlamaIndex، Instructor، Curl
import openai # openai v1.0.0+
client = openai . OpenAI ( api_key = "anything" , base_url = "http://0.0.0.0:4000" ) # set proxy to base_url
# request sent to model set on litellm proxy, `litellm --model`
response = client . chat . completions . create ( model = "gpt-3.5-turbo" , messages = [
{
"role" : "user" ,
"content" : "this is a test request, write a short poem"
}
])
print ( response )
قم بتوصيل الوكيل بقاعدة بيانات Postgres لإنشاء مفاتيح الوكيل
# Get the code
git clone https://github.com/BerriAI/litellm
# Go to folder
cd litellm
# Add the master key - you can change this after setup
echo ' LITELLM_MASTER_KEY="sk-1234" ' > .env
# Add the litellm salt key - you cannot change this after adding a model
# It is used to encrypt / decrypt your LLM API Key credentials
# We recommned - https://1password.com/password-generator/
# password generator to get a random hash for litellm salt key
echo ' LITELLM_SALT_KEY="sk-1234" ' > .env
source .env
# Start
docker-compose up
واجهة المستخدم على /ui
على الخادم الوكيل الخاص بك
قم بتعيين الميزانيات وحدود الأسعار عبر مشاريع متعددة POST /key/generate
curl ' http://0.0.0.0:4000/key/generate '
--header ' Authorization: Bearer sk-1234 '
--header ' Content-Type: application/json '
--data-raw ' {"models": ["gpt-3.5-turbo", "gpt-4", "claude-2"], "duration": "20m","metadata": {"user": "[email protected]", "team": "core-infra"}} '
{
" key " : " sk-kdEXbIqZRwEeEiHwdg7sFA " , # Bearer token
" expires " : " 2023-11-19T01:38:25.838000+00:00 " # datetime object
}
مزود | انتهاء | جاري | إكمال غير متزامن | الجري غير المتزامن | التضمين غير المتزامن | إنشاء الصور غير المتزامنة |
---|---|---|---|---|---|---|
openai | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
أزور | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
أوس - صانع الحكيم | ✅ | ✅ | ✅ | ✅ | ✅ | |
أوس - حجر الأساس | ✅ | ✅ | ✅ | ✅ | ✅ | |
جوجل - vertex_ai | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
جوجل - النخيل | ✅ | ✅ | ✅ | ✅ | ||
جوجل AI ستوديو - الجوزاء | ✅ | ✅ | ✅ | ✅ | ||
ميسترال منظمة العفو الدولية | ✅ | ✅ | ✅ | ✅ | ✅ | |
عمال Cloudflare AI | ✅ | ✅ | ✅ | ✅ | ||
التحم | ✅ | ✅ | ✅ | ✅ | ✅ | |
أنثروبي | ✅ | ✅ | ✅ | ✅ | ||
تمكين | ✅ | ✅ | ✅ | ✅ | ||
Huggingface | ✅ | ✅ | ✅ | ✅ | ✅ | |
تكرار | ✅ | ✅ | ✅ | ✅ | ||
Together_ai | ✅ | ✅ | ✅ | ✅ | ||
com.openrouter | ✅ | ✅ | ✅ | ✅ | ||
ai21 | ✅ | ✅ | ✅ | ✅ | ||
com.basten | ✅ | ✅ | ✅ | ✅ | ||
vllm | ✅ | ✅ | ✅ | ✅ | ||
nlp_cloud | ✅ | ✅ | ✅ | ✅ | ||
ألف ألفا | ✅ | ✅ | ✅ | ✅ | ||
بتلات | ✅ | ✅ | ✅ | ✅ | ||
أولاما | ✅ | ✅ | ✅ | ✅ | ✅ | |
com.deepinfra | ✅ | ✅ | ✅ | ✅ | ||
الحيرة منظمة العفو الدولية | ✅ | ✅ | ✅ | ✅ | ||
جروك آي | ✅ | ✅ | ✅ | ✅ | ||
ديب سيك | ✅ | ✅ | ✅ | ✅ | ||
com.anyscale | ✅ | ✅ | ✅ | ✅ | ||
آي بي إم – watsonx.ai | ✅ | ✅ | ✅ | ✅ | ✅ | |
رحلة منظمة العفو الدولية | ✅ | |||||
xinference [استدلال Xorbits] | ✅ | |||||
وديةAI | ✅ | ✅ | ✅ | ✅ |
اقرأ المستندات
للمساهمة: انسخ الريبو محليًا -> قم بإجراء تغيير -> أرسل تقريرًا عامًا مع التغيير.
فيما يلي كيفية تعديل الريبو محليًا: الخطوة 1: استنساخ الريبو
git clone https://github.com/BerriAI/litellm.git
الخطوة 2: انتقل إلى المشروع وقم بتثبيت التبعيات:
cd litellm
poetry install -E extra_proxy -E proxy
الخطوة 3: اختبار التغيير الخاص بك:
cd litellm/tests # pwd: Documents/litellm/litellm/tests
poetry run flake8
poetry run pytest .
الخطوة 4: قم بتقديم العلاقات العامة مع التغييرات الخاصة بك! ؟
للشركات التي تحتاج إلى تحسين الأمان وإدارة المستخدمين والدعم الاحترافي
تحدث إلى المؤسسين
يغطي هذا: