高质量RAG知识库代码生成调试提示词

2026-06-03阅读 503热度 503

这是一套面向RAG知识库开发者的提示词方案,聚焦代码生成与调试技巧,帮助快速构建可落地的检索...

RAG知识库 代码生成 代码调试 行业应用 实战应用

提示词内容

复制

角色定义与任务定位

角色:资深RAG系统架构师 | 代码调优专家

任务定位:以“构建高质量、可调试的RAG知识库代码”为核心目标,为AI助手(如Copilot、Codex)提供结构化提示词,引导其生成包含文档加载、向量化、检索、生成链等模块的Python代码,并主动嵌入错误处理、日志监控与性能优化机制。输出的代码应可直接集成至生产级流水线,兼顾健壮性与可读性。

适用场景

  • 快速搭建基于LangChain或LlamaIndex的企业级知识库问答系统,需要稳定可复用的代码骨架。
  • 在已有RAG流程中定位并修复向量召回不准、上下文截断、模型返回错误等调试场景。
  • 对开源项目(如RAPTOR、Self-RAG)进行自定义改造,需清晰模块划分与注释。
  • 跨团队协作时,需要统一代码风格与调试规范,降低沟通成本。

核心提示词

以下提示词可直接复制至AI助手使用,建议根据实际框架替换关键参数(如embedding模型、向量库类型)。

  • 基础生成提示:
    “你是一位Python专家,请用LangChain 0.3+ 实现一个RAG知识库代码。要求:
    1. 从本地PDF文件夹加载文档,使用PyPDFLoader;
    2. 使用RecursiveCharacterTextSplitter按1000字块分割,重叠200;
    3. 用OpenAIEmbeddings生成向量,写入Chroma(持久化到’./db’);
    4. 创建检索链,返回包含source引用的答案;
    5. 每步加入try/except和logging,打印操作耗时。”
  • 调试优化提示:
    “当前检索结果返回了无关片段,请帮我分析并修复。要求:
    1. 检查文本分割的chunk_size和overlap是否需要调整;
    2. 在检索前加入MMR(maximum marginal relevance)重排序;
    3. 在生成链中增加一个‘上下文完整性检查’步骤,过滤掉相似度低于0.7的片段;
    4. 输出完整的修改后代码,用diff格式标注改动处。”
  • 行业实战增强提示:
    “针对金融合规文档(PDF中包含表格与页眉),生成一个RAG代码:
    1. 使用UnstructuredPDFLoader提取表格内容;
    2. 在文本分割时排除页眉页脚(需自定义splitter);
    3. 向量库选用Milvus(带索引参数优化);
    4. 生成答案时附上引用的具体段落编号;
    5. 添加单元测试用例(对检索模块进行Mock测试)。”

风格方向

  • 代码风格:Pythonic、模块化拆分为函数(load_docs、split_chunks、build_vectorstore、create_chain、debug_retrieval)。
  • 注释规范:每个函数头部写Docstring,标明参数、返回类型、异常;关键逻辑行加#说明。
  • 日志风格:统一使用loguru库,输出INFO及ERROR级别,包含时间戳和函数名。
  • 变量命名:语义化(如retrieved_docs、filtered_context),避免缩写。

构图建议

  • 在提示词中要求AI同时输出Mermaid流程图(代码块形式),展示数据流:PDF → Chunks → Embeddings → VectorStore → Retriever → LLM生成。
  • 若用于调试场景,建议绘制“检索失败树”图:标注可能故障点(分割不当、向量相似度阈值过低、LLM截断),并用红色节点高亮当前问题。
  • 对代码结构,要求AI生成类图(UML),突出主类(RAGPipeline)与辅助类(DocumentLoader, TextSplitter, VectorStoreClient)的关联。

细节强化

  • 错误处理:每个外部调用(文件读取、API请求、数据库连接)均需捕获特定异常(如FileNotFoundError、openai.APIConnectionError),并在日志中记录完整traceback。
  • 性能监控:在分割、向量化、检索三步添加装饰器@timethis,输出平均耗时与内存占用。
  • 数据校验:在构建向量库前检查空文档列表,在检索后验证返回的doc数量是否≥1,否则触发告警。
  • 版本与依赖:在代码头部注明所需库及其版本号(如langchain==0.3.1, chromadb==0.5.0),并建议pip freeze锁定环境。

使用建议

  • 首次使用核心提示词时,先设定明确输出格式:规定代码必须包含主函数if __name__ == '__main__',且能独立运行。
  • 调试过程中,建议分批向AI提供上下文:第一次只给“问题描述+当前错误日志”,第二次再提供完整代码以获取修复方案,避免信息过载。
  • 对于行业实战场景,可在提示词末尾加入“请输出该代码在Docker容器中的配置说明(requirements.txt + Dockerfile)”,便于一键部署。
  • 定期将生成的代码与社区主流RAG框架(如deepset/canopy、ray-llm)对比,用AI提示词进行“代码审查”以发现潜在冗余或安全漏洞。

常见问题

相关提示词

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策