2026年AI编程工具深度评测:从IDE到命令行,谁才是提效之王?
2026/10/11 7:13:08
在 RAG、向量检索、Agent 这类 AI 技术场景中,置信度(Confidence Score)是衡量检索结果与用户问题的匹配程度,或模型决策可靠性的量化指标,取值范围通常是[0,1]或[0,100](百分比)。
简单说,置信度越高,代表 “检索到的内容和问题越相关” 或 “模型给出的答案越靠谱”;置信度越低,代表匹配度差、结果可能无效。
当你用用户问题的向量,在 Milvus/Chroma 等向量库中做相似度检索时,向量数据库会计算问题向量与库中数据向量的距离,并将距离转化为置信度:
[-1,1],越接近1代表向量越相似 → 置信度越高;[0,1])。举个例子:用户问题是Spark 宽依赖和窄依赖的区别,向量库返回 3 个结果:
| 检索结果 | 余弦相似度 | 置信度(归一化后) | 结论 |
|---|---|---|---|
| Spark 依赖关系文档片段 | 0.92 | 0.92 | 高度相关 |
| Spark 部署步骤文档片段 | 0.45 | 0.45 | 弱相关 |
| Hadoop 架构文档片段 | 0.18 | 0.18 | 几乎不相关 |
在 RAG+Agent 架构中,Agent 会根据检索结果的置信度,判断是否需要补充检索或直接生成答案:
0.6),只保留阈值以上的检索结果,避免无关信息干扰大模型生成答案;在 Milvus 检索时,可以直接返回每个结果的相似度(即置信度),示例代码片段:
from pymilvus import Collection # 假设已创建并加载 tech_docs 表 collection = Collection("tech_docs") collection.load() # 1. 把用户问题转为向量(这里用 embeddings 模型生成) query_vector = embeddings.embed_query("Spark 宽依赖和窄依赖的区别") # 2. 检索并获取置信度(相似度) search_params = { "metric_type": "COSINE", # 用余弦相似度计算 "params": {"nprobe": 10} } # output_fields 指定返回 content 和 source,_distance 是 Milvus 自动返回的相似度 results = collection.search( data=[query_vector], anns_field="embedding", param=search_params, limit=2, output_fields=["content", "source"], expr=None ) # 3. 解析结果和置信度 for hit in results[0]: print(f"内容:{hit.entity.get('content')}") print(f"来源:{hit.entity.get('source')}") print(f"置信度(余弦相似度):{1 - hit.distance}") # 余弦距离转相似度 print("---")