Chroma
本笔记本介绍如何开始使用 Chroma
向量存储。
Chroma 是一个以AI为原生的开源向量数据库,专注于开发者的生产力和幸福感。Chroma 采用 Apache 2.0 许可证。查看
Chroma
的完整文档 此页面,并在 此页面 找到 LangChain 集成的 API 参考。
设置
要访问 Chroma
向量存储,您需要安装 langchain-chroma
集成包。
pip install -qU "langchain-chroma>=0.1.2"
凭证
您可以在没有任何凭证的情况下使用 Chroma
向量存储,只需安装上述软件包即可!
如果您想获得最佳的自动跟踪模型调用,您还可以通过取消注释以下内容来设置您的 LangSmith API 密钥:
# os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
# os.environ["LANGSMITH_TRACING"] = "true"
初始化
基本初始化
以下是基本初始化,包括使用目录将数据本地保存。
- OpenAI
- HuggingFace
- Fake Embedding
pip install -qU langchain-openai
import getpass
os.environ["OPENAI_API_KEY"] = getpass.getpass()
from langchain_openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings(model="text-embedding-3-large")
pip install -qU langchain-huggingface
from langchain_huggingface import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings(model="sentence-transformers/all-mpnet-base-v2")
pip install -qU langchain-core
from langchain_core.embeddings import FakeEmbeddings
embeddings = FakeEmbeddings(size=4096)
<!--IMPORTS:[{"imported": "Chroma", "source": "langchain_chroma", "docs": "https://python.langchain.com/api_reference/chroma/vectorstores/langchain_chroma.vectorstores.Chroma.html", "title": "Chroma"}]-->
from langchain_chroma import Chroma
vector_store = Chroma(
collection_name="example_collection",
embedding_function=embeddings,
persist_directory="./chroma_langchain_db", # Where to save data locally, remove if not necessary
)
从客户端初始化
您还可以从 Chroma
客户端初始化,这在您想更轻松地访问底层数据库时特别有用。
import chromadb
persistent_client = chromadb.PersistentClient()
collection = persistent_client.get_or_create_collection("collection_name")
collection.add(ids=["1", "2", "3"], documents=["a", "b", "c"])
vector_store_from_client = Chroma(
client=persistent_client,
collection_name="collection_name",
embedding_function=embeddings,
)
管理向量存储
一旦您创建了向量存储,我们可以通过添加和删除不同的项目与之交互。