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

基于LangChain的RAG实现相似/重复控件识别失败问题排查

RAG驱动模型POC问题排查与修正方案

一、数据加载与预处理问题排查

  • 验证CSVLoader加载完整性:检查是否正确指定控件ID、名称、描述的列,打印loader.load()的返回长度确认3500+数据是否全部加载。若CSV存在特殊分隔符、引号格式,需调整delimiter、quotechar参数适配。
  • 移除不合理的CharacterTextSplitter:控件数据是单条结构化记录(ID+名称+描述),拆分后会破坏单条控件的完整上下文,直接用整条记录作为向量嵌入单位即可。

二、向量库构建问题修正

  • 更换适配的嵌入模型:默认嵌入模型可能对专业控件描述的语义捕捉不足,建议使用text-embedding-3-large这类更适合结构化文本的模型,确保嵌入维度与Chroma兼容。
  • 完善元数据关联:加载数据时给每条文档绑定完整元数据,比如metadata={"控件ID": id, "名称": name, "描述": desc},保证检索时能返回完整的控件信息,而非碎片化内容。

三、RAG链逻辑调整

  • 适配全量两两对比需求:常规RAG的查询-检索模式不适合全量控件两两对比场景,需先从Chroma中提取所有向量及对应元数据,执行全量两两相似度计算后筛选符合得分区间的控件对。
  • 自定义链执行逻辑:基于LangChain构建自定义链,先批量提取所有控件数据,再调用LLM进行两两对比评分,替代默认的检索-生成流程。

四、提示词与模型适配优化

  • 复用有效提示词并明确约束:直接调用OpenAI有效的提示词,需明确要求基于全量控件数据做两两对比,指定80-87为相似、95+为重复的评分规则,以及清晰的输出格式。
  • 使用大上下文模型:3500+数据量较大,需切换到gpt-3.5-turbo-16k或gpt-4-turbo这类大上下文窗口模型,避免因上下文截断导致输出无效。

代码修正示例

from langchain.document_loaders import CSVLoader
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.chat_models import ChatOpenAI
from langchain.prompts import PromptTemplate

# 1. 加载完整结构化数据
loader = CSVLoader(file_path="your_controls.csv", metadata_columns=["控件ID", "名称", "描述"])
documents = loader.load()

# 2. 构建向量库(若无需检索可跳过,直接用原始文档)
embeddings = OpenAIEmbeddings(model="text-embedding-3-large")
db = Chroma.from_documents(documents, embeddings)

# 3. 整理全量控件数据文本
all_controls = "\n".join([f"控件ID: {doc.metadata['控件ID']}, 名称: {doc.metadata['名称']}, 描述: {doc.page_content}" for doc in documents])

# 4. 构建明确约束的提示词
prompt = PromptTemplate(
    input_variables=["controls"],
    template="基于以下所有控件数据,两两对比每个控件的ID、名称与描述,计算相似度得分,列出得分在80-87之间的相似控件对,以及得分95分以上的重复控件对:\n{controls}\n输出格式要求:\n相似控件对(80-87分):\n- [控件ID1]与[控件ID2]:{名称1}/{名称2},得分XX\n重复控件对(95+分):\n- [控件ID3]与[控件ID4]:{名称3}/{名称4},得分XX"
)

# 5. 调用大上下文模型生成结果
llm = ChatOpenAI(model="gpt-3.5-turbo-16k")
chain = prompt | llm
result = chain.invoke({"controls": all_controls})
print(result.content)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:40:32