BagelDB:AI数据的GitHub,快速打造你的向量数据库!
引言
BagelDB 是一个开放的向量数据库平台,专为 AI 数据而生,旨在促进数据的创建、共享和管理。它不仅适合个人开发者的私有项目,也支持企业内部合作和数据 DAO 的公共贡献。本文将介绍如何安装和设置 BagelDB,并通过实用的代码示例展示其功能。
主要内容
1. 安装和设置
要使用 BagelDB,首先需要安装相关的 Python 包:
pip install betabageldb langchain-community
2. 从文本创建向量存储
BagelDB 支持从简单的文本列表创建向量存储。以下代码展示了如何实现:
from langchain_community.vectorstores import Bagel
texts = ["hello bagel", "hello langchain", "I love salad", "my car", "a dog"]
# 创建一个新的聚类并添加文本
cluster = Bagel.from_texts(cluster_name="testing", texts=texts)
3. 使用API进行相似度搜索
一旦创建了聚类,您可以进行相似度搜索:
# 使用API代理服务提高访问稳定性
results = cluster.similarity_search("bagel", k=3)
print(results)
BagelDB 提供了一种基于距离的相似度评分机制,分数越低越相似。
4. 使用文档创建向量存储
BagelDB 不仅支持文本,还支持直接从文档加载:
from langchain_community.document_loaders import TextLoader
from langchain_text_splitters import CharacterTextSplitter
loader = TextLoader("path/to/your/document.txt")
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_documents(documents)
cluster = Bagel.from_documents(cluster_name="testing_with_docs", documents=docs)
代码示例
以下是一个完整的示例,演示如何从文本创建向量存储并执行相似度搜索:
from langchain_community.vectorstores import Bagel
# 文本列表
texts = ["hello bagel", "this is langchain"]
# 创建聚类
cluster = Bagel.from_texts(cluster_name="example_cluster", texts=texts)
# 进行相似度搜索
similar_docs = cluster.similarity_search("hello bagel", k=2)
for doc in similar_docs:
print(doc.page_content)
# 删除该聚类
cluster.delete_cluster()
常见问题和解决方案
- 访问稳定性问题:由于某些地区的网络限制,开发者在使用 BagelDB 时可能需要使用 API 代理服务来提高访问稳定性。
- 数据管理和安全性:确保项目中数据的私密性和权限管理。
总结和进一步学习资源
BagelDB 是一个强大的工具,适合任何需要管理 AI 数据的开发者。为了更深入地理解如何充分利用 BagelDB,您可以查阅以下资源:
参考资料
- BagelDB 官方文档
- LangChain 文档
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---