分类: Ai

[Ai]context太长会有什么问题?

lost in the middle(过程中迷失/遗忘初始目标) LLM在过长的上下文中对信息的位置非常敏感,往往会更加关注开头和结尾的内容,而忽略中间部分信息 位置偏差显著: 当关键信息位于上下文开头/结尾时,几乎所有模型的表现都很好,而当关键信息在中间时效果急剧下滑 增加上下文长度 ≠ 提升效果

[Ai]MCP是什么?怎么做的?

是什么? Model Context Protocol(模型上下文协议),简称 MCP。MCP不是框架,而是一个通用开源标准协议 早期开发外部工具的时候,每个ai服务提供商都有自己的工具调用协议导致一个工具对接每个厂商都需要重新一套对接流程。这个时候,Anthropic提出了MCP的标准,解决了这个

[Ai]如何设计FunctionCall

函数名称、描述、参数描述要简洁清晰 要简洁清晰的对函数以及函数参数进行描述,防止LLM理解有误或者做多余的事情 扁平化参数结构 参数一定不要进行多层嵌套,要做到一层铺开 不要有太多参数 参数数量不要太多,最多不要超过3-4个 枚举限定参数值 可以通过枚举来限定参数的值,以防止LLM捏造参数值 适当提

[Ai]FunctionCall和ToolCall,区别是什么?

是什么? 早期叫Function Call,而现在更多的叫Tool Call 这两个本质上是没什么区别,最终落到执行层终归是要通过function执行。 为什么? 既然最终都是function执行,那为什么又要改名叫tool呢? 主要是为了让LLM更好理解。让LLM理解函数名和工具名,显然后者更容易

[Ai]LangChain4J试用

LangChain4J跟SpringAi差不多,都提供了提示词工程、对话记忆、结构化输出、RAG、MCP等功能 接入LangChain4J 依赖 <dependency> <groupId>dev.langchain4j</groupId>

[Ai]对话记忆

短期记忆 短期记忆又叫"上下文记忆"或者"对话记忆"。主要就是指单次会话的记忆 局限性: 大小有限:上下文窗口大小有限制。达到上限最早的对话内容可能丢失(一般是会把之前的内容压缩) 易失性:随着会话结束,记忆消失 长期记忆 长期记忆又叫"持久记忆"或者"外部记忆"。指把对话内容存储在外部(数据库、内

[Ai]LLM结构化输出

LLM本身不能做到结构化输出,它的结构化输出主要还是根据提示词告诉它要输出什么样子的格式 在早期(gpt3.5时代)的LLM中结构化输出是比较弱的,比如让它输出Json格式,经常会出现格式错误的情况,所以早期也诞生了很多Json修复工具。后来LLM对结构化输出做了优化之后才逐步稳定了下来 像Spri

[Ai]PromptTemplate提示词模板

提示词模板其实就是占位符模板,适用于定义好提示词整体结构,然后通过占位符填充关键信息 比如 给我推荐几本适合初学者学习{language}的书 通过用户输出的关键词替换掉 {language}实现模板化的提示词

[Ai]Prompt优化

思维链(Chain of Thought, CoT) CoT是通过引导模型一步步思考来解决复杂问题的一种方法, CoT不是直接让模型输出最终答案, 而是要求它输出一个详细、逻辑连贯的推理过程, 然后基于推理得出结论 最简单的的实现方法就是直接在提示词末尾追加一句"必须一步步思考"类似的话 CoT的核

[Ai]Prompt?如何设计?

Prompt是什么?有什么用? Prompt(又称提示词)是LLM的期望输出引导词, 简单可以理解为让LLM知道它应该做什么、怎么做、做成什么样的引导指令 一份描述简单的Prompt和一份描述精准的Prompt对同一个问题的输出质量是截然不同的。就像去看医生, 如果你对医生说我身体不舒服, 医生如果