当前位置: 首页 > news >正文

Langchain组件

核心组件概览

LangChain 作为强大的大语言模型开发框架,包含多个关键组件类别,协同工作以实现复杂的自然语言处理任务。这些组件涵盖模型处理、提示设计、数据管理、工作流构建等多个方面。

每个组件类别都有其独特的功能和应用场景,它们相互配合,为开发者提供了高效构建智能应用的工具集。

组件分类说明

  • 模型组件:负责与大语言模型进行交互,处理文本生成、嵌入向量转换等基础任务。
  • 提示和解析器组件:用于设计与模型交互的输入和处理模型输出,引导模型生成符合预期的内容。
  • 记忆组件:实现对话和任务中的上下文记忆功能,提升模型对前后信息关联的理解能力。
  • 数据连接组件:从多种数据源加载、处理和检索数据,为模型提供丰富的信息输入。
  • 链组件与 LangChain 表达式语言组件:构建复杂任务的工作流,实现模块化和高效的应用开发。
  • 工具组件与代理组件:扩展模型能力,使其能够调用外部工具,完成复杂任务并适应不同应用场景。

模型组件

            使用提供的ChatOpenAI可以初始化与deepseek的llm实例

#!/usr/bin/env python3
# -*- coding:utf-8 -*-from langchain_openai import ChatOpenAIllm = ChatOpenAI(model="deepseek-chat",base_url="https://api.deepseek.com",api_key="you api_key",max_tokens=8192,temperature=0.7,timeout=120,streaming=False,model_kwargs={"response_format": {'type': 'json_object'}})
result = llm.invoke("你好")
print(result)

提示和解析器组件

        负责将用户输入转换为模型能够理解的指令。它支持添加系统消息,开发者可以通过精心设计系统消息,调整模型的响应方式,引导模型生成符合特定要求和风格的回答,使模型输出更具针对性和实用性。

DEMAND_TO_TESTCASE_PROMPT = PromptTemplate(input_variables=["demand_text"],template="""""")

消息

用于构建聊天模型的输入,包含 AIMessage、HumanMessage、SystemMessage 等不同类型。每种类型明确了不同角色的消息格式,有助于聊天模型准确理解对话角色和上下文,从而生成更合理的回复,保证对话逻辑的连贯性。

from langchain_core.messages import HumanMessage
from langchain_openai import ChatOpenAIllm = ChatOpenAI(model="deepseek-chat",base_url="https://api.deepseek.com",api_key="you api_key",max_tokens=8192,temperature=0.7,timeout=120,streaming=False,model_kwargs={"response_format": {'type': 'json_object'}})
messages = [HumanMessage(content="你好")]
result = llm.invoke(messages)
print(result)

记忆组件(Memory)

支持短期和长期记忆,允许在任务或会话中存储和检索信息。它提供了丰富的集成选项,可以与多种内存和数据库存储方式结合,极大地增强了模型的上下文理解能力,使模型能够在不同场景下灵活应用记忆功能。

用来保存用户输入和ai回复,提供多轮对话支持

链组件(Chains)

链组件可以将应用工作流中的多个逻辑步骤组合成链,以模块化和可重用的方式构建应用。通过这种方式,开发者可以将复杂的任务拆分为多个简单的步骤,并按照一定的顺序进行组合,实现复杂的业务逻辑,提高开发效率和代码的可维护性。

可以把上一步的输出当做下一步的输入

代理组件(Agents)

        根据输入选择合适的工具进行调用,并在工具调用完成后输出最终结果。其提示已针对工具调用进行了优化,能够智能地判断任务需求,选择最适合的工具来完成任务,实现复杂任务的自动化处理。

deepseek支持Function Calling,在请求参数附带工具列表。以及用户输入,会根据用户输入来调用工具并返回工具执行结果

http://www.xdnf.cn/news/220897.html

相关文章:

  • 高级前端面试题:基于2025年最新技术体系
  • TS学习指南
  • 人工智能和机器学习在包装仿真中的应用与价值
  • MQTT - Android MQTT 编码实战(MQTT 客户端创建、MQTT 客户端事件、MQTT 客户端连接配置、MQTT 客户端主题)
  • Python列表全面解析:从基础到高阶操作
  • 域名转移:什么是转移码/EPP码/授权码?
  • 基于蓝耘MaaS平台进行api调用创建本地智能ai
  • 代码随想录第39天|leetcode198.打家劫舍、leetcode213.打家劫舍II 、leetcode337.打家劫舍III
  • 4月29日日记
  • 【浙江大学DeepSeek公开课】DeepSeek的本地化部署与AI通识教育之未来
  • 高等数学-第七版-下册 选做记录 习题9-5
  • 【记】Laya2.x数字末尾导致换行异常问题
  • Promtail+Loki+Grafana监控日志
  • AD系列:Windows Server 2025 搭建AD域控和初始化
  • 一文读懂 JavaScript 中的深浅拷贝
  • IEC61499编程方式与传统PLC编程方式比较
  • 生态修复项目管理软件
  • RPCRT4!NdrpEmbeddedPointerMemorySize函数分析之第二次循环
  • 应急演练考试排查-WebSever03
  • P5633 最小度限制生成树
  • Linux环境变量以及进程虚拟地址原理
  • DVWA靶场保姆级通关教程---02命令注入
  • 5.4.2 MVVM例2-用户控件的使用(水在水管中流动的实例)
  • 路径规划算法总结:从 Dijkstra 到 A* 与 Hybrid A
  • GUI_DrawPixel 函数详解
  • BalenaEtcher 2.1镜像烧录工具软件下载及安装教程
  • Vite性能优化指南 ✅
  • 强化学习(二)马尔科夫决策过程(MDP)
  • java AsyncTool
  • ACTF2025 - WEB Excellent-Site