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

net和cn哪个做网站好wordpress企业主题 视频

net和cn哪个做网站好,wordpress企业主题 视频,阅读网站模板,wordpress自定义注册插件LangChain 1 基本概念 1.1 langchain是什么 langchain是一个用于开发由大型语言模型 (LLMs) 驱动的应用程序的框架,方便用户快速构建本地应用。 如图为langchain开发生态,其主要由以下部分组成: langchain-core: 基础抽象和LangChain表达…

LangChain

1 基本概念

1.1 langchain是什么

langchain是一个用于开发由大型语言模型 (LLMs) 驱动的应用程序的框架,方便用户快速构建本地应用。

在这里插入图片描述

如图为langchain开发生态,其主要由以下部分组成:

  • langchain-core: 基础抽象和LangChain表达式 (LCEL)。
  • langchain-community: 第三方集成。
  • 合作伙伴库(例如 langchain-openailangchain-anthropic 等):一些集成已进一步拆分为自己的轻量级库,仅依赖于 langchain-core
  • langchain: 组成应用程序认知架构的链、代理和检索策略。
  • LangGraph: 通过将步骤建模为图中的边和节点,构建强大且有状态的多参与者应用程序。与LangChain无缝集成,但也可以单独使用。
  • LangServe: 将LangChain链部署为REST API。
  • LangSmith: 一个开发者平台,让您调试、测试、评估和监控LLM应用程序。

1.2 langchain的开发环境

langchain 的核心是 langchain-core 和 langchain,如果用到一些社区功能,还要加上 langchain-community,搭建 Agent 用的是 langgraph,监控使用的是langsmith。

pip install langchain-core langchain langchain-community langgraph langsmith

2 基础知识

2.1 LLM的加载

langchain支持多种不同平台LLM的API调用,模型皆为会话模型,命名都以前缀且Chat-开始。支持模型详见:Chat models | ️ LangChain

2.1.1 显示加载

安装官方所支持的对应依赖包(如:langchain-openai,langchain-deepseek,langchain-qwq),提供显式的调用。具体如下:

