LangChain知识点总结 |豆包MarsCode AI刷题

63 阅读3分钟

LainChain

是什么

LangChain是一个基于大语言模型(LLMs)用于构建端到端语言模型应用的框架,它可以让开发者使用语言模型来实现各种复杂的任务,例如文本到图像的生成、文档问答、聊天机器人等。

LangChain提供了一系列工具、套件和接口,可以简化创建由LLMs和聊天模型提供支持的应用程序的过程。

  • 主要组件:
    • Models=>模型,各类型的模型和模型的集成,eg:GPT-4
    • Prompts=>提示
    • Memory=>记忆,保存和模型交互时的上下文状态
    • Indexes=>索引,用来结构化文档,以便和模型交互
    • Chains=>链,对各种组件进行调用
    • Agents=>代理,决定模型采取哪些行动,执行并观察流程,直到完成为止
  • 使用场景
    • 个人助手
    • 输入标题问答系统
    • 聊天机器人
    • 表格数据查询
    • 文档总结
    • API交互
    • 信息提取

模型

模型,位于LangChain框架的最底层,它是基于语言模型构建的应用的核心元素,因为所谓LangChain应用开发,就是以LangChain作为框架,通过API调用大模型来解决具体问题的过程。

Model I/O

对模型的使用过程拆解成三块,分别是输入提示(对应图中的Format)、调用模型(对应图中的Predict)和输出解析(对应图中的Parse)。这三块形成了一个整体,因此在LangChain中这个过程被统称为 Model I/O(Input/Output)。

  1. 提示模板:使用模型的第一个环节是把提示信息输入到模型中,你可以创建LangChain模板,根据实际需求动态选择不同的输入,针对特定的任务和应用调整输入。
  2. 语言模型:LangChain允许你通过通用接口来调用语言模型。这意味着无论你要使用的是哪种语言模型,都可以通过同一种方式进行调用,这样就提高了灵活性和便利性。
  3. 输出解析:LangChain还提供了从模型输出中提取信息的功能。通过输出解析器,你可以精确地从模型的输出中获取需要的信息,而不需要处理冗余或不相关的数据,更重要的是还可以把大模型给回的非结构化文本,转换成程序可以处理的结构化数据。

提示工程(Prompt Engineering)

Prompt(提示词)即发送给大模型的指令。

  • Prompt组成成分

    • 指令:想要模型执行的特定任务或指令
    • 上下文:包含外部信息或额外的上下文信息,引导语言模型更好的响应
    • 输入数据:用户输入的内容或问题
    • 输出指示:指定输出的类型或格式
  • 从Prompt的内容和形式可分为

    • 零样本提示(Zero-shot prompts)
    • 少样本提示(Few-shot prompts)
  • 思维链(Chain of Thoughts,CoT):在样本中添加思维链
  • LTM(Least-To-Most Promoting):为了提高泛化能力
  • 思维树(Tree of Thoughts,ToT):将问题划分成多个子问题
  • Prompt攻击与防范