用途:构建基于外部知识源的检索增强生成(RAG)应用,使 LLM 回答更准确、有依据,降低幻觉。适用场景包括专有文档问答系统、需要最新事实信息的聊天机器人、自然语言语义搜索、领域知识接入、文档助手和带来源引用的研究工具。不适用场景:只需纯生成式写作、数据集过小不值得做嵌入、或无法安全存储和处理源数据。
主要能力:涵盖 RAG 核心组件——向量数据库(Pinecone、Weaviate、Milvus、Chroma、Qdrant、FAISS)、嵌入模型(text-embedding-ada-002、all-MiniLM-L6-v2、e5-large-v2、Instructor、bge-large-en-v1.5)、检索策略(稠密、稀疏、混合、多查询、HyDE)、重排序(交叉编码器、Cohere Rerank、MMR、基于 LLM 打分)。同时涉及文档分块(递归字符、基于 token、语义、Markdown 标题拆分)、向量库配置、元数据过滤、检索结果压缩、父子文档检索、RAG 提示词工程(带引用、带置信度)以及评估指标(准确率、检索质量、有据性)。
使用方式:以 LangChain 为例,加载文档、分块、生成嵌入并建立向量库,再构建检索问答链并查询。示例片段:loader = DirectoryLoader('./docs'); text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200); vectorstore = Chroma.from_documents(chunks, embeddings); qa_chain = RetrievalQA.from_chain_type(llm=OpenAI(), chain_type="stuff", retriever=vectorstore.as_retriever(search_kwargs={"k": 4}), return_source_documents=True)。
重要限制:需先定义语料、更新频率和评估目标;根据规模选择嵌入模型与向量库;对敏感数据脱敏并实施访问控制;受限文档不应出现在回答中;需持续评估检索质量、监控漂移。具体定价、平台支持与效果数据暂未提供。