Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

大模型粘合剂 Langchain 初识 #56

Open
winterpi opened this issue Oct 26, 2023 · 0 comments
Open

大模型粘合剂 Langchain 初识 #56

winterpi opened this issue Oct 26, 2023 · 0 comments

Comments

@winterpi
Copy link
Owner

winterpi commented Oct 26, 2023

Langchain 的定位

  • 借助 LLM 这个超级工具,快速打造各种实用的应用产品;
  • 可以组合成聊天机器人( chat bot), agent 代理(有思想、能推理的助手)等;

image

Langchain 的功能分类

    1. 核心功能:Model I/O: 统一整合多个 LLM 的调用接口, 辅助 prompts 生成优化等
      model_io-1f23a36233d7731e93576d6885da2750
      细分了 Model I/O 的3个大模块:Format(用 Prompts 封装),Predict(采用 LLM 推理预测),Parse(解析结果输出)
    1. Retrieval Augmented Generation,RAG:使用外部数据增强 ( 如外挂知识库)
      data_connection-c42d68c3d092b85f50d08d4cc171fc25
    1. Chain:链接调用LLM 及其他各种功能;
      -- In chains, a sequences of actions of hardcoded( in code).
      -- 比如采用 同步/异步方式解析 input message 等,按照指定的 sequence 指定 LLM 执行一系列操作等;
    1. Agent 代理的管理,agent 使得 LLM 有决策的能力,确定执行哪些步骤,是否截止等;
      -- In agents, LLMl is used as a reasoning engine to determine which actions to take and in which order.
    1. LLM 的内存管理;
    1. log 管理,效果评价等;

Langchain 调用的两种 LLM:

  • LLM(或者叫语言模型):输入/输出都是 string;调用方式为 LLM.predict(text);
  • ChatModel(或者叫聊天模型):输入是一系列 ChatMessage,输出是一个 message;调用方式为 LLM.predict_message(message);
    • ChatMessage 的定义:必须包含 content,role
    • 现在有4种 role:human/user, AI/assistant, 系统 message, 功能调用 message等;

Langchain 提供的组合表达式:

  • 功能支持:同步/异步、批处理、流式处理、并发、回调等方式;
  • 常用的组合方式,比如:
    • Prompt + LLM:自定义 prompt template,调用 LLM 组装成一个 chatbot;
    • RAG:用 LLM 封装调用 retrieval-augmented 功能,如网络搜索、本地知识库等;
    • Query a SQL DB:执行一个 SQL 命令;
    • 写代码、使用工具等;

References

  1. Langchain docs
  2. Retrieval-augmented generation (RAG)
@winterpi winterpi changed the title 大模型捏合剂 Langchain 初识 大模型粘合剂 Langchain 初识 Oct 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant