结构化数据检索
什么是结构化数据检索
结构化数据检索与文档检索(非结构化数据)的检索思路相似。不同之处在于,结构化数据检索使用的是 text-to-SQL 技术。通过将用户的自然语言输入(文本)转换为数据库查询语言(SQL),从而实现数据检索。
结构化数据检索流程
- 数据获取: 一般通过爬虫的形式从互联网上爬取数据。
- 数据入库: 将爬取到的数据存入到数据库中。
- 定时更新: 通过定时任务定期爬取数据和更新数据。
- text-to-SQL 转换: 用户输入一句话,通过函数调用和大语言模型将这句话转换为 SQL 查询。
- 执行 SQL 查询: 执行 SQL 查询,从数据库中获取查询结果。
- 处理并展示结果: 对查询结果进行处理并展示给用户。
结构化数据检索示例
- 用户输入: "sjsu 2024 年秋季学期的一共有多少课程"
- text-to-SQL 转换: 转换后的 SQL 查询为 "SELECT COUNT(1) FROM 课程表"
- 执行 SQL 查询: 查询结果为 1024
- 展示给用户: 结果为 1024
解释
在结构化数据检索中,核心步骤是将用户的自然语言输入转换为 SQL 查询。这个过程依赖于强大的自然语言处理技术和数据库查询能力。通过上述流程,可以高效地从数据库中检索所需的信息,并以用户友好的方式展示结果。这种方法尤其适用于需要从大量结构化数据中快速提取具体信息的场景。
集成第三方 API
为什么需要集成第三方 API
在处理特定问题时,大型语言模型可能无法直接提供准确的信息。如果模型缺乏所需的数据或资源,例如向量数据库或搜索引擎无法回答的问题,模型可能会生成无根据的回答。为了提升回答的准确性和实用性,可以集成第三方 API,以便实时获取相关信息并提供给用户。
集成第三方 API 示例
1. 用户输入查询
用户输入例如“天气怎么样”的查询。
2. 识别用户意图
系统识别用户的意图是查询天气,并在对话中增加天气查询功能(Function Call)。
3. 自动收集信息
大模型会反问用户以获取必要的信息,例如城市和时间。这个过程可以是多轮对话,以确保获取到所有必需的查询参数。
4. 调用天气查询 API
在收集到用户的完整信息后,系统会调用天气查询的 API 接口进行数据检索。
5. 处理结果并展示
获取到天气查询结果后,系统将对结果进行处理,并以用户友好的方式展示给用户,例如提供当前天气情况、未来几天的天气预报等。
示例流程图
- 用户输入查询 → 2. 识别意图并增加功能 → 3. 自动询问并收集信息 → 4. 调用第三方 API → 5. 处理和展示结果
通过这种方式,集成第三方 API 能够使系统在无法直接回答问题时,通过调用外部资源提供更准确的信息。
