Open yuanluochenfeng opened 1 year ago
我是小白一枚,感谢提供的langchain的中文文档,帮助我入门学习。
我是按照文档的案例逐个进行本地测试的
当【构建向量索引数据库】时,按照文中提示的
from langchain.vectorstores import Chroma # 持久化数据 docsearch = Chroma.from_documents(documents, embeddings, persist_directory="D:/vector_store") docsearch.persist() # 加载数据 docsearch = Chroma(persist_directory="D:/vector_store", embedding_function=embeddings)
然后再【构建本地知识库问答机器人】的示例代码的基础上进行修改的,以下为部分内容:
# 加载文件夹中的所有txt类型的文件 loader = DirectoryLoader('/Users/ldx/Documents/data/document', glob='**/*.*') # 将数据转成 document 对象,每个文件会作为一个 document documents = loader.load() # 初始化加载器 text_splitter = CharacterTextSplitter(chunk_size=100, chunk_overlap=0) # 切割加载的 document split_docs = text_splitter.split_documents(documents) # 持久化数据 docsearch = Chroma.from_documents(documents, embeddings, persist_directory="/Users/ldx/Documents/data/chroma_data") docsearch.persist() # 加载数据 docsearch = Chroma(persist_directory="/Users/ldx/Documents/data/chroma_data", embedding_function=OpenAIEmbeddings()) # 创建问答对象 qa = RetrievalQA.from_chain_type(llm=OpenAI(), chain_type="stuff", retriever=docsearch.as_retriever(), return_source_documents=True) # 进行问答,问答内容省略 result = qa({"query": ".............."}) print(result)
然后就报错了!!! 调试了好久,也没成功,后来仔细对比了一下【构建本地知识库问答机器人】示例,发现 docsearch = Chroma.from_documents(split_docs, embeddings) 传入的是split_docs,切割后的document,而不是原始的document. 修改后, docsearch = Chroma.from_documents(documents, embeddings, persist_directory="/Users/ldx/Documents/data/chroma_data") 可以正常运行了。
docsearch = Chroma.from_documents(split_docs, embeddings)
docsearch = Chroma.from_documents(documents, embeddings, persist_directory="/Users/ldx/Documents/data/chroma_data")
看来还是自己粗心,记录一下,万一也有人遇到呢。
我是小白一枚,感谢提供的langchain的中文文档,帮助我入门学习。
我是按照文档的案例逐个进行本地测试的
当【构建向量索引数据库】时,按照文中提示的
然后再【构建本地知识库问答机器人】的示例代码的基础上进行修改的,以下为部分内容:
然后就报错了!!! 调试了好久,也没成功,后来仔细对比了一下【构建本地知识库问答机器人】示例,发现
docsearch = Chroma.from_documents(split_docs, embeddings)
传入的是split_docs,切割后的document,而不是原始的document. 修改后,docsearch = Chroma.from_documents(documents, embeddings, persist_directory="/Users/ldx/Documents/data/chroma_data")
可以正常运行了。看来还是自己粗心,记录一下,万一也有人遇到呢。