如何连接我的 ChromaDB 集合并使用 langchain

问题描述 投票:0回答:1

我只是有一个关于将 ChromaDB 与 langchain 连接的问题

已经使用 from_documents 测试了 chromadb 和 langchain

但是使用 Chroma.from_documents 函数总是会产生嵌入成本,对吧?

所以我已经嵌入数据了

当我收到请求然后进行收集并想要返回结果

from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.chat_models import ChatOpenAI
from langchain.vectorstores import Chroma
from langchain.chains import RetrievalQA
from langchain.chains import VectorDBQA
from langchain.chains import RetrievalQAWithSourcesChain

import chromadb


chroma_client = chromadb.Client()
collection = chroma_client.create_collection(name = "Testing")
idx = [str(i) for i in range(len(embedded_df))]
documents = list(embedded_df['title'].values)
metadatas = embedded_df[['text']].to_dict(orient='record')
embedding_list = list(embedded_df['text_embedding'].values)
collection.add(
    documents = documents,
    embeddings = embedding_list,
    metadatas = metadatas,
    ids = idx
)
embedding_func = OpenAIEmbeddings(model='text-embedding-ada-002', query_model_name = 'text-embedding-ada-002')
langchainChroma = Chroma(client = chroma_client, collection_name = 'Testing', embedding_function=embedding_func)
llm = ChatOpenAI()
retriver = langchainChroma.as_retriever(search_kwargs={"k":2})
qa = RetrievalQA.from_chain_type(llm = llm, chain_type='stuff', retriever = retriver)
query = """What is your most favorite food?"""
result = qa.run(query)
print(result)

但是这段代码无法返回我的数据只需返回chatgpt响应

如何连接我的 ChromaDB 集合并使用 langchain

vector openai-api embedding langchain chromadb
1个回答
0
投票

我有同样的问题,并找到了进入数据库并查看文档的方法。

参考文档 https://python.langchain.com/docs/integrations/vectorstores/chroma

在您的代码中,类似下面的内容可能会有所帮助。

db_records = langchainChroma.get() print(db_records['documents']) # 您可能想根据需要更改密钥。

© www.soinside.com 2019 - 2024. All rights reserved.