logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

天机学堂AI版面试答疑

我项目中的AI模块是我负责的,我们做的是一个AI智能助手,基本的技术框架是使用SpringAI来实现,对接的大模型是阿里的千问max,我们是基于ES来实现RAG知识库的,将系统中的业务数据( 比如:课程数据)通过向量化存储到ES中,在发起大模型请求前,先查询ES向量库,查询到数据后,一起发给大模型进行处理,再和其他业务系统对接中,我们使用的Tool Calling方式来实现,在自定义的Tool中通

#人工智能#面试#职场和发展
LLM工具调用面试篇6

更糟的是,不同服务的同一个逻辑(比如「429 了要指数退避重试」)很容易各写各的,A 服务对了、B 服务错了,出问题时先要花半小时搞清楚是哪个服务的重试逻辑在作怪。大多数 LLM 网关(比如 LiteLLM)对外暴露一个 OpenAI 兼容的接口,你的业务代码就像调 OpenAI 一样调它,只需要把请求地址改成网关的地址,API Key 改成网关分配的虚拟 Key。语义缓存最适合的场景是高频重复的

文章图片
#面试#职场和发展#人工智能 +1
LLM工具调用面试篇4

A2A 是 Google 发布的开放协议,专门解决多个 AI Agent 之间怎么互相通信协作的问题。我理解它和 MCP 的区别是这样的:MCP 解决的是「单个 Agent 怎么连工具和数据」,A2A 解决的是「多个 Agent 之间怎么分工协作」。一个 Agent 通过 A2A 可以把子任务委托给另一个专业 Agent,接收方按自己的 Skill 声明承接,支持异步长任务和流式推送结果。

文章图片
#python#RAG#人工智能 +1
LLM工具调用面试篇3

我理解根本原因是两者的生成范式有冲突。推理模型在给出答案之前,会先跑一段完整的「思维链」,这个 thinking 过程是一次性连续生成的,不能中途打断。但工具调用天然是多轮交互:模型输出调用请求、暂停等工具执行、拿到结果再继续生成,这两种模式没法兼容。你没法在思考链跑到一半的时候暂停去等工具结果,否则之前的推理上下文全断了。而 MCP 底层就是靠 Function Calling 驱动的,推理模型

文章图片
#人工智能#RAG#java +2
LLM工具调用面试篇2

MCP 是 Anthropic 在 2024 年底推出的开放协议,我理解它主要解决的是「模型接工具太碎片化」的问题。在 MCP 出现之前,每接一个新工具都要单独写集成代码、处理认证、适配格式,而且这套代码和具体模型强绑定,换个模型就得重写,非常繁琐。MCP 的思路是把这件事标准化:工具提供方按协议实现一个 Server,任何支持 MCP 的 AI 客户端就能直接接进来,一次实现到处复用。

文章图片
#深度学习#机器学习#人工智能 +1
LLM工具调用面试篇1

Function Calling 我的理解是这样一套机制:开发者用 JSON schema 把工具描述好传给模型,模型判断需要调工具的时候不输出自然语言,而是直接输出一段结构化的 tool_calls JSON,告诉你「我要调哪个函数、参数是什么」,你的代码拿到这段 JSON 去真正执行,把结果塞回对话,模型再生成最终答案。整个流程本质上是两轮对话:第一轮模型说「我需要调这个工具」,你去执行,第二

文章图片
#开发语言#python#面试 +1
RAG面试题5

最开始没有开量化,机器只有 8GB 内存,Milvus 把向量索引加载进内存之后,留给操作系统的空间已经很小了,稍微有点内存压力就开始频繁 swap(把内存数据换到磁盘),查询延迟直接从 20ms 飙到 2s+。我们生产环境用的是 Milvus,数据量级在百万条向量左右,每条是 1024 维,用 HNSW 索引,单次查询的延迟在 20 到 50 毫秒。然后给出具体的数据量级和性能指标,150 万条

文章图片
#python#人工智能
RAG面试题2

切割粒度没有固定答案,通常 500 到 1000 个 token 是一个合理的起点,但更重要的是根据文档类型来选策略,普通文本用固定大小加重叠,有标题结构的文档按语义边界切,代码按函数切,如果既要检索精度又要上下文完整的话,我会用父子切割,也就是小块检索、大块返回。第二,就算模型支持超长输入,把整篇文章压缩成一个向量,细节信息会被「平均掉」,你想找「退款政策」,但向量里还混着「配送时效」「积分规则

文章图片
#语言模型#java#面试
Agent开放开发面试圣经7

控制边界的逻辑是这样的:工具调用的循环、对话历史的管理、错误处理和重试、任务状态的维护,这些是 Agent 的「心脏」,直接决定系统行为,必须百分百理解、百分百掌控,所以手写。而 LangSmith 的 tracing(调用链追踪)、LlamaIndex 的文档解析、某个向量库的 Python 客户端,这些是「工具性」的周边功能,出了问题一眼就能看出来,不会带来黑盒困境,用外部工具节省时间完全值得

文章图片
#面试#职场和发展
Agent开发面试圣经5

目前业界已经有不少成熟的 Multi-Agent 框架可以直接用,比如 CrewAI、LangGraph 等,它们把 Agent 之间的通信协议、任务调度、结果汇总这些基础设施都封装好了,开发者只需要定义每个 Agent 的角色和工具,不用从零搭建调度逻辑。并行执行带来的不只是速度提升,还有一个隐藏的好处:每个 Worker 的 context 是完全隔离的,程序员 Agent 不会被测试用例的信

文章图片
#语言模型#java#面试
到底了