前面我的bert+lora微调已经跑出了不错的结果,我也学会了如何在bert上使用Lora进行微调,我后续会补充一个医疗意图识别的项目于这个系列,现在这个医疗意图识别代码还暂时不准备公开。我就继续按照我的计划学习一番LangChain。

        LangChain是一个用于构建语言模型应用程序的框架。 LangChain提供了多个模块来简化开发和集成语言模型的过程。以下是 LangChain 的七个主要模块及其详细介绍:

1. LLMs (Language Models)

  • 功能: 这个模块处理与各种语言模型的交互。你可以使用它来加载预训练的语言模型,或者自定义和训练自己的模型。
  • 核心组件:
    • LLM: 用于封装语言模型的基类。
    • OpenAI: 对接 OpenAI 的模型(如 GPT-3, GPT-4)。

2. Prompts

  • 功能: 用于生成和管理提示(prompts),以便有效地与语言模型进行交互。提供了构建和优化提示的工具。
  • 核心组件:
    • PromptTemplate: 用于定义和格式化提示模板。
    • PromptChain: 用于管理多个提示的链式处理。

3. Agents

  • 功能: 允许创建智能代理(agents),这些代理可以处理复杂的任务和对话,并决定如何调用不同的工具或模型。
  • 核心组件:
    • Agent: 处理任务和对话的智能代理。
    • AgentExecutor: 执行代理任务的类。

4. Chains

  • 功能: 用于将多个组件(如提示、模型、数据)连接在一起,以实现更复杂的工作流和数据处理管道。
  • 核心组件:
    • Chain: 基类,用于创建链式工作流。
    • SequentialChain: 按顺序执行多个步骤的链。

5. Memory

  • 功能: 用于管理和存储会话中的信息,以便在对话中保持上下文和状态。
  • 核心组件:
    • Memory: 用于存储和检索会话信息。
    • ConversationBufferMemory: 专门用于对话的缓冲记忆。

6. Tools

  • 功能: 提供了一些工具和功能,用于扩展语言模型的能力,如数据检索、处理和转换。
  • 核心组件:
    • Tool: 基类,用于定义各种工具。
    • APITool: 对接外部API的工具。

7. Callbacks

  • 功能: 提供了回调功能,用于在模型运行过程中进行日志记录、监控和其他自定义操作。
  • 核心组件:
    • CallbackHandler: 用于处理和管理回调操作。
    • Logger: 记录模型运行的日志信息。

LangChain的demo使用方法:

from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage, SystemMessage

"""
api_key = ""
api_base = ""
model_name = ""
"""

chat = ChatOpenAI(
    model="yi-spark",
    temperature=0.3,
    max_tokens=200,
    api_key='',
    base_url=""
)

messages = [
    SystemMessage(content="你是一名精通 python 的专家"),
    HumanMessage(content="写一个  python 的 hello world 程序"),
]

response = chat.invoke(messages)

print(response.content)

这是运行的结果:

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部