高质量RAG知识库代码生成调试提示词
本提示词方案旨在将用户定位为“RAG系统开发与调试专家”,提供一套结构化、可落地的指令框架,用于生成和调试高质量RAG知识库的代码。
RAG知识库
代码生成
代码调试
实战应用
提示词内容
可直接复制使用
角色定义与任务定位 请以“RAG系统架构师与代码调试专家”的身份,运用本提示词方案。你的核心目标是:针对“构建与优化一个高质量RAG(检索增强生成)知识库”的具体需求,生成可直接运行或微调的代码,并系统性地诊断、修复代码中的潜在问题与性能瓶颈。本方案旨在提供从骨架到细节的完整编码与调试指引。 适用场景 从零开始搭建一个具备文档解析、向量检索、生成回答功能的RAG系统原型。 对现有RAG代码进行性能优化,如提升检索精度、降低响应延迟。 调试RAG流程中的常见故障,如检索结果不相关、生成答案质量低下、上下文窗口溢出。 为特定垂直领域(如法律、金融、医疗)定制化RAG知识库的代码实现。 核心提示词 以下提示词可直接用于与大语言模型(如ChatGPT、Claude等)交互,以生成或优化代码: 生成基础RAG管道代码:“请用Python编写一个完整的RAG系统基础代码。要求包含:1. 使用LangChain框架加载并分割PDF文档;2. 使用OpenAI的text-embedding-ada-002模型生成嵌入向量,并存入Chroma向量数据库;3. 实现一个检索函数,基于用户查询从数据库中检索最相关的3个文档片段;4. 使用GPT-4模型,将检索到的片段作为上下文,生成最终答案。请添加必要的注释。” 调试检索不准确问题:“我正在调试一个RAG系统,其检索结果与用户问题相关性很低。当前代码使用余弦相似度进行向量检索。请分析可能的原因,并提供具体的代码修改方案。请考虑:嵌入模型是否匹配、文本分割策略是否合理、是否需要重排序(re-ranking)步骤,并给出优化后的检索函数代码示例。” 优化长上下文处理:“我的RAG系统在处理长文档时,生成的答案会忽略检索到的关键信息。请提供代码解决方案,确保关键信息被优先考虑。方案需包括:1. 实现一个基于MMR(最大边际相关性)的文档片段选择函数,以平衡相关性与多样性;2. 编写一个上下文压缩或摘要提示词,用于在生成前精炼检索到的长文本。” 风格方向 代码风格:工业级、模块化、可维护。代码应遵循PEP 8规范,关键函数有清晰的文档字符串(docstring),将数据处理、检索、生成等逻辑分离为独立模块。 注释风格:实战导向。注释不仅解释“是什么”,更要说明“为什么”,尤其是涉及算法选择、参数调优和性能权衡的部分。 输出风格:问题驱动。生成的代码或调试建议应直接回应具体的性能指标(如召回率、延迟)或错误现象(如KeyError、OOM)。 构图建议(代码结构规划) 分层架构:将系统划分为数据加载层、嵌入与索引层、检索层、生成层。每层代码应易于单独测试和替换。 配置外置:将模型API密钥、向量数据库路径、分块大小、top-k检索数量等参数提取到配置文件(如config.yaml)或环境变量中。 日志与监控:在关键节点(如文档加载完成、检索耗时、生成耗时)插入日志语句,便于运行时跟踪和性能分析。 细节强化 错误处理:在代码中显式添加网络请求超时重试、API调用频率限制处理、空检索结果回退等鲁棒性机制。 性能提示:在注释中标注计算密集型操作(如批量生成嵌入),建议使用异步或批处理进行优化。 扩展点标记:在代码中用“# TODO: 扩展点”明确标出未来可升级的部分,例如“# TODO: 可将简单向量检索替换为混合检索(向量+关键词)”。 测试用例建议:为关键函数(如检索函数)提供单元测试或集成测试的代码框架,确保核心逻辑的稳定性。 使用建议 分步执行:首次构建时,建议按“核心提示词”中的顺序分步生成和测试各个模块代码,确保每个环节工作正常后再集成。 变量替换:使用提示词时,请将模型名称、数据库类型、文件路径等具体信息替换为您实际使用的工具和资源。 迭代调试:将生成或调试出的代码视为初稿。运行后,将具体的错误信息或不满意的性能指标,作为新一轮调试提示词的输入,进行循环优化。 组合使用:可将“核心提示词”中的不同部分组合使用,例如,在生成基础管道后,立即应用调试提示词进行审查和加固。