自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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】第十一弹------反射

Go反射

2025-03-30 19:15:56 1736 33

原创 【Golang】第十弹----单元测试、go协程和管道

Go单元测试、goroutine、channel

2025-03-30 14:36:26 5117 71

原创 【Goalng】第九弹-----文件操作、JSON处理

Go文件操作、json序列化、flag解析命令行参数

2025-03-29 11:44:48 1324 36

原创 【Golang】补充:占位符、转义字符、错误处理

补充一些之前没提到的基础知识点:占位符和转义字符

2025-03-25 23:57:21 1723 21

原创 【Golang】第八弹----面向对象编程

一篇搞定GO面向对象编程特性、结构体、方法、封装、继承、多态

2025-03-25 00:35:35 2688 57

原创 【Golang】第七弹----map

Go语言中的 map 是一种无序的键值对集合,类似于其他语言中的字典或哈希表。它通过键(key)来快速查找对应的值(value),键必须是唯一的,而值可以重复。

2025-03-23 17:23:24 3078 47

原创 【Golang】第六弹----数组与切片

Go数组与切片

2025-03-18 08:00:00 1287 23

原创 【Golang】第五弹----函数

Go函数篇;init函数、匿名函数、字符串函数、日期函数、内置函数,闭包处理、defer机制

2025-03-13 23:33:25 1905 25

原创 【Golang】第四弹----程序流程控制

Golang----程序流程控制:if-else、switch、for、break、continue

2025-03-13 08:30:00 1063 9

原创 【Golang】第三弹----运算符

Go运算符

2025-03-12 18:04:46 1391 2

原创 【Golang】第二弹-----变量、常量、基本数据类型、标识符

Goalng变量、常量、iota、基本数据类型、标识符

2025-03-12 12:38:33 1529 4

原创 【Golang】第一弹-----初步认识GO语言

初步认识go语言

2025-03-07 23:06:44 1381 1

原创 MySQL第四弹----数据库约束和数据库设计

数据库约束和数据库设计

2025-01-01 21:34:02 2642 32

原创 javaIO流

javaIO流

2025-01-01 17:42:28 1473 25

原创 MySQL第三弹----函数

MySQL常用函数:统计行数,字符串函数、数字相关函数、日期函数

2024-12-29 23:14:37 1414 9

原创 MySQL第二弹----CRUD

修改表,C[create]R[read]U[update]D[delete]语句

2024-12-29 16:55:28 1245 6

原创 【MySQL】第一弹----库的操作及数据类型

MySQL创建、删除、备份恢复库、表,数据类型

2024-12-28 23:54:29 1202 3

原创 java常用类(下)

Math类、Arrays类、System类、BigInteger类和BigDecimal类,以及三代日期类

2024-12-28 17:29:34 1387 5

原创 java常用类(上)

详细地讲解了包装类,String类、StringBuffer类、StringBuilder类

2024-12-26 19:59:03 1216 19

原创 java异常处理

java异常处理

2024-12-26 08:00:00 1745 3

原创 枚举与注解

枚举、注解

2024-12-24 23:57:45 589 5

原创 MySQL的安装与配置(2025年最新版)

MySQL安装与卸载,以及current root password的解决方案

2024-12-24 14:35:49 7043 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除