页面加载中...
完整 RAG 应用开发:文档加载、分块策略、向量索引、检索增强生成。
Retrieval-Augmented Generation:先检索相关知识,再让 LLM 基于检索结果生成答案,避免幻觉。
1. 文档加载 → 2. 文本分块 → 3. 向量化 → 4. 存入索引
↓
5. 用户提问 → 6. 问题向量化 → 7. 相似检索 → 8. LLM 生成
from langchain.text_splitter import RecursiveCharacterTextSplitter splitter = RecursiveCharacterTextSplitter( chunk_size=512, chunk_overlap=50, separators=["\n## ", "\n### ", "\n\n", "\n", "。", " "] ) chunks = splitter.split_text(document)
from chromadb import Client client = Client() collection = client.create_collection("my_knowledge") collection.add( documents=chunks, ids=[f"chunk_{i}" for i in range(len(chunks))], metadatas=[{"source": "doc1"} for _ in chunks] )
results = collection.query(query_texts=[question], n_results=5) context = "\n".join(results["documents"][0]) prompt = f"""基于以下知识回答问题: {context} 问题:{question} 请只基于提供的信息回答,不确定的部分请说明。""" answer = llm.generate(prompt)
Agent 站点首选部署平台,零配置部署 Next.js,全球 CDN
立即体验 →