# 向量数据库面试指南与技术解析
这篇文章是一篇关于向量数据库的面试经验分享和技术解析。系统地解释了向量数据库的核心概念、技术原理、选型建议和应用场景。
## 1. 核心定义
- **定义**:向量数据库是专门用于存储和检索**高维向量**的数据库。其核心能力是**近似最近邻搜索**,能够在大规模向量集合中快速找到与查询向量最相似的几个结果。
- **与普通数据库的本质区别**:
- **普通数据库**(如 MySQL):擅长处理精确匹配查询。
- **向量数据库**:擅长处理**语义相似性**搜索。它通过计算向量在**高维空间中的距离**来衡量内容的相似度,从…
# Function Calling 技术总结
## 1. 定义
Function Calling 是一种机制,允许开发者通过 JSON schema 向大语言模型(LLM)描述可用的外部工具(如 API)。当模型判断需要调用工具来回答用户问题时,它输出结构化的 `tool_calls` JSON 数据,指明要调用的函数名和参数。宿主程序解析并执行这个调用,将结果返回给模型,模型再生成最终答案。
## 2. 核心原理与解决的问题
- **本质**: “两轮对话 + 中间执行”的闭环。第一轮模型决策并输出工具调用请求;中间代码执行工具;第二轮模型基于执行结果生成最终答案。
- …
# AI面试题二:如何确保大语言模型(LLM)调用工具是可靠的
如何确保大语言模型(LLM)在工具调用时能可靠、可控地工作,而不仅仅是依赖提示词来“说服”模型。需要系统性地给出了一个多层级的约束框架。
如查询天气的例子,模型在工具调用中常见的三种“瞎编”行为:
1. **不调用工具,直接虚构答案**。
2. **调用工具时传递格式错误的参数**(如工具不支持“后天”,却传参`date="后天"`)。
3. **自作主张转换参数格式**(如擅自将“后天”转为具体日期),即使工具没有此要求。
问题的根源在于模型输出本质上是**概率性的**,提示词只是在概率分布上施加“…
# Agent工具调用与普通函数调用的区别总结
本文主要讨论了Agent工具调用与普通函数调用的核心区别,并详细阐述了Agent工具调用的机制、价值、常见失败模式及应对策略。
## 核心区别总结
普通函数调用是**编译时确定、同步、确定性的**,由程序员在代码中显式指定调用时机、参数和错误处理逻辑。而Agent工具调用是**运行时决策、异步、带有不确定性的**,由大语言模型(LLM)根据用户输入和上下文动态推理决定是否调用、调用哪个工具以及传递什么参数。
## Agent工具调用的核心机制与价值
- **为什么需要**:为了突破LLM的知识截止日期、无法精确计算和…