作者: ryan

161 篇文章

Go语言中实现LLM Tool Calling的完整指南
在AI应用开发中,让大语言模型调用外部工具是个很实用的能力。它让AI不再只能生成文字,而能真正完成一些操作。OpenAI提供的Function Calling(函数调用)功能给了我们一个标准接口。 这篇文章会一步步展示如何在Go语言里实现Tool Calling,包含完整的代码示例。 ## 背景介绍 传统AI对话系统只能回复文字,没法执行实际操作。…
Go 语言 AI Agent 实战:实现 Tool Calling 功能
# Go 语言 AI Agent 实战:实现 Tool Calling 功能 在构建 AI 应用时,Tool Calling(工具调用)是让大语言模型真正"行动"起来的核心技术。仅仅是问答生成太受限制了——模型不知道今天几号,不知道股价多少,甚至会一本正经地胡说八道。Tool Calling 让模型可以主动调用我们定义的函数,获取真实数据、执行具体…
使用 Prompt 工程实现 LLM 可靠 JSON 输出实战指南
# 使用 Prompt 工程实现 LLM 可靠 JSON 输出实战指南 在日常开发中,让大语言模型输出结构化的 JSON 数据是基础能力,但很多开发者会遇到这样的问题:模型要么格式错误,要么在 JSON 中添加额外的解释性文本,导致解析失败。本文将详细介绍如何用 Prompt 工程技巧,让主流 LLM 稳定输出正确的 JSON 格式。 ## 一次失…
Go + Qdrant 向量检索实战指南:使用 Go 构建本地语义搜索系统
# 使用 Go 构建本地向量检索系统:Go + Qdrant 实战指南 ## 背景介绍 向量检索是 AI 应用开发中的核心技术。传统的关键词匹配只能做精确匹配,而向量检索通过将文本转换为高维向量,可以在语义空间中找到最相似的内容。这意味着即使用户搜索的 Query 与存储的文档没有共同的词语,只要语义相近,就能被检索到。 Qdrant 是一个用 R…
从零构建个人知识库助手:基于 RAG 的本地文档问答系统实战
# 从零构建个人知识库助手:基于 RAG 的本地文档问答系统实战 ## 背景介绍 在日常工作和学习中,我们会积累大量的文档资料:技术笔记、项目文档、会议记录、阅读笔记等。当这些文档散落在各个角落时,想要快速找到需要的信息就变得困难重重。虽然市面上有各种笔记软件和搜索工具,但它们通常只能进行简单的关键词匹配,无法真正理解我们的查询意图。 近年来,大语…
在Go中实现基于向量数据库的RAG系统:一步步构建本地知识库问答
## 背景介绍 retrieval-augmented generation(检索增强生成,简称RAG)已经成为大模型应用的主流架构。与其让模型从预训练数据中硬编码知识,不如在运行时从外部知识库动态检索相关信息,然后交给大模型生成答案。这种方式有几个明显的好处:知识可以随时更新,不需要重新训练模型;回答可以引用真实的来源;特定领域的问题更容易控制。…
从零构建 RAG 系统:让 AI 回答基于你自己的知识库
# 从零构建 RAG 系统:让 AI 回答基于你自己的知识库 在大语言模型快速发展的今天,很多开发者都面临一个共性问题:如何让 AI 根据特定领域的知识来回答问题?通用模型虽然强大,但在专业领域常常"一本正经地胡说八道"。这时候,RAG(检索增强生成)技术就成了最佳解决方案。 ## 背景介绍 ### 什么是 RAG? RAG 的核心思想是:不让 L…
OpenAI Prompt Caching 完全指南:如何大幅降低 API 调用成本和延迟
如果你经常调用 OpenAI API,应该会发现一个很现实的问题:对话越来越长,响应越来越慢,钱包也越来越空。每次请求都要把之前的上下文重新处理一遍,模型根本不管你之前说过什么。这种重复劳动不仅浪费时间,还浪费钱。 OpenAI 推出的 Prompt Caching(提示缓存)就是来解决这个问题的。把已经处理过的内容缓存起来,后续请求直接复用,不用…
LLM API 实战:用 Python 构建智能问答系统
# LLM API 实战:用 Python 构建智能问答系统 大语言模型火遍全球已经有两年了。GPT、Claude、通义千问这些名字你应该都听过。这些模型能理解自然语言,能生成内容,用来作客服、知识库问答、内容创作都很合适。 直接调 API 是最省事的办法。发个 HTTP 请求就能拿到回复,本文以 OpenAI 兼容 API 为例,手把手教你从零搭…
让LLM稳定输出JSON:结构化提示词实战指南
# 让LLM稳定输出JSON:结构化提示词实战指南 ## 背景介绍 在使用大型语言模型(LLM)进行开发时,我们经常需要让模型输出结构化的数据格式,比如JSON。JSON不仅是程序内部数据交换的标准格式,也是API响应、配置文件、数据存储的基础。然而,直接让LLM输出JSON时,经常会遇到各种问题:输出格式不稳定、混入markdown代码块标记、包…