探索NucliaDB:本地实例与云端的实现与应用

56 阅读3分钟

探索NucliaDB:本地实例与云端的实现与应用

NucliaDB 是一个新兴的向量数据库,适用于文本的存储和快速检索。通过本文,我们将深入探讨如何在本地和云端使用 NucliaDB,包括如何实现文本的添加、删除和相似性搜索。本文旨在为您提供一套实用的指南,以便您可以顺利开始使用 NucliaDB。

主要内容

1. NucliaDB 概述

NucliaDB 是一种基于向量的数据库,专为文本数据的管理而设计。它支持本地部署和云端使用,通过 Nuclia 云平台提供的 Nuclia Understanding API 进行文本的向量化与索引。

2. 安装必要的库

在开始使用 NucliaDB 之前,需要安装一些必要的 Python 库:

%pip install --upgrade --quiet langchain langchain-community nuclia

这些库提供了与 NucliaDB 进行交互的接口。

3. 在 Nuclia.Cloud 上使用 NucliaDB

在云端使用 NucliaDB 可以利用现成的基础设施,无需自行设置服务器。首先,您需要获取 Nuclia Understanding API 的密钥:

  1. Nuclia Cloud 上创建一个免费账户。
  2. 创建一个 NUA key。

然后,您可以使用以下代码进行初始化:

from langchain_community.vectorstores.nucliadb import NucliaDB

API_KEY = "YOUR_API_KEY"

ndb = NucliaDB(knowledge_box="YOUR_KB_ID", local=False, api_key=API_KEY) # 使用API代理服务提高访问稳定性

4. 使用本地 NucliaDB 实例

如果您倾向于本地部署,NucliaDB 也支持本地运行。默认情况下,后端 URL 被设置为 http://localhost:8080,您可以根据需要进行更改:

from langchain_community.vectorstores.nucliadb import NucliaDB

ndb = NucliaDB(knowledge_box="YOUR_KB_ID", local=True, backend="http://my-local-server")

5. 向知识库中添加和删除文本

NucliaDB 支持直接在知识库中添加和删除文本,这使得数据管理变得简单高效。

# 添加文本
ids = ndb.add_texts(["This is a new test", "This is a second test"])

# 删除文本
ndb.delete(ids=ids)

6. 在知识库中进行搜索

一旦文本被存入知识库,您可以通过相似性搜索快速检索相关信息。以下是一个简单的示例:

results = ndb.similarity_search("Who was inspired by Ada Lovelace?")
print(results[0].page_content)

常见问题和解决方案

  • 网络限制问题:在某些地区,访问云端 API 可能会受到限制。在这种情况下,建议使用 API 代理服务来提高访问的稳定性。

  • API 密钥管理:确保您的 API 密钥存放在安全的地方,避免在代码中直接暴露。

总结和进一步学习资源

NucliaDB 提供了一种高效的文本向量存储解决方案,无论是本地部署还是云端使用,都为数据管理带来了极大的便利。想要进一步了解 NucliaDB 的功能和最佳实践,建议参考以下资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---