在这篇文章中,我们将介绍如何使用LiteLLM与中专API进行大模型调用。LiteLLM是一个支持100多种大模型API的库,包括Anthropic、Replicate、Huggingface、TogetherAI、Cohere等。本文将通过示例代码展示如何使用LiteLLM与中专API地址进行交互,并探讨在实际应用中可能遇到的问题。
环境准备
在开始之前,请确保你已经安装了LlamaIndex和LiteLLM库。你可以使用以下命令进行安装:
%pip install llama-index-llms-litellm
!pip install llama-index
- 1
- 2
配置API密钥
在代码中,我们需要设置环境变量以使用API密钥。请确保你已经从中专API获取了正确的API密钥,并将其配置在环境变量中:
import os
# 设置环境变量
os.environ["OPENAI_API_KEY"] = "your-api-key"
os.environ["COHERE_API_KEY"] = "your-api-key"
- 1
- 2
- 3
- 4
- 5
进行模型调用
使用OpenAI模型
以下示例展示了如何使用LiteLLM调用OpenAI的GPT-3.5-turbo模型:
from llama_index.llms.litellm import LiteLLM
from llama_index.core.llms import ChatMessage
message = ChatMessage(role="user", content="你好!最近怎么样?")
# 使用中专API地址调用OpenAI模型
llm = LiteLLM("gpt-3.5-turbo", api_base="") # 中转API
chat_response = llm.chat([message])
print(chat_response)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
使用Cohere模型
以下示例展示了如何使用LiteLLM调用Cohere的command-nightly模型:
from llama_index.core.llms import ChatMessage
from llama_index.llms.litellm import LiteLLM
message = ChatMessage(role="user", content="给我讲个故事")
# 使用中专API地址调用Cohere模型
llm = LiteLLM("command-nightly", api_base="") # 中转API
chat_response = llm.chat([message])
print(chat_response)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
流式响应
LiteLLM还支持流式响应,这是处理大文本块的有效方法。以下示例展示了如何使用流式响应:
from llama_index.llms.litellm import LiteLLM
llm = LiteLLM("gpt-3.5-turbo", api_base="") # 中转API
resp = llm.stream_complete("保罗·格雷厄姆是 ")
for r in resp:
print(r.delta, end="")
- 1
- 2
- 3
- 4
- 5
- 6
- 7
可能遇到的错误及处理方法
-
API密钥错误:如果API密钥配置错误或过期,将会导致调用失败。请确保你的API密钥正确无误,并且在有效期内。
-
网络连接问题:如果你的网络连接不稳定,可能会导致请求失败或响应延迟。请检查你的网络连接,并确保能够访问中专API地址。
-
模型不可用:有时候特定的模型可能会由于维护或其他原因暂时不可用。在这种情况下,尝试使用其他模型或稍后再试。
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!
参考资料:
- LiteLLM官方文档
- LlamaIndex官方文档