编程常用网站博客是哪个软件

张小明 2026/1/10 3:34:27
编程常用网站,博客是哪个软件,做it的兼职网站有哪些,什么叫网站的域名简介 本文介绍了如何为AI Agent接入Dify知识库实现RAG功能#xff0c;区分了Agent的记忆与知识概念。通过实战演示#xff0c;展示了创建知识库、编写检索工具及将新技能加入Agent的过程。最终#xff0c;Agent同时拥有了记忆和知识#xff0c;成…简介本文介绍了如何为AI Agent接入Dify知识库实现RAG功能区分了Agent的记忆与知识概念。通过实战演示展示了创建知识库、编写检索工具及将新技能加入Agent的过程。最终Agent同时拥有了记忆和知识成为真正智能的私人助理。文章强调了万物皆可为工具的通用赋能方法是学习大模型应用的实用指南。我们通过Store机制成功让Agent拥有了“长期记忆”它能记住“你是谁”。我们的Agent现在已经非常“人性化”了它能记住对话会话记忆、也能“认识”你长期记忆。但是它依然“无知”——它不了解你所在领域的专业知识比如我们公众号写过的所有文章。 你“你好张三。”Agent调用SaveUserInfo记住了你 Agent“你好张三我记住你啦” 你“那么根据咱们公众号《AI Agent入门 #2》的文章ReAct框架是什么” AgentThought: 用户在问一个具体文章的内容我的工具箱里没有工具能回答这个问题... Final Answer: 抱歉我无法访问你公众号的具体文章内容...今天我们将为Agent进行一次关键的“技能升级”为它装备一个可以无限扩展的“第二大脑”我们将接入Dify知识库让它学会一项全新的、至关重要的技能——“查资料”一、【概念篇】“记忆” vs “知识” (RAG)这是本系列最关键的概念区分请务必仔细理解Agent的“记忆” (Memory)这是Agent关于交互历史和自身状态的记录。会话记忆 (Short-Term)我们用ChatMessageHistory实现。它回答“我们刚才聊了啥”长期记忆 (Long-Term)我们用Store实现。它回答“我记得你是谁”Agent的“知识” (Knowledge / RAG)这是Agent关于外部世界的信息。它是通过“工具(Tool)”去获取的本身不属于Agent的“记忆”而是Agent的一项“技能”。比喻查天气QueryWeather是Agent的一项技能。同理**查知识库RAG**也是Agent的一项技能我们可以叫它QueryKnowledgeBase。本章的核心我们不是在为Agent添加“第三种记忆”而是为它的“工具箱”里添加一个“图书馆借阅卡”工具这项新技能的名字就叫RAG检索增强生成。二、准备“图书馆”Dify知识库我们要打造QueryKnowledgeBase这项技能首先需要一个“图书馆”让它去查。Dify就是我们最好的选择。部署或注册Dify确保你的Dify服务正在运行本地或云端。创建知识库在Dify中创建一个新知识库例如my_agent_knowledge并上传你希望Agent掌握的文档。Pro-Tip强烈建议把我们这个系列的前几篇文章存为.md文件上传进去创建应用并获取API密钥在Dify中创建一个“聊天助手”类型的应用。在该应用的“上下文”设置中关联你刚刚创建的my_agent_knowledge知识库。在“访问API”页面找到你的API密钥 (Secret Key)和API基础URL (Base URL)。记下这两个值它们是Agent使用“图书馆借阅卡”的凭证。三、【实战篇】打造“知识库检索”工具现在让我们回到Python代码。我们将创建一个新的工具文件knowledge_tools.py。第一步安装依赖库我们只需要requests库来调用Dify的HTTP API。pip install requests第二步编写“知识库检索”工具代码这个工具函数的核心就是调用Dify的/chat-messagesAPI。# -----------------------------------------------------# 喵喵实战室Agent知识库工具 (knowledge_tools.py)# -----------------------------------------------------import requestsimport jsonimport os# --- 从环境变量或配置文件中读取你的Dify密钥 ---# 确保在运行前设置好环境变量# export DIFY_API_KEYyour_secret_key# export DIFY_API_URLhttps://api.dify.ai/v1 (Dify云端的地址本地部署请修改)DIFY_API_KEY os.environ.get(DIFY_API_KEY)# 注意这里的URL是Dify API的“聊天”端点DIFY_API_URL os.environ.get(DIFY_API_URL, https://api.dify.ai/v1) /chat-messagesdef query_dify_knowledge_base(query: str) - str: 一个专用于查询“AI喵智能体”公众号内部知识的工具。 当你需要回答关于 AI Agent、Dify、Ollama、Stable Diffusion 等我们教程中特定内容的问题时请使用此工具。 请勿用此工具查询天气、股票或执行代码。 参数: query (str): 用户关于私有知识的具体问题。 返回: str: Dify知识库返回的答案。 print(f--- [工具被调用query_dify_knowledge_base] ---) print(f--- [工具入参query{query}] ---) ifnot DIFY_API_KEY: return错误DIFY_API_KEY 未设置。无法查询知识库。 # Dify API的请求头 headers { Authorization: fBearer {DIFY_API_KEY}, Content-Type: application/json, } # Dify API的请求体 # conversation_id 确保Dify内部也能管理上下文 # query 是用户的提问 # user 是一个唯一的用户标识 body { inputs: {}, query: query, response_mode: blocking, # 我们需要一个同步的答案而不是流式 conversation_id: , user: my_agent_system } try: response requests.post(DIFY_API_URL, headersheaders, datajson.dumps(body)) response.raise_for_status() # 如果请求失败则抛出异常 response_json response.json() # 解析Dify返回的答案 answer response_json.get(answer, 未在知识库中找到明确答案。) print(f--- [工具返回值{answer[:100]}...] ---) return answer except requests.exceptions.RequestException as e: error_message f错误连接Dify知识库失败 - {e} print(f--- [工具异常{error_message}] ---) return error_message except Exception as e: error_message f错误解析Dify响应时发生异常 - {e} print(f--- [工具异常{error_message}] ---) return error_message# --- 本地测试 ---if __name__ __main__: ifnot DIFY_API_KEY: print(请先设置 DIFY_API_KEY 和 DIFY_API_URL 环境变量) else: # 假设你的知识库里有关于ReAct的文章 test_query ReAct是什么 answer query_dify_knowledge_base(test_query) print(f\n测试提问{test_query}) print(f知识库回答{answer})执行结果[代码讲解]极其重要的Docstring我们明确告诉Agent什么时候该用问公众号教程时什么时候不该用查天气时这个工具。这是Agent能正确“规划”的关键API调用我们严格按照Dify的API文档构造了headers和body。同步响应我们设置了response_mode: blocking因为Agent的ReAct循环需要一个同步、阻塞的工具。它必须拿到这个工具的Observation观察结果才能进行下一步Thought思考。四、【终极组装】将“知识库技能”加入Agent现在我们再次回到main_with_ltm.py上一期的主文件把这个新工具“插”进去。# ... (导入所有上一期的库) ...from langchain_core.messages import HumanMessage, AIMessagefrom langchain_core.chat_history import ChatMessageHistoryfrom langgraph.store.memory import InMemoryStorefrom dataclasses import dataclassfrom typing_extensions import TypedDict# # 步骤1导入我们的新工具# from agent_tools import ( get_realtime_weather, get_stock_realtime_price, read_file, write_file, execute_python_code)# 导入上一期的LTM工具 (假设你已将其保存为 ltm_tools.py)from ltm_tools import save_user_info, get_user_info # 导入本期的RAG工具from knowledge_tools import query_dify_knowledge_base # -- 新增导入# ... (初始化 LLM、Store、定义AgentContext、UserInfo 等代码与上期相同) ...# -----------------------------------------------------# 步骤2将“知识库工具”加入工具列表# -----------------------------------------------------print([4/6] 正在封装所有工具 双手 (新增RAG技能)...)tools [ # Web工具 Tool(nameQueryWeather, funcget_realtime_weather, description...), Tool(nameQueryStockPrice, funcget_stock_realtime_price, description...), # 本地工具 Tool(nameReadFile, funcread_file, description...), Tool(nameWriteFile, funcwrite_file, description...), Tool(nameExecutePythonCode, funcexecute_python_code, description...), # 长期记忆(LTM)工具 Tool(nameSaveUserInfo, funcsave_user_info, description...), Tool(nameGetUserInfo, funcget_user_info, description...), # # -- 新增知识库(RAG)工具 -- # Tool( nameQueryKnowledgeBase, funcquery_dify_knowledge_base, description一个专用于查询“AI喵智能体”公众号内部知识的工具。 当你需要回答关于 AI Agent、Dify、Ollama、Stable Diffusion 等我们教程中特定内容的问题时请使用此工具。 请勿用此工具查询天气、股票或执行代码。 )]# ... (后续的 Prompt 模板、Agent组装、对话循环代码与上一期完全相同) ...# ... (你只需要修改 tools 列表其他一切照旧) ...[代码讲解] 看这就是我们Agent框架的魔力我们不需要修改任何主逻辑只需要import新工具。在tools列表中添加一个新的Tool对象。Agent的“大脑”会自动通过读取description学会“哦我多了一项新技能是用来查私有知识的”。后台留言“实战”获取完整源码五、见证奇迹会“查资料”的Agent现在运行你最新的main.py脚本。让我们来一次“跨记忆、跨技能”的终极测试第一次对话 (测试长期记忆): 你你好我叫张三。 Agent:你好张三很高兴认识你。有什么我可以帮助你的吗第二次对话 (测试知识库/RAG技能): 你根据咱们公众号的教程ReAct是什么 Agent:ReAct是一种框架其核心在于通过建立结构化的工作流让AI能够主动且智能地调用工具从而弥补自身能力的不足。它的关键作用是推动AI在执行任务时“把话说清楚把事做扎实”通过协调“大脑”LLM与“双手”工具的协作提升解决问题的效率与准确性。第三次对话 (测试混合记忆 多技能调用): 你根据咱们公众号的教程ReAct是什么总结一下然后帮我查查上海的天气最后把这两样东西都写入一个文件文件名就叫 ‘我的学习笔记.txt’。 Agent:搞定我已经将ReAct框架的核心总结和上海的天气全部写入了 我的学习笔记.txt 文件中。成功了我们的Agent现在同时拥有了完整的“记忆”和“知识”它成为了一个真正智能的、能干活的私人助理总结与预告今天我们为Agent装备了一项至关重要的新技能知识库检索RAG。我们彻底厘清了“记忆状态”与“知识技能”的边界。我们的Agent现在能思考ReAct有记忆会话记忆 长期记忆/Store有技能天气、股票、文件、代码、知识库更重要的是我们掌握了为Agent“赋能”的通用方法**万物皆可为工具。 今天我们接入了Dify知识库未来你完全可以用同样的方式**为它接入send_email发送邮件、control_smart_light控制智能家居、post_wechat_message发送企业微信等任何你能想到的API或SDK。Agent的能力边界就是你工具箱的边界从理论和功能上讲它已经是一个完全体的Agent了。六、如何学习AI大模型我在一线互联网企业工作十余年里指导过不少同行后辈帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。这份完整版的大模型 AI 学习和面试资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】第一阶段从大模型系统设计入手讲解大模型的主要方法第二阶段在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用第三阶段大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统第四阶段大模型知识库应用开发以LangChain框架为例构建物流行业咨询智能问答系统第五阶段大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型第六阶段以SD多模态大模型为主搭建了文生图小程序案例第七阶段以大模型平台应用与开发为主通过星火大模型文心大模型等成熟大模型构建大模型行业应用。学会后的收获• 基于大模型全栈工程实现前端、后端、产品经理、设计、数据分析等通过这门课可获得不同能力• 能够利用大模型解决相关实际项目需求 大数据时代越来越多的企业和机构需要处理海量数据利用大模型技术可以更好地处理这些数据提高数据分析和决策的准确性。因此掌握大模型应用开发技能可以让程序员更好地应对实际项目需求• 基于大模型和企业数据AI应用开发实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能 学会Fine-tuning垂直训练大模型数据准备、数据蒸馏、大模型部署一站式掌握• 能够完成时下热门大模型垂直领域模型训练能力提高程序员的编码能力 大模型应用开发需要掌握机器学习算法、深度学习框架等技术这些技术的掌握可以提高程序员的编码能力和分析能力让程序员更加熟练地编写高质量的代码。1.AI大模型学习路线图2.100套AI大模型商业化落地方案3.100集大模型视频教程4.200本大模型PDF书籍5.LLM面试题合集6.AI产品经理资源合集获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

