ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

大模型应用开发实战:从RAG、Agent到Coze与Cursor的完整技术栈指南

大模型应用开发实战:从RAG、Agent到Coze与Cursor的完整技术栈指南 最近在尝试将大模型应用到实际业务中时发现从零到一构建一个可用的应用远比单纯调用API接口复杂得多。环境搭建、数据处理、框架选择、效果调优……每一步都可能遇到意想不到的“坑”而网上的资料要么过于零散要么深度不够难以形成体系化的认知和实践路径。本文旨在整合一套从零基础到项目落地的完整实操方案围绕大模型应用开发的核心技术栈展开。无论你是刚接触AI的在校学生还是希望将大模型能力集成到现有系统的开发者都能从中获得清晰的路线图和可直接复用的代码示例。我们将重点拆解RAG、Agent、Coze、Cursor等热门技术并提供七天快速上手的实践计划。1. 大模型应用开发全景与核心概念在深入具体技术之前我们需要建立一个宏观的认知框架。大模型应用开发本质上是在通用大语言模型LLM的基础上通过工程化手段构建能够解决特定领域问题、具备可靠性和可控性的智能应用。1.1 为什么需要“应用开发”而不仅仅是“调用API”直接调用大模型的Chat Completion接口虽然简单快捷但存在诸多局限性知识滞后性大模型的训练数据有截止日期无法获取最新、最专业的领域知识。幻觉问题模型可能会生成看似合理但实际错误或虚构的信息。缺乏可控性难以精确控制模型的输出格式、逻辑和业务流程。成本与性能每次都将大量上下文如长文档发送给模型token消耗大响应慢。因此我们需要一系列技术来增强、约束和扩展基础模型的能力使其成为真正可用的生产级组件。1.2 核心技术栈解析当前大模型应用开发主要围绕以下几个核心方向展开RAG (检索增强生成)解决模型知识陈旧和幻觉问题的“银弹”。其核心思想是“从外部知识库中检索相关信息并将其作为上下文提供给模型从而生成更准确、更可靠的回答”。一个典型的RAG系统包括文档加载、文本分割、向量化、向量数据库存储、语义检索和提示工程等环节。Agent (智能体)让模型具备“思考”和“行动”的能力。一个Agent通常由规划、记忆和工具使用三个核心模块组成。它可以理解用户目标制定分步计划调用外部工具如搜索引擎、数据库、API来执行任务并根据结果调整策略最终完成复杂任务。低代码/平台化工具 (如Coze)为了降低开发门槛字节跳动的Coze等平台提供了可视化的方式构建AI应用智能体。开发者可以通过拖拽组件、配置工作流、连接知识库来快速创建聊天机器人、自动化流程等无需编写大量代码。AI编程助手 (如Cursor)深度集成AI能力的IDE如Cursor它基于GPT模型能够理解项目上下文提供远超普通代码补强的功能如根据自然语言描述生成代码、重构代码、解释代码、查找Bug等极大提升开发效率。微调使用特定领域的数据集对预训练大模型进行额外的训练使其在该领域的表现更专业、风格更符合预期。这是让模型“专精”于某一任务的重要手段但成本和技术门槛相对较高。这五大方向并非孤立在实际项目中常常组合使用。例如可以构建一个具备RAG知识库的Agent或者使用Cursor来开发RAG系统。2. 环境准备与基础工具链工欲善其事必先利其器。开始实践前我们需要搭建一个稳定、高效的开发环境。2.1 基础编程环境操作系统推荐 Windows 10/11 macOS 或 Linux (Ubuntu 20.04)。本文示例将兼顾跨平台。Python大模型生态的基石语言。请安装Python 3.9 至 3.11版本部分库对3.12兼容性仍在完善。建议使用conda或pyenv进行版本管理。# 检查Python版本 python --version # 创建并激活一个独立的虚拟环境强烈推荐 python -m venv venv_llm # Windows: .\venv_llm\Scripts\activate # macOS/Linux: source venv_llm/bin/activate包管理工具使用pip进行Python包安装。建议配置国内镜像源以加速下载。pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple2.2 核心开发库安装我们将安装一套最小可行集合的库覆盖RAG和Agent开发的基础需求。# 1. 大模型交互与框架核心 pip install openai1.12.0 # OpenAI官方SDK也兼容其他兼容API的模型 pip install langchain0.1.0 # LLM应用开发框架提供模块化组件 pip install langchain-community0.0.10 # 社区贡献的组件 pip install langchain-openai0.0.5 # LangChain的OpenAI集成 # 2. 文档处理与文本分割 pip install pypdf # 读取PDF pip install python-docx # 读取Word pip install markdown # 处理Markdown pip install tiktoken # OpenAI的token计数器 pip install langchain-text-splitters0.0.1 # 更智能的文本分割器 # 3. 向量数据库与嵌入模型 # 这里以轻量级的ChromaDB为例生产环境可考虑Milvus、Qdrant等 pip install chromadb0.4.22 # 使用OpenAI的嵌入模型也可用sentence-transformers等开源模型 # pip install sentence-transformers # 4. 环境变量管理用于安全存储API Key pip install python-dotenv2.3 关键API配置大部分能力需要接入大模型API国内开发者可以使用兼容OpenAI API的国内平台如智谱AI、DeepSeek、月之暗面等或通过合规渠道使用国际服务。获取API Key从你选择的模型服务平台注册并获取API Key。配置环境变量在项目根目录创建.env文件切勿将此文件提交到Git。# .env 文件示例 OPENAI_API_KEYsk-你的实际ApiKeyHere OPENAI_BASE_URLhttps://api.openai.com/v1 # 如果使用国内平台此处需替换为对应地址在代码中加载配置# config.py import os from dotenv import load_dotenv load_dotenv() # 加载 .env 文件中的环境变量 OPENAI_API_KEY os.getenv(OPENAI_API_KEY) OPENAI_BASE_URL os.getenv(OPENAI_BASE_URL, https://api.openai.com/v1)3. RAG实战从零构建你的第一个知识库问答系统RAG是大模型应用中最实用、最流行的技术之一。下面我们一步步构建一个基于本地文档的问答系统。3.1 项目结构与流程设计创建一个名为rag_demo的项目文件夹结构如下rag_demo/ ├── .env # 环境变量配置文件 ├── config.py # 配置加载文件 ├── main.py # 主程序入口 ├── knowledge_base/ # 存放原始知识文档PDF、TXT等 │ └── sample.pdf ├── vector_db/ # 向量数据库存储目录由ChromaDB自动创建 └── requirements.txt # 项目依赖列表RAG核心工作流程文档加载读取各种格式的文档。文本分割将长文档切分成适合模型处理的片段。向量化使用嵌入模型将文本片段转换为数值向量。存储将向量存入向量数据库并建立索引。检索将用户问题向量化并从数据库中检索最相关的文本片段。生成将检索到的片段作为上下文连同用户问题一起提交给大模型生成最终答案。3.2 文档加载与处理我们首先实现文档加载和分割功能。# main.py (部分代码) import os from langchain_community.document_loaders import PyPDFLoader, TextLoader from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain_openai import OpenAIEmbeddings from langchain_community.vectorstores import Chroma from config import OPENAI_API_KEY, OPENAI_BASE_URL # 1. 加载文档 def load_documents(directory_path): documents [] for filename in os.listdir(directory_path): file_path os.path.join(directory_path, filename) if filename.endswith(.pdf): loader PyPDFLoader(file_path) documents.extend(loader.load()) elif filename.endswith(.txt): loader TextLoader(file_path, encodingutf-8) documents.extend(loader.load()) # 可扩展其他格式如 .docx, .md 等 print(f已加载 {len(documents)} 个文档片段。) return documents # 2. 分割文本 def split_documents(documents): # 使用递归字符分割器优先按段落、句子、单词分割 text_splitter RecursiveCharacterTextSplitter( chunk_size500, # 每个片段的最大字符数 chunk_overlap50, # 片段之间的重叠字符数保持上下文连贯 separators[\n\n, \n, 。, , , , , , ] ) split_docs text_splitter.split_documents(documents) print(f分割后得到 {len(split_docs)} 个文本块。) return split_docs # 初始化嵌入模型 embeddings OpenAIEmbeddings( openai_api_keyOPENAI_API_KEY, openai_api_baseOPENAI_BASE_URL, modeltext-embedding-3-small # 性价比高的嵌入模型 )3.3 构建与持久化向量数据库将处理好的文本向量化并存储到ChromaDB中。# main.py (续) def create_vector_store(split_docs, persist_directory./vector_db): # 创建向量数据库并将分割后的文档进行向量化存储 vectordb Chroma.from_documents( documentssplit_docs, embeddingembeddings, persist_directorypersist_directory # 指定持久化目录 ) vectordb.persist() # 将数据持久化到磁盘 print(f向量数据库已创建并保存至 {persist_directory}) return vectordb def load_existing_vector_store(persist_directory./vector_db): # 如果向量数据库已存在则直接加载 if os.path.exists(persist_directory): vectordb Chroma( persist_directorypersist_directory, embedding_functionembeddings ) print(已加载现有向量数据库。) return vectordb else: print(未找到已有的向量数据库请先创建。) return None # 主流程首次运行创建后续运行加载 if __name__ __main__: kb_path ./knowledge_base persist_dir ./vector_db if not os.path.exists(persist_dir) or len(os.listdir(persist_dir)) 0: # 首次运行构建知识库 raw_docs load_documents(kb_path) if raw_docs: split_docs split_documents(raw_docs) vectordb create_vector_store(split_docs, persist_dir) else: print(知识库目录下未找到文档。) vectordb None else: # 后续运行直接加载 vectordb load_existing_vector_store(persist_dir)3.4 实现检索与问答链这是RAG的核心我们将用户问题与知识库关联起来。# main.py (续) from langchain_openai import ChatOpenAI from langchain.chains import RetrievalQA from langchain.prompts import PromptTemplate def setup_qa_chain(vectordb): if vectordb is None: return None # 初始化大语言模型 llm ChatOpenAI( openai_api_keyOPENAI_API_KEY, openai_api_baseOPENAI_BASE_URL, modelgpt-3.5-turbo, # 可根据需要更换为 gpt-4 或其他模型 temperature0.1 # 较低的温度使输出更确定、更基于事实 ) # 构建一个自定义提示模板指导模型如何利用上下文 prompt_template 请严格根据以下提供的上下文信息来回答问题。如果上下文信息中没有明确答案请直接说“根据已知信息无法回答该问题”不要编造信息。 上下文 {context} 问题{question} 基于上下文的答案 PROMPT PromptTemplate( templateprompt_template, input_variables[context, question] ) # 创建检索式问答链 qa_chain RetrievalQA.from_chain_type( llmllm, chain_typestuff, # 将检索到的所有文档“塞”进上下文 retrievervectordb.as_retriever( search_typesimilarity, # 相似度检索 search_kwargs{k: 3} # 返回最相关的3个片段 ), chain_type_kwargs{prompt: PROMPT}, return_source_documentsTrue # 返回检索到的源文档便于溯源 ) return qa_chain def ask_question(qa_chain, question): if qa_chain is None: print(问答链未初始化。) return result qa_chain.invoke({query: question}) print(f\n问题{question}) print(f答案{result[result]}) print(\n--- 参考来源 ---) for i, doc in enumerate(result[source_documents]): print(f[{i1}] {doc.page_content[:200]}...) # 打印前200个字符 print(- * 50) # 在 __main__ 中继续 if __name__ __main__: # ... 之前的向量数据库初始化代码 ... qa_chain setup_qa_chain(vectordb) if qa_chain: # 示例问答 ask_question(qa_chain, 本文档主要讲述了什么内容) ask_question(qa_chain, 请总结一下其中的关键要点。) # 可以在这里加入一个循环实现交互式问答 # while True: # user_input input(\n请输入您的问题输入quit退出) # if user_input.lower() quit: # break # ask_question(qa_chain, user_input)运行python main.py系统会先处理你的knowledge_base下的文档然后回答预设的问题。至此一个最基础的RAG系统就搭建完成了。4. Agent开发入门让大模型学会使用工具如果说RAG是为模型注入知识那么Agent就是赋予模型行动力。我们创建一个能查询天气的简单Agent。4.1 Agent的核心组件与ReAct模式一个简单的Agent通常基于ReAct (Reason Act)框架。模型通过“思考”来决定下一步该“执行”哪个工具然后根据工具返回的结果再进行下一步“思考”直到得出最终答案。关键组件工具 (Tools)Agent可以调用的函数如搜索、计算、查询API等。代理 (Agent)负责决策的大脑根据当前状态和工具描述决定下一步行动。记忆 (Memory)存储对话历史或中间结果。4.2 实现一个天气查询Agent我们将使用LangChain的create_react_agent来构建。# agent_weather.py import os import requests from langchain import hub from langchain.agents import create_react_agent, AgentExecutor from langchain.tools import Tool from langchain_openai import ChatOpenAI from config import OPENAI_API_KEY, OPENAI_BASE_URL # 1. 定义工具函数 def get_weather(city: str) - str: 获取指定城市的天气信息。 注意这是一个模拟函数。真实场景需要接入如和风天气、OpenWeatherMap等API。 # 模拟API返回 weather_data { 北京: 晴15~25℃微风, 上海: 多云18~28℃东南风3级, 深圳: 阵雨22~30℃南风2级, } return weather_data.get(city, f未找到{city}的天气信息。) # 2. 将函数包装成LangChain Tool weather_tool Tool( nameGetWeather, funcget_weather, description当需要查询某个城市的天气时使用此工具。输入应为城市名称例如‘北京’。 ) # 3. 初始化LLM和Agent llm ChatOpenAI( openai_api_keyOPENAI_API_KEY, openai_api_baseOPENAI_BASE_URL, modelgpt-3.5-turbo, temperature0 ) # 从LangChain Hub拉取一个ReAct风格的提示模板 prompt hub.pull(hwchase17/react) # 4. 创建Agent agent create_react_agent(llm, tools[weather_tool], promptprompt) # 5. 创建执行器 agent_executor AgentExecutor( agentagent, tools[weather_tool], verboseTrue, # 打印详细的思考过程便于调试 handle_parsing_errorsTrue # 处理解析错误 ) # 6. 运行Agent if __name__ __main__: questions [ 今天北京的天气怎么样, 上海和深圳的天气分别如何, 帮我对比一下北京和上海的天气。 ] for question in questions: print(f\n{*60}) print(f用户问题{question}) print(f{*60}) try: result agent_executor.invoke({input: question}) print(f\n最终答案{result[output]}) except Exception as e: print(f执行出错{e})运行这个脚本你会看到Agent详细的思考过程verboseTrueThought: 用户问北京天气我需要使用GetWeather工具。Action: 调用GetWeather工具输入北京。Observation: 工具返回“晴15~25℃微风”。Thought: 我已经获得了天气信息可以给出最终答案。Final Answer: 今天北京天气是晴气温15到25摄氏度微风。通过这个例子你可以清晰地看到Agent如何规划、使用工具并整合信息。你可以定义更多工具如搜索网页、查询数据库、发送邮件让Agent完成更复杂的任务。5. 低代码平台实战快速构建Coze智能体对于不擅长编码或需要快速原型的场景Coze这类平台是绝佳选择。我们以创建一个“技术文档助手”智能体为例。5.1 Coze核心概念与工作流智能体你创建的AI助手拥有特定的身份、能力和知识。插件为智能体扩展能力如搜索、生成图片、查询数据库。知识库上传文档PDF、Word、TXT等智能体可以基于此进行问答本质是平台集成的RAG。工作流通过可视化拖拽的方式定义复杂的多步骤任务逻辑。发布可以将智能体发布到飞书、微信、网页等渠道。5.2 创建“技术文档助手”智能体步骤登录与创建访问Coze.cn使用账号登录。点击“创建智能体”。定义身份与提示词名称技术文档助手描述一个专门解答Python、JavaScript、LangChain等技术问题的助手。系统提示词关键在这里设定智能体的行为准则。你是一个专业、耐心且严谨的技术文档助手。你的核心知识来源于我为你提供的知识库。 回答技术问题时请优先依据知识库中的内容。如果知识库中没有相关信息你可以结合自己的通用知识进行回答但必须明确指出这一点。 回答应结构清晰包含必要的代码示例和解释。如果问题涉及多个步骤请分点说明。 对于不确定或模糊的问题应主动询问澄清而不是猜测。添加知识库在“知识库”模块点击“新建知识库”命名为“PythonLangChain文档”。上传你的技术文档例如Python官方教程PDF、LangChain API文档等。上传后Coze会自动进行切片、向量化和索引。配置能力与插件在“插件”模块可以添加“网页搜索”插件这样当知识库无法回答时智能体可以尝试搜索最新信息需在提示词中说明使用条件。暂时不配置工作流。预览与调试点击右上角“预览”在右侧对话框进行测试。尝试问一些知识库中有的问题如“Python中如何定义函数”和没有的问题如“明天天气如何”观察其回答是否符合预期。发布调试满意后点击“发布”。你可以选择发布到“飞书”、“微信公众号”或作为一个独立的网页链接分享。通过Coze你可以在半小时内搭建一个具备专业领域知识的问答机器人而无需编写任何后端或前端代码。它的核心价值在于将RAG、对话管理、多平台集成等复杂工程封装成了可视化操作。6. 提升开发效率Cursor AI IDE深度使用指南Cursor不仅仅是一个带AI补全的编辑器它是一个深度重构编程工作流的AI结对编程工具。6.1 Cursor的核心功能与设置安装与基础设置从官网下载Cursor安装包。安装后首次启动会让你配置模型通常使用自带的或填入OpenAI API Key。设置中文界面非必须Cursor原生支持中文。在设置Settings - Application - Language中可选择“中文简体”。更关键的是配置代码补全和聊天的模型。Chat模式你的项目级代码助手打开你的项目文件夹。Cmd/Ctrl K打开Chat面板。这里是与AI对话的核心区域。关键技巧Chat拥有你整个项目的上下文。你可以解释代码选中一段代码在Chat中输入“解释这段代码”。生成代码输入自然语言需求如“在utils.py里写一个函数用Pandas读取CSV文件并清洗空值”。重构代码输入“重构这个函数提高可读性”或“将这段代码改成异步模式”。查找Bug粘贴错误信息问“这个错误是什么意思如何修复”生成测试“为service/user_service.py里的UserService类生成单元测试。”Edit模式精准的代码编辑选中代码后按Cmd/Ctrl L进入Edit模式。输入指令AI会直接修改选中的代码块。例如选中一个函数输入“添加详细的文档字符串和类型注解”AI会直接重写该函数。6.2 Cursor在RAG/Agent项目中的实战应用快速生成数据模型在Chat中输入“根据以下需求创建Python数据类一个Document类包含id、content、metadata字段metadata是一个字典。” Cursor会生成符合规范的代码。编写LangChain链输入“使用LangChain写一个简单的Summarization链用gpt-3.5-turbo模型。” Cursor能生成包含正确导入和参数设置的代码。调试复杂错误当你的RAG检索结果不相关时可以将向量化检索的代码和问题粘贴到Chat询问“为什么检索精度不高如何优化” Cursor可能会建议你调整chunk_size、尝试不同的嵌入模型或使用MMR搜索类型。阅读开源项目用Cursor打开一个复杂的LangChain或LlamaIndex项目使用Chat提问“这个项目的核心目录结构是怎样的”“agent_executor是如何工作的”它能快速帮你理清脉络。重要提示Cursor是强大的辅助工具但它生成的代码需要你进行审查和测试。它最适合的场景是1) 编写样板代码2) 解释陌生代码3) 提供重构建议4) 学习新技术时快速获取示例。不能完全依赖其生成业务核心逻辑。7. 常见问题、排查思路与进阶优化在实际开发中你一定会遇到各种问题。这里汇总了高频问题及其解决方案。7.1 RAG系统常见问题问题现象可能原因排查与解决思路答案与文档内容无关幻觉1. 检索到的上下文不相关。2. 提示词未强制模型基于上下文回答。1.检查检索质量打印出source_documents看检索到的文本是否与问题相关。可尝试调整chunk_size、chunk_overlap或使用search_typemmr最大边际相关性来增加多样性。2.强化提示词在系统提示词中明确要求“严格根据上下文”并设定拒绝回答的模板。答案包含正确信息但格式混乱模型未按指定格式输出。在提示词中明确指定输出格式例如“请用分点列表的形式回答”。处理长文档时丢失中间信息1.chunk_size过大超出模型上下文窗口。2. 分割时切断了重要语义单元。1. 确保chunk_sizechunk_overlap 问题长度 模型上下文限制如GPT-3.5的4K。2. 尝试使用基于语义的分割器如SemanticChunker或按标题、章节进行分割。向量数据库检索速度慢1. 文档数量过多。2. 未建立高效索引。1. 对海量文档10万考虑使用专业向量数据库如Milvus、Qdrant它们支持HNSW等高性能索引。2. 在Chroma中可尝试调整persist_directory和索引参数。无法解析特定格式文档缺少对应的文档加载器。安装并引入对应的库如docxfor Word,pymupdffor PDF等。LangChain-community中包含大量加载器。7.2 Agent开发常见问题问题现象可能原因排查与解决思路Agent陷入循环不输出最终答案1. 工具描述不清晰导致模型无法正确选择。2. ReAct循环次数达到上限。1.优化工具描述确保description字段清晰、无歧义明确输入输出格式。2.设置max_iterations在AgentExecutor中设置max_iterations5等防止无限循环。模型无法正确解析工具输出工具返回的数据结构太复杂或非纯文本。工具函数应尽量返回简洁的字符串。对于复杂数据可以先在工具内部格式化为清晰的文本描述。Agent忽略工具直接回答问题提示词未强调使用工具或任务过于简单模型觉得无需工具。在系统提示词中强调“你必须使用可用的工具来完成任务”。对于简单任务这可能是正常行为。7.3 进阶优化方向当基础系统跑通后可以考虑以下优化来提升生产环境可用性检索优化混合检索结合语义检索向量搜索和关键词检索BM25兼顾相关性和精确度。重排序使用更精细的模型如Cohere reranker对初步检索出的结果进行重新排序将最相关的排在前面。元数据过滤在存储时为每个文本块添加元数据如来源、章节、日期检索时进行过滤。提示工程优化Few-Shot示例在提示词中提供几个“问题-上下文-答案”的例子让模型更好地理解任务。分步思考对于复杂问题要求模型先拆解问题再一步步结合上下文回答。评估与迭代构建一个包含“问题-标准答案”的测试集。定期运行测试评估RAG系统答案的忠实度是否基于上下文和答案相关性是否回答了问题。根据评估结果迭代调整分割策略、检索参数和提示词。架构升级异步处理对于大量文档的索引和查询使用异步IO提升吞吐量。缓存对常见问题的检索结果或最终答案进行缓存降低成本和延迟。监控与日志记录每次问答的检索片段、token消耗、耗时便于分析和优化。8. 七日学习路径与项目实战规划遵循“学练结合”的原则这里提供一个紧凑的七日学习计划帮助你从小白到能独立开发项目。第一天基础与环境搭建目标建立认知搭建Python环境。任务阅读本文第1、2章理解大模型应用开发全景。安装Python 3.10创建虚拟环境。安装openai,langchain,chromadb等核心库。成功运行一个简单的OpenAI API调用示例。第二天RAG核心流程初体验目标跑通一个最简单的RAG流程。任务精读本文第3.1-3.3节。准备一份PDF或TXT文档放入knowledge_base。完成main.py中文档加载、分割、向量化存储的代码并成功创建向量数据库。使用vectordb.similarity_search(“某个关键词”)手动测试检索效果。第三天构建完整问答链与调试目标实现端到端的问答并学会调试。任务完成本文第3.4节的代码实现RetrievalQA链。与你的知识库进行多轮交互式问答。开启verboseTrue模式观察LangChain的内部执行过程。尝试修改提示词模板观察答案风格的变化。第四天Agent原理与工具调用目标理解Agent思维链实现工具调用。任务精读本文第4章。成功运行天气查询Agent示例理解Thought-Action-Observation循环。挑战任务为Agent新增一个工具例如一个简单的计算器函数接收23字符串返回结果并测试Agent能否正确调用。第五天低代码平台Coze实战目标不写代码构建一个功能型智能体。任务注册Coze账号。按照第5章步骤创建一个“个人读书笔记助手”智能体。上传一本你读过的书的摘要或书评作为知识库。配置好提示词和插件测试其问答能力并尝试发布到网页链接分享给朋友。第六天AI编程助手Cursor深度使用目标将Cursor融入日常开发提升效率。任务安装并配置Cursor。用Cursor打开你前三天写的RAG项目。使用Chat功能让其解释RecursiveCharacterTextSplitter的工作原理让其优化一段你的代码让其为你生成一个简单的Flask API封装将你的RAG系统暴露为HTTP服务。使用Edit模式选中一个函数让其添加异常处理和日志。第七天综合项目与优化目标整合所学完成一个微型项目。项目构思“技术栈学习助手”RAG部分爬取或收集LangChain官方文档的部分内容构建专属知识库。Agent部分创建一个Agent除了能回答知识库问题还能调用一个“示例代码生成”工具工具函数可以简单返回一个固定示例或调用GPT生成。集成使用Flask或FastAPI编写一个简单的Web界面提供输入框进行问答。优化为你的RAG系统实现重排序可在LangChain中使用CohereRerank或LLMChainFilter或元数据过滤。输出一个可以本地运行的、具备基础问答和示例生成能力的Web应用。这个路径强调动手实践。每一环都建立在前一环的基础上。过程中遇到问题首先回顾本文的“常见问题”章节然后善用搜索引擎和Cursor进行排查。七天之后你将对大模型应用开发的核心技术栈建立起扎实的、来自实践的理解并具备继续探索更高级主题如微调、复杂Agent框架的能力。
返回列表