You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Chroma向量存储的LangChain相似性搜索结果不准确的解决方案咨询

Chroma向量搜索结果不准确的优化方案

以下是针对Chroma向量存储检索结果不准确的具体解决办法:

  • 调整上下文文档数量
    当前设置top_k_docs_for_context=12可能引入过多无关文档,干扰结果准确性。建议先尝试缩小取值范围(比如3-8之间),测试不同数值的效果。修改示例:

    qa = ChatVectorDBChain(vectorstore=c1, combine_docs_chain=doc_chain, question_generator=question_generator, top_k_docs_for_context=5, return_source_documents=True)
    
  • 更换更精准的Embedding模型
    若使用默认轻量Embedding模型,语义捕捉能力有限。可替换为性能更优的模型,比如OpenAI的text-embedding-ada-002或开源的m3e-base,确保模型与Chroma兼容。示例:

    from langchain.embeddings.openai import OpenAIEmbeddings
    embedding = OpenAIEmbeddings(model="text-embedding-ada-002")
    c1 = Chroma('langchain', embedding, persist_directory)
    
  • 优化文档拆分逻辑
    文档拆分过粗或过细都会影响检索精度。推荐使用递归字符拆分器,设置合适的chunk_size和chunk_overlap,保证每个片段既有完整语义又不冗余。示例:

    from langchain.text_splitter import RecursiveCharacterTextSplitter
    text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
    split_docs = text_splitter.split_documents(raw_docs)
    c1.add_documents(split_docs)
    
  • 利用元数据过滤缩小检索范围
    如果文档带有元数据(如分类、标签),可在检索时添加过滤条件,只搜索目标类别内的文档。示例:

    qa = ChatVectorDBChain(
        vectorstore=c1,
        combine_docs_chain=doc_chain,
        question_generator=question_generator,
        top_k_docs_for_context=5,
        return_source_documents=True,
        search_kwargs={"filter": {"category": "tech"}}
    )
    
  • 重新生成并持久化向量
    若之前的向量生成存在问题(如文档拆分错误、更换Embedding模型后未更新),可清空现有存储并重新导入处理后的文档:

    c1.delete_collection()
    c1.add_documents(split_docs)
    c1.persist()
    
  • 改用MMR检索策略
    启用Maximum Marginal Relevance(MMR)检索,平衡结果的相关性与多样性,避免重复或无关文档被纳入上下文。示例:

    qa = ChatVectorDBChain(
        vectorstore=c1,
        combine_docs_chain=doc_chain,
        question_generator=question_generator,
        top_k_docs_for_context=5,
        return_source_documents=True,
        search_type="mmr"
    )
    

内容的提问来源于stack exchange,提问作者Mohit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 13:07:16