
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
使用 OpenAI 兼容的 JSON Schema 描述工具:"description": "获取指定城市的当前天气","city": {"description": "城市名称,如 '北京'"},"unit": {"description": "温度单位"},这些工具定义通过 system prompt 注入模型,模型被训练为理解工具描述语义并生成符合参数约束的调用 JSON。1. 定位:开源社
在 ChatGPT 的带动下,用户已经习惯了"逐字蹦出来"的流式体验。对于企业知识库问答系统来说,检索 + 生成的过程可能耗时 3-10 秒,如果没有流式输出,用户只能干等。本文介绍如何用 FastAPI 的实现 Server-Sent Events(SSE)流式输出。
消息数量超阈值时自动触发 LLM 摘要压缩:return# 还没到阈值# 保留最近的消息,压缩旧消息# 原子替换:删旧消息 + 保留新消息 + 更新摘要DELETE ...;LLM 摘要 Prompt 设计:prompt = ("你是对话压缩引擎。请在保留事实、偏好、结论、待办和约束的前提下进行递归摘要。\n"f"已有摘要:{existing_summary or '无'}\n"f"新增历史
Agent = LLM(大语言模型)+ 工具(Tools)+ 记忆(Memory)+ 规划(Planning)简单说,Agent 就是一个能自主感知环境、做出决策、执行行动的智能体。传统 LLM 只能"回答问题",而 Agent 能"完成任务"。传统 LLMAgent输入单次 prompt目标 + 环境反馈输出一段文本一系列行动 + 最终结果能力边界模型知识截止日期可调用工具获取实时信息交互方式一
一个典型 Agent 往往挂载 20-50 个工具。当多个工具的功能描述存在重叠时,模型很难做出正确选择。和find_files和,在模型眼里可能"差不多",但它必须精确选一个。这种模糊边界是工具误用的高发区。更隐蔽的问题是参数层面的语义冲突——两个工具都有path参数,但一个期望绝对路径,一个期望相对路径。模型如果混淆了这两个工具的参数语义,调用的结果就会出错。Agent 的幻觉和工具误用,不是
LangChain 的@tool装饰器可以方便地定义 Function Call 工具:"""当用户问题需要查询知识库时调用此工具。适用于涉及公司信息、规章制度、专业领域知识、特定人物或事件等需要查询知识库的内容。""""""当用户问题是日常问候、常识性问题、数学计算、个人意见等无需特殊知识库时调用此工具。"""文档字符串(docstring)才是真正的 Prompt。LLM 根据 docs
意图识别判断了"走哪条路",处理链决定了"怎么走"。本文介绍项目中两条 LangChain 处理链的设计——知识库检索链(RAG Chain)和通用对话链(General Chat Chain),以及如何用实现全链路流式输出。
多轮对话需要记忆。RAGFlow 虽然有原生会话功能,但本项目选择了 LangChain + MongoDB 的方案来独立管理对话记忆。这样做的好处是:RAGFlow 负责检索,LangChain 负责记忆,职责分离,各自使用最擅长的工具。本文介绍基于的持久化方案。
Checkpointer 是 LangGraph 最被低估的特性。它能在每个步骤(superstep)后自动保存 State 快照,实现:断点续跑:中断后从上次的 checkpoint 继续时间旅行:回溯到任意历史状态重新执行异步恢复:等人工审批后继续from langgraph.checkpoint.memory import MemorySavercheckpointer = MemoryS
Skill是 AI Agent 系统中一种可插拔的能力单元。它将特定领域的知识、操作流程、工具调用封装为一个独立模块,在 Agent 运行时被按需加载和激活。Skill 是 Agent 的"专业领域培训包"——当 Agent 需要完成某项特定任务时,加载对应的 Skill,Agent 就临时获得了该领域的专业知识和工作流指导。Skill 是 AI Agent 开发中的核心抽象,它将"教 Agent







