1、Retrieval模块的设计意义

  • Retrieval直接翻译过来即“检索”,本章Retrieval模块包括与检索步骤相关的所有内容,例如数据的获 取、切分、向量化、向量存储、向量检索等模块。常被应用于构建一个“企业/私人的知识库”,提升大 模型的整体能力。

1.1 大模型的幻觉问题

  • 拥有记忆后,确实扩展了AI工程的应用场景。
  • 但是在专有领域,LLM无法学习到所有的专业知识细节,因此在面向专业领域知识的提问时,无法给出可靠准确的回答,甚至会“胡言乱语”,这种现象称之为LLM的“幻觉”
  • 大模型生成内容的不可控,尤其是在金融和医疗领域等领域,一次金额评估的错误,一次医疗诊断的失误,哪怕只出现一次都是致命的。但,对于非专业人士来说可能难以辨识。目前还没有能够百分之百解决这种情况的方案。
  • 当前大家普遍达成共识的一个方案:
    • 首先,为大模型提供一定的上下文信息,让其输出会变得更稳定。
    • 其次,利用本章的RAG,将检索出来的文档和提示词输送给大模型,生成更可靠的答案。
Read more »

1、理解Agents

  • 通用人工智能(AGI)将是AI的终极形态,几乎已成为业界共识。同样,构建智能体(Agent)则是AI工程应用当下的“终极形态”。

  • 将 AI 和人类协作的程度类比自动驾驶的不同阶段:

Read more »

1、Tools概述

1.1 介绍

  • 要构建更强大的AI工程应用,只有生成文本这样的“纸上谈兵”能力自然是不够的。工具Tools不仅仅是“肢体”的延伸,更是为“大脑”插上了想象力的“翅膀”。借助工具,才能让AI应用的能力真正具备无限的可能,才能从“认识世界”走向“改变世界”。

Read more »

1、Memory概述

1.1 为什么需要Memory

  • 大多数的大模型应用程序都会有一个会话接口,允许我们进行多轮的对话,并有一定的上下文记忆能力。

  • 但实际上,模型本身是不会记忆任何上下文的,只能依靠用户本身的输入去产生输出。

    image-20251018135526548
Read more »

1、Chains的基本使用

1.1 Chain的基本概念

  • Chain:链,用于将多个组件(提示模板、LLM模型、记忆、工具等)连接起来,形成可复用的工作流,完成复杂的任务。
  • Chain的核心思想是通过组合不同的模块化单元,实现比单一组件更强大的功能。比如:
    • LLMPrompt Template(提示模板)结合
    • 将LLM输出解析器结合
    • 将LLM外部数据结合,例如用于问答
    • 将LLM长期记忆结合,例如用于聊天历史记录
    • 通过将第一个LLM的输出作为第二个LLM的输入,…将多个LLM按顺序结合在一起
Read more »

1、Model I/O介绍

  • Model I/O 模块是与语言模型(LLMs)进行交互的 核心组件 ,在整个框架中有着很重要的地位。 所谓的Model I/O,包括输入提示(Format)、调用模型(Predict)、输出解析(Parse)。分别对应着Prompt TemplateModelOutput Parser

  • 简单来说,就是输入、处理、输出这三个步骤。

  • 针对每个环节,LangChain都提供了模板和工具,可以快捷的调用各种语言模型的接口。

Read more »

1、介绍LangChain

1.1 什么是LangChain

  • LangChain是2022年10月,由哈佛大学的Harrison Chase(哈里森·蔡斯)发起研发的一个开源框架,用于开发由大语言模型(LLMs)驱动的应用程序。

    • 比如,搭建“智能体”(Agent)、问答系统(QA)、对话机器人、文档搜索系统等。
    • LangChain的发布比ChatGPT问世还要早一个月,他那时候是怎么发现大模型要火的?
    • 从这个启动日期也可以看出创始人的眼光,这比ChatGPT问世还要早一个月呢,他那时候是怎么发现大模型要火的?占了先机的它迅速获得广泛关注和支持!
Read more »

1、机器学习概述

  • 机器学习(Machine Learning, ML)主要研究计算机系统对于特定任务的性能,逐步进行改善的算法和统计模型。通过输入海量训练数据对模型进行训练,使模型掌握数据所蕴含的潜在规律,进而对新输入的数据进行准确的分类或预测。
  • 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸优化、算法复杂度理论等多门学科。
Read more »

1、Numpy

1.1 什么是numpy

  • numpy是Python中科学计算的基础包。它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/O 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。
  • numpy的部分功能如下:
    • ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。
    • 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。
    • 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。
    • 线性代数、随机数生成以及傅里叶变换功能。
    • 用于集成由C、C++、Fortran等语言编写的代码的API。
Read more »

1、基础知识

1.1 注释

1.1.1 什么是注释

  • 注释是对代码的解释说明。
  • 注释是给程序员看的,在代码执行的时候不起任何作用,不影响程序的结构。

1.1.2 注释的作用

  • 提高代码的可读性。
  • 屏蔽掉暂时不需要的代码。
  • 可以定位程序中出错的位置。
Read more »