from langchain_deepseek import ChatDeepSeek
# api-key已配置为环境变量,提供后默认的base_url
llm = ChatDeepSeek(model="deepseek-chat")
from langchain_qwq.chat_models import ChatQwen
# 此处我提供的api-key是阿里百炼平台,与源码的base_url不同,所以我进行了重新赋值
llm = ChatQwen(model="qwen-plus", base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")

支持openAI接口的都可以使用ChatOpenAI调用。

2.1.2 统一加载

langchain核心也提供了统一的加载方式,进行动态加载。

from langchain.chat_models import init_chat_model
llm = init_chat_model(model_provider="deepseek", model="deepseek-chat")# qwen的加载使用openai的接口,需提供新的访问地址base_url,否则默认为openai访问地址,model_provider不支持qwq,但百炼平台支持openai接口
llm = init_chat_model(model_provider='openai', model='qwen-plus', base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")

v0.3版本支持的model_provider如下所示:

在这里插入图片描述

2.1.3 加载方式对比

对比维度方式1方式2
依赖来源langchain_{deepseek} 包langchain 核心模块 + langchain_{对应}包
扩展性仅支持 DeepSeek支持多厂商(如 OpenAI、Anthropic)
配置灵活性参数硬编码,仅使用 DeepSeek,无法切换模型参数可通过 model_provider 动态传递,支持加载配置字典切换模型
代码简洁性需要显式导入类,代码直观,依赖简单。一行代码完成初始化,代码可维护性强,符合 LangChain 最佳实践
错误处理需手动实现内置异常处理
默认参数需手动指定厂商级默认配置

2.2 流式输出

2.2.1 invoke 与 stream 的区别

invoke(同步调用)

**行为:**一次性等待模型生成完整响应后返回结果。

**特点:**阻塞式调用,需等待全部结果生成后才能处理。适用于非实时场景(如批量处理、离线任务)。

示例如下:

  response = llm.invoke("请解释相对论")  # 等待整个回答生成后返回print(response)  # 一次性输出完整回答

stream(流式调用)

**行为:**逐步迭代模型生成的响应块(chunk),按需处理。

**特点:**非阻塞式调用,实时获取部分结果。适用于实时交互场景(如聊天机器人逐字输出、进度条)。

示例如下:

stream = llm.stream("请解释相对论")
for chunk in stream:  # 逐步接收生成的内容print(chunk, end="", flush=True)  # 逐字/逐句显示输出 end="":除"\n"外不换行   flush=True:不进行缓存,强制输出

2.3 提示词模板

langchain支持使用提示词模板来完成大模型的交互

llm = ChatQwen(model="qwen-plus", base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")from langchain_core.prompts import ChatPromptTemplate
# 提示词模板,支持模板填空
prompt_template = ChatPromptTemplate.from_messages([("system", "You are a helpful assistant that translates {input_language} to {output_language}."),("human", "{text}"),
])
# 模板的invoke用来填空
prompt = prompt_template.invoke({"input_language": "English", "output_language": "Chinese", "text": "I love programming."})
# 模板输入llm
reponse = llm.invoke(prompt)
print(reponse.content)
---------------------------------
我热爱编程。

2.4 定制参数

Langchain支持传入更多的定制参数,如temperate,top_k等。

llm = ChatQwen(model="qwen3-32b",temperature=0,              # 控制生成文本的随机性,范围[0,2)之间的参数,越大越随机max_tokens=None,            # 限制模型单次生成的最大 token 数量timeout=None,               # 设置单次 API 请求的超时时间(单位:秒)max_retries=2,              # 设置失败请求的自动重试次数。enable_thinking=True,       # 启用模型的深度思考模式(推理优化)thinking_budget=100,        # 设置深度思考模式下的预算(单位:token 或计算量)值越大,模型分配的推理资源越多,复杂任务成功率更高。# api_key="...",# other params...)
http://www.dtcms.com/a/491214.html

相关文章:

  • 石家庄网站排名优化360网站建设服务
  • 苍穹外卖-购物车 前端修改(小程序主页与购物车模块显示不一致)
  • 聊聊 Unity(小白专享、C# 小程序 之 小算盘、计算器)
  • 江苏金安建设公司网站在线设计平台官网
  • 专业网站建设公司哪里济南兴田德润什么活动电子商务网站的整个建设流程
  • 【2025年湖南省赛misc复盘】
  • 北京建设教育协会官方网站做产品推广得网站
  • 牙刮匙与牙周治疗疗效的相关性分析
  • 三星XR头显发布会正式敲定,苹果/Meta/微美全息竞逐AR底层核心卡位“军备竞赛”
  • 【C++进阶系列】:类型转换和IO流
  • 卡板技术支持 东莞网站建设动态设计是什么意思
  • 宠物服务平台(程序+文档)
  • Maven再次认识
  • 【STM32项目开源】基于STM32的智能厨房环境监控系统
  • 策略模式详情
  • 省级网站 开发建设 资质企业员工培训课程
  • VS Code settings.json配置(终端篇)
  • 好看的静态网站网页制作设计教程
  • Spring Boot API文档与自动化测试详解
  • 哈尔滨龙彩做网站多少钱做网站怎么样引流
  • Redis实战篇---添加缓存(店铺类型添加缓存需求)
  • 泸州百拓网站建设英文网站数据库如何建设
  • 河北电子商务网站建设互联网营销策略有哪些
  • 苏州专业网站设计制作公司湛江企业网站怎么建设
  • Linux Docker部署Dify使用shell脚本关闭和开启服务
  • 四川省建设信息网站从点点博客搬家到wordpress
  • 国家变电站声纹监测设备需求总结
  • Python读取Nacos配置时如何设置命名空间
  • 深入网站开发和运维 pdf网站开发文本编辑器
  • ros2—交叉编译ros bridge自定义消息