专业制作网站推荐网站建设完成后如何备案

NarratoAI:智能视频解说创作平台完全指南 【免费下载链接】NarratoAI 利用AI大模型,一键解说并剪辑视频; Using AI models to automatically provide commentary and edit videos with a single click. 项目地址: https://gitcode.com/gh_m…

张小明 2026/1/7 21:50:34 网站建设

dede响应式网站模板下载网页升级未成年请自觉离开

深入探索KDE桌面环境:功能、操作与定制 1. KDE桌面基本功能 KDE桌面提供了一系列实用的基本功能,以下为您详细介绍: - 窗口层叠(Cascade windows) :与微软Windows系统中的窗口层叠功能类似,它能将桌面上的窗口以层叠样式排列,方便您同时查看多个窗口内容。 - 图…

张小明 2026/1/9 3:22:54 网站建设

网站cn和com有什么区别黄页网如何注册

在远程办公日益普及的今天,如何安全高效地访问企业内部资源成为许多企业和个人面临的挑战。Docker EasyConnect通过容器化技术,将复杂的网络连接配置过程简化为几个简单命令,让你在5分钟内就能搭建专属的远程连接环境。无论你是需要居家办公的…

张小明 2026/1/9 14:56:58 网站建设

企业对做营销型网站有什么优势广州企业网站建设公司

定价模型设计:按需计费 vs 包年包月,谁更胜一筹? 在AI服务大规模落地的今天,一个看似简单却至关重要的问题摆在平台设计者面前:该让用户“用多少付多少”,还是“提前买断、长期使用”?这个问题背…

张小明 2026/1/7 21:50:39 网站建设

福建高端建设网站千助网站建设

第一章:Open-AutoGLM网页版接入实操案例概述在实际开发中,将 Open-AutoGLM 模型集成到网页应用中能够显著提升自然语言处理能力。本章以一个典型的客服问答系统为背景,介绍如何通过 API 接入 Open-AutoGLM 网页版服务,实现用户问题…

张小明 2026/1/7 15:48:49 网站建设

多语网站建设巢湖做网站

理解USB2.0在数据记录仪中的真实速度边界:从理论到实战你有没有遇到过这样的情况?一台标称支持“高速USB”的数据记录仪,采集了几个小时的振动信号,总数据量不过几GB。当你兴冲冲地插上USB线准备导出时,进度条却像老牛…

张小明 2026/1/7 21:50:37 网站建设