- 博客(88)
- 收藏
- 关注
原创 Go AI Agent 实战 18|Tool Calling 的基本原理与完整执行流程
本课聚焦 Go 后端实现 Tool Calling,模拟模型提出工具调用请求的全流程。通过定义工具名称、参数 Schema 与执行器,实现工具分派、参数校验与安全执行。强调模型仅提意图,应用负责授权与副作用控制。实验中使用 JSON 解析与上下文超时机制,验证 get_weather 工具的合法调用,为后续接入真实模型 API 奠定基础。
2026-10-25 22:57:55
167
原创 Go AI Agent 实战 17|模型适配层设计:让模型可替换
Generate(ctx:调用方可以取消和设置截止时间。messages:输入是多轮消息。:成功返回文本,失败返回可分类错误。Go 使用隐式接口实现。类型不需要写implements,只要方法集合匹配,就自动实现接口。Generate(这个文件不包含 API URL、密钥或供应商响应格式。它描述的是“业务需要什么能力”,不是“某家服务如何实现”。理解 HTTP 请求和响应。用net/http完成真实调用。安全管理 API Key。设计 JSON 边界与业务校验。
2026-10-25 22:55:55
216
原创 Go AI Agent 实战 16|重试、指数退避、限流与成本控制
先分类错误,再决定是否重试。指数退避缓解重试风暴,抖动让重试流量错开。最大次数、总截止时间和 Context 取消构成重试的硬边界。每次重试必须重新构造可读的请求体。读取超时是“结果未知”,自动重试可能重复生成和计费。并发、速率、Token、费用和时间需要共同约束。
2026-10-25 22:54:41
271
原创 Go AI Agent 实战 15|context.Context、超时与取消机制
Context 用于传播取消信号和截止时间,不负责强制终止任意函数。设置预算,WithCancel支持业务主动停止。必须通过将 Context 绑定到 HTTP 请求。HTTP 客户端超时是网络层兜底,不能代替上游取消传播。Gin 中使用,不要直接传。请求超时不代表服务端没有执行,重试时要考虑重复成本。
2026-10-24 23:08:26
280
原创 Go AI Agent 实战 14|多轮对话与上下文历史管理
本课讲解如何在Go中实现大模型的多轮对话,重点解决无状态API带来的上下文丢失问题。通过维护system、user、assistant三类消息角色,使用切片保存历史记录,并仅在成功获取回答后添加assistant消息,确保对话连贯性。同时分析了上下文窗口、Token成本与历史策略(如最近窗口、摘要)的影响,为构建高效AI问答系统提供实践基础。
2026-10-24 23:06:49
615
原创 Go AI Agent 实战 13|大模型流式输出 Streaming 的实现
本课实现Go语言原生流式输出,通过解析SSE格式响应,逐块读取大模型生成的文本。使用bufio.Scanner按事件边界处理数据,提取delta.content增量内容,正确识别[DONE]结束标记与异常断流。代码不依赖第三方SDK,具备错误处理与超时控制,适用于实时聊天、代码生成等场景,显著提升用户体验。
2026-10-24 23:04:32
521
原创 Go AI Agent 实战 12|HTTP 状态码、API 错误处理与日志
本课聚焦Go客户端错误处理,将调用失败分为请求构造、传输、HTTP及业务错误四类,通过自定义APIError结构保留状态码与错误详情,结合%w实现错误链追踪。针对401、429、503等状态码设计可重试策略,解析服务端JSON错误响应,确保日志安全不泄露密钥。最终封装成可复用的健壮客户端,为后续重试机制奠定基础。
2026-10-23 13:09:30
383
原创 Go AI Agent 实战 11|请求结构、响应结构与 JSON 解析
本课聚焦Go调用大模型时的请求与响应结构设计,强调分离建模以提升可维护性。通过指针区分字段状态(如nil、空值、实际值),合理使用json:""标签与omitempty,实现精准映射与序列化控制。结合json.Unmarshal本地解析实验,验证结构体对复杂响应的容错能力,并在解析后进行业务校验,确保数据完整性。
2026-10-23 13:06:30
148
原创 Go AI Agent 实战 10|环境变量、API Key 与密钥安全
本课聚焦Go项目中大模型密钥的安全管理,强调避免硬编码,通过环境变量、.env文件与.gitignore协同实现配置分离。重点讲解了环境变量设置、配置集中加载、密钥泄露应急处理及生产环境权限控制,强调“配置即运行时注入”的安全原则,为后续AI Agent开发筑牢安全基础。
2026-10-23 12:55:58
302
原创 Go AI Agent 实战 09|用 net/http 真实调用 DeepSeek
本课基于Go标准库实现大模型调用,通过结构体定义请求/响应格式,读取环境变量获取API密钥与模型名,使用http.Client发送请求并严格校验状态码、响应内容及choices字段。重点掌握从请求构造到错误处理的完整流程,确保失败场景可定位,避免将异常响应误判为成功,代码结构清晰可复用。
2026-10-21 14:00:00
986
原创 Go AI Agent 实战 08|HTTP 模型 API 的工作原理与请求流程
本课讲解Go后端如何通过标准库net/http与大模型服务通信,重点掌握请求构造、JSON编码、HTTP交互流程及错误排查。强调模型调用应由后端负责,避免前端暴露API Key。详解请求头、请求体、响应体结构,明确choices[0].message.content为最终回答,区分HTTP成功与业务成功。通过分阶段调试,精准定位网络、认证、解析等各类问题,为下一课实现真实调用打下基础。
2026-10-21 12:00:00
442
原创 Go AI Agent 实战 07|模型幻觉、能力边界与成本控制
本课总结第一阶段“大模型基础”核心内容:剖析模型幻觉成因,强调Go后端在事实校验、权限控制与事务保障中的关键作用。明确分工原则——LLM处理语言理解与生成,Go后端负责确定性逻辑与真实数据操作。结合成本模型,量化输入/输出Token计费机制,揭示Agent多轮调用带来的累积开销。提出通过上下文超时控制、检索增强、输出验证与调用限流等Go工程手段,构建可靠、低成本的AI服务架构,为后续真实项目落地奠定基础。
2026-10-21 10:00:00
297
原创 Go AI Agent 实战 06|JSON 结构化输出与 Go 后端校验
本课聚焦大模型结构化输出,讲解如何用 Go 解析 AI 返回的 JSON 数据。通过定义结构体、使用 json.Unmarshal 解析,并分层校验语法、字段合法性与业务逻辑,确保程序可稳定消费模型输出。强调真实项目中应优先依赖模型服务的结构化能力,而非仅靠 Prompt 控制格式,避免因解析失败或数据错误导致系统异常。
2026-10-21 08:00:00
325
原创 Go AI Agent 实战 05|Temperature 与生成参数:让模型输出可控
本课深入讲解大模型生成控制参数,重点解析 Temperature、Top-P 与最大输出 Token 数的作用与区别。通过 Go 代码模拟配置,理解如何根据技术问答、创意写作等场景合理设置参数。强调 Temperature 影响随机性但无法消除幻觉,Top-P 控制候选范围,最大输出限制回答长度。最后设计清晰的 Go 配置结构,为后续接入真实 API 做准备。
2026-10-20 10:00:00
331
原创 Go AI Agent 实战 04|Prompt 与消息角色:System、User、Assistant
本课聚焦于Go后端开发中的Prompt设计,系统讲解System、User、Assistant三类消息角色的用途与协作机制。通过Go结构体实现消息序列化,掌握如何组织清晰、可维护的提示词,理解多轮对话中历史消息的重要性,并警惕Prompt Injection风险。强调Prompt仅引导模型行为,不可替代程序校验,需结合工程实践确保输出可靠性。
2026-10-20 08:00:00
611
原创 Go AI Agent 实战 03|Token、上下文窗口与模型调用成本
本课深入解析大模型中的Token机制,解答中文字符与Token数量差异、多轮对话内存占用及调用成本波动三大核心问题。通过实例说明Token非字符等长,上下文窗口限制影响请求设计,并强调需基于实际Tokenizer估算。重点讲解上下文管理策略(如最近窗口、摘要压缩),指导开发者在Go项目中实现高效对话状态控制与成本优化,为后续构建可控、经济的AI Agent打下基础。
2026-10-19 16:46:45
202
原创 Go AI Agent 实战 02|大语言模型(LLM)到底是怎么工作的
本课从Go后端视角深入解析大语言模型(LLM)核心原理,涵盖模型生成机制、Token概念、幻觉成因及上下文理解。重点讲解推理阶段流程:基于概率逐步生成文本,依赖注意力机制理解上下文,但受限于上下文窗口与训练数据。强调模型非知识库,易产生幻觉,需通过RAG、验证与权限控制等工程手段保障可靠性。最后结合Go实践,明确后端在请求处理、错误应对与成本控制中的关键角色,为后续手写实现奠定基础。
2026-10-19 16:39:27
453
原创 Go AI Agent 实战 01|AI 应用与传统后端的本质区别
本课厘清了传统Go后端与AI应用的本质区别:前者逻辑确定、规则显式;后者融合模型生成能力,引入不确定性。重点强调LLM仅作语言理解与生成,真实数据访问需通过Go后端控制的Tool Calling实现。工程上应保持关键逻辑可控,避免盲目使用Agent、RAG等复杂架构。学习路径遵循“理解→手写→封装”,确保可维护性与成本可控。
2026-10-19 16:30:25
257
原创 【Golang】第七弹----map
Go语言中的 map 是一种无序的键值对集合,类似于其他语言中的字典或哈希表。它通过键(key)来快速查找对应的值(value),键必须是唯一的,而值可以重复。
2025-03-23 17:23:24
3078
47
原创 【Golang】第四弹----程序流程控制
Golang----程序流程控制:if-else、switch、for、break、continue
2025-03-13 08:30:00
1063
9
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