能否通过LiteLLM Python SDK用客户端凭证调用未配置模型凭证的LiteLLM代理?
关于LiteLLM Python SDK客户端凭证调用代理的解决方案
一、核心结论
可以通过LiteLLM Python SDK用客户端凭证直接调用未配置模型凭证的LiteLLM代理,针对你提到的两个场景,具体实现方式如下:
二、场景1:用IAM实例角色调用Bedrock
直接使用LiteLLM的completion或chat.completions.create方法,指定model为Bedrock模型格式(比如bedrock/anthropic.claude-v2),同时确保客户端运行环境已配置好具备Bedrock API调用权限的IAM实例角色,LiteLLM代理会自动传递客户端的IAM凭证到Bedrock,无需在代理端配置Bedrock密钥。
示例代码:
import litellm response = litellm.completion( model="bedrock/anthropic.claude-v2", messages=[{"role": "user", "content": "Hello world"}] )
三、场景2:传入明确API密钥调用OpenAI
针对OpenAI场景,LiteLLM的completion方法无需使用extra_body参数,直接通过api_key参数传入客户端的OpenAI密钥即可,LiteLLM代理会将该密钥直接转发给OpenAI,无需在代理端配置OpenAI凭证。
示例代码:
import litellm response = litellm.completion( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello world"}], api_key="YOUR_OPENAI_API_KEY" )
如果需要传递额外自定义头部,可通过headers参数实现:
response = litellm.completion( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello world"}], api_key="YOUR_OPENAI_API_KEY", headers={"X-Custom-Header": "value"} )
四、关于extra_body参数的说明
文档中提到的OpenAI客户端extra_body参数,在LiteLLM Python SDK中可直接通过completion方法的参数传递实现,比如要调整temperature这类模型参数,直接作为方法参数传入即可,LiteLLM会自动将参数转发给OpenAI API。
内容的提问来源于stack exchange,提问作者Klugscheißer
相关产品推荐
相关产品推荐

