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

中华人民共和国程序员

简介langchain中提供的chain链组件能够帮助我门快速的实现各个组件的流水线式的调用和模型的问答Chain链的组成根据查阅的资料langchain的chain链结构如下$$Input \rightarrow Prompt \rightarrow Model \rightarrow Output$$其中langchain框架提供了几个常用构建chain链的工具工具名称 作用 流程RunnablePassthrough 传递原本的数据或添加新的字段 $$A-B$$RunnableParallel 并发输出结果并将结果同时传递 $$A,B-C$$RunnableLambda 自定义传递工具乍一看很疑惑我接下来用案例来解释各种用法。构建较为复杂的chain链这个案例几乎用了上面所有工具用于演示用法案例案例描述输入论文的话题写一篇950字的高中论文。import osfrom langchain_community.chat_models.tongyi import ChatTongyifrom langchain_core.prompts import ChatPromptTemplatefrom langchain_core.output_parsers import StrOutputParserfrom langchain_core.runnables import RunnablePassthrough, RunnableParallel#你的qwen模型apikeyos.environ[DASHSCOPE_API_KEY] apikeymodel ChatTongyi(modelqwen-max)outline_prompt ChatPromptTemplate.from_template(请给主题为 {topic} 的议论文写一个 总-递进-总 的简短大纲一共分为5段。)outline_chain outline_prompt | model | StrOutputParser()def mock_search(input_data):return 1. 利Google Health AI 筛查乳腺癌准确率超人类。2. 利AlphaFold 预测蛋白质结构缩短科研周期。3. 弊GPT-4 普及导致初级文案、原画设计岗位萎缩。4. 弊Deepfake 技术被用于电信诈骗和虚假视频。output_prompt ChatPromptTemplate.from_template(你是一位高考作文专家。请基于大纲\n{outline}\n并结合以下案例素材\n{data}\n就主题【{topic}】写一篇高考论文。要求950字左右论证严密文采斐然。)output_chain output_prompt | model | StrOutputParser()complex_chain (RunnableParallel({outline: outline_chain,data: mock_search,topic: RunnablePassthrough()})| output_chain)topic_input AI 进步的利与弊在智能时代保持人类的温度print(f正在为您撰写关于《{topic_input}》的论文...\n)final_essay complex_chain.invoke({topic: topic_input})print(final_essay)代码解释其他的代码我上期解释了这里就不废话了我着重讲chain链的构建总体chain链的流程如下输入话题-获取写作的大纲 ──╮├─? 根据大纲和示例写一篇论文查询相关的示例 ──╯根据输入流程图流程我们个以分解成一个个相关的链再将各个链串起来。构建各部分的链1.获取写作大纲outline_prompt ChatPromptTemplate.from_template(请给主题为 {topic} 的议论文写一个 总-递进-总 的简短大纲一共分为5段。)outline_chain outline_prompt | model | StrOutputParser()流程描述构建prompt-喂给ai-将返回解析成文本这里用的ChatPromptTemplate.from_template和上的ChatPromptTemplate.from_messages不同区别在于前者比较简单相当于后者直接用user字典的形式后者from_messages有langchain框架提供的prompt模板2.查询相关的示例这里就直接用Geminimock一些模拟数据不保证真用于完成案例实际情况可以自己完善搜索逻辑。def mock_search(input_data):return 1. 利Google Health AI 筛查乳腺癌准确率超人类。2. 利AlphaFold 预测蛋白质结构缩短科研周期。3. 弊GPT-4 普及导致初级文案、原画设计岗位萎缩。4. 弊Deepfake这个相当于RanableLamda,后面可以不用显示调用RanableLamda(mock_search)3. 根据大纲和示例写一篇论文output_prompt ChatPromptTemplate.from_template(你是一位高考作文专家。请基于大纲\n{outline}\n并结合以下案例素材\n{data}\n就主题【{topic}】写一篇高考论文。要求950字左右论证严密文采斐然。)output_chain output_prompt | model | StrOutputParser()流程描述构建prompt-喂给ai-将返回解析成文本将各个链连起来complex_chain (RunnableParallel({outline: outline_chain,data: mock_search,topic: RunnablePassthrough()})| output_chain)这里利用RunnableParallel将获取写作的大纲和查询相关的示例两个流程并列运行后一起输出到后面传递给output_chain继续处理。问题我不想利用RunnableParallel行不行 当然可以可以用线性来代替先查资料后写大纲然后再进行文章输出但是效率可能会比较慢。我希望看到输出的data和outline字段怎么办 可以利用RunnablePassthrough().assign将生成的文本保存在新的字段中调用时根据字典的方式定位各个文本如下complex_chain (RunnableParallel({outline: outline_chain,data: mock_search,topic: RunnablePassthrough()})| RunnablePassthrough().assign(essayoutput_chain))print(response[essay])print(response[data])......檬揪探挖

相关文章:

中华人民共和国程序员

简介 langchain中提供的chain链组件,能够帮助我门快速的实现各个组件的流水线式的调用,和模型的问答 Chain链的组成 根据查阅的资料,langchain的chain链结构如下: $$Input \rightarrow Prompt \rightarrow Model \rightarrow Outp…...

PHP 8.9命名空间隔离机制深度解析(RFC #9121未公开的3个ABI断裂点)

更多请点击: https://intelliparadigm.com 第一章:PHP 8.9命名空间隔离机制的演进背景与设计目标 PHP 8.9 并非官方发布的正式版本(截至 PHP 官方最新稳定版为 8.3),但作为社区前瞻性技术推演,该假想版本聚…...

智能体系统构建:剖析机制与BDI模型实践

1. 智能体剖析:构建自主决策系统的核心要素在人工智能领域,智能体(Agent)的设计与实现一直是个复杂而富有挑战性的课题。作为一名长期从事AI系统开发的工程师,我发现许多项目在初期往往过分关注算法优化,而…...

强化学习在数学推理中的应用与优化

1. 项目背景与核心价值数学推理一直是人工智能领域最具挑战性的研究方向之一。传统基于规则的系统虽然在特定领域表现优异,但面对复杂、开放的数学问题时往往捉襟见肘。最近几年,我们团队尝试将强化学习技术引入数学推理领域,意外发现这种&qu…...

从Laravel单体到Swoole+Consul+Seata微服务集群:一家年GMV 47亿电商的PHP订单分布式迁移全路径(含架构图与踩坑时间线)

更多请点击: https://intelliparadigm.com 第一章:从Laravel单体到分布式订单系统的演进动因与全局视图 随着电商业务规模突破百万级日订单,原有基于 Laravel 构建的单体架构在高并发写入、数据库连接池耗尽、部署耦合及故障扩散等方面持续承…...

告别命令行:JenkinsExploit-GUI图形化漏洞利用工具保姆级安装与避坑指南

JenkinsExploit-GUI:图形化漏洞检测工具全平台安装实战手册 在网络安全领域,Jenkins作为广泛使用的持续集成工具,其安全性一直备受关注。传统漏洞检测工具往往需要使用者具备扎实的命令行操作能力,这让许多刚入门的安全研究人员或…...

xonsh:用Python语法编写Shell脚本,提升命令行工作效率

1. 项目概述:当Shell遇见Python如果你和我一样,日常在终端里敲敲打打,那么对Bash、Zsh这些Shell一定不陌生。它们强大,但也常常让人头疼——复杂的语法、晦涩的管道、还有那些为了完成一个简单任务而不得不写的冗长脚本。有没有一…...

Fast-GitHub:国内开发者必备的GitHub加速插件终极指南

Fast-GitHub:国内开发者必备的GitHub加速插件终极指南 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 你是否经常因为G…...

ChatGPT Images 2.0教育实测:课件试卷一张图搞定,7大场景全颠覆!

近日,教育圈出现了一件大事儿——OpenAI正式发布图像生成与编辑模型ChatGPT Images 2.0,并在ChatGPT及API服务中全量上线。这款被CEO阿尔特曼评价为"一次性从GPT-3直接跳跃到GPT-5"的"超级神器",正在引发一场教育行业的效…...

FreeMove终极指南:三步解决C盘爆满,轻松迁移目录不损坏程序

FreeMove终极指南:三步解决C盘爆满,轻松迁移目录不损坏程序 【免费下载链接】FreeMove Move directories without breaking shortcuts or installations 项目地址: https://gitcode.com/gh_mirrors/fr/FreeMove 你是否也遇到过C盘空间告急的烦恼&…...

AXI实战避坑指南:手把手处理Narrow传输、非对齐地址与WSTRB的协同工作

AXI实战避坑指南:手把手处理Narrow传输、非对齐地址与WSTRB的协同工作 在芯片设计领域,AXI总线协议因其高性能和灵活性已成为事实上的标准。然而,正是这种灵活性带来了工程实现中的诸多挑战——当Narrow传输、非对齐地址和WSTRB信号这三个特性…...

claw-relay:嵌入式物联网消息中继框架的设计与实战

1. 项目概述与核心价值最近在折腾一些硬件项目,特别是涉及到多个微控制器(MCU)或者传感器网络时,一个绕不开的痛点就是设备间的可靠通信。你可能遇到过这样的场景:一个Arduino Uno负责采集环境数据,一个ESP…...

语义稀疏KV缓存优化视频质量评估VDE实践

1. 项目背景与核心价值 在视频处理领域,我们经常面临一个经典矛盾:既要保证视频质量评估的准确性,又要控制计算资源的消耗。传统方法往往需要在两者之间做出妥协,直到我遇到了语义稀疏KV缓存算法与视频质量评估VDE这套组合方案。 …...

手把手教你学 Simulink——基于 Simulink 的 智能四驱扭矩分配与能效优化

目录 手把手教你学 Simulink 一、引言:从“整体驱动”到“分布式驱动”——为什么需要智能扭矩分配? 二、被控对象:车辆动力学模型 A. 三自由度自行车模型(Simulink 实现) 三、控制架构:分层式设计 四、Step 1:上层控制器设计 A. 纵向控制器(PID) B. 横摆控制器…...

基于Supabase与pgvector构建企业级RAG智能问答系统实战

1. 项目概述:从零构建一个基于文档的智能问答系统 最近在做一个很有意思的尝试:如何快速地把一堆静态文档(比如公司内部Wiki、产品手册、个人笔记)变成一个能“对话”的智能助手?想象一下,你上传一份产品说…...

自建免费AI搜索技能:基于SearXNG与Firecrawl的Agent联网方案

1. 项目概述:一个免费、可自部署的Web搜索技能最近在折腾AI Agent和智能助手,发现一个挺普遍的需求:让AI能联网搜索。市面上方案不少,但要么收费,要么限制多,要么就是得自己从零开始搭一套复杂的爬虫和解析…...

ngx_event_find_timer

1 定义 ngx_event_find_timer 函数 定义在 ./nginx-1.24.0/src/event/ngx_event_timer.cngx_msec_t ngx_event_find_timer(void) {ngx_msec_int_t timer;ngx_rbtree_node_t *node, *root, *sentinel;if (ngx_event_timer_rbtree.root &ngx_event_timer_sentinel) {r…...

3步掌握猫抓Cat-Catch:浏览器资源嗅探的终极效率革命

3步掌握猫抓Cat-Catch:浏览器资源嗅探的终极效率革命 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在数字内容无处不在的时代&#x…...

Unity游戏自动翻译终极指南:XUnity.AutoTranslator深度解析与实战应用

Unity游戏自动翻译终极指南:XUnity.AutoTranslator深度解析与实战应用 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 在全球化的游戏市场中,语言障碍常常成为玩家体验外语游戏的最…...

手把手教你用Flutter 3.0构建一个高仿抖音APP

手把手教你用Flutter 3.0构建高仿抖音APP 在短视频风靡全球的今天,抖音作为行业标杆,其流畅的交互和精美的UI吸引了无数开发者学习模仿。本文将带你用Flutter 3.0从零开始实现一个高仿抖音APP,涵盖核心功能如视频播放、滑动切换和点赞互动&a…...

Windows下安装 Ollama + OpenClaw + 飞书,实现真正本地部署!

MySQL 中的 count 三兄弟:效率大比拼! 一、快速结论(先看结论再看分析) 方式 作用 效率 一句话总结 count(*) 统计所有行数 最高 我是专业的!我为统计而生 count(1) 统计所有行数 同样高效 我是 count(*) 的马甲兄弟…...

免费开源AI搜索技能部署指南:基于FastAPI与DuckDuckGo构建自主可控的联网搜索方案

1. 项目概述:一个免费、开源的网络搜索技能实现最近在折腾一些自动化工具和智能助手,发现一个挺普遍的需求:让AI助手能直接联网搜索,获取最新的信息。市面上很多方案要么收费,要么依赖特定的闭源API,要么就…...

GRPO与GAD:深度学习模型蒸馏的优化策略与实践

1. 项目背景与核心概念解析在深度学习模型部署的实际场景中,我们常常面临这样的矛盾:大模型虽然精度高但推理速度慢,小模型速度快却难以达到理想的准确率。模型蒸馏技术(Knowledge Distillation)正是解决这一矛盾的经典…...

3分钟上手MegSpot:跨平台图片视频对比神器的终极指南

3分钟上手MegSpot:跨平台图片视频对比神器的终极指南 【免费下载链接】MegSpot MegSpot是一款高效、专业、跨平台的图片&视频对比应用 项目地址: https://gitcode.com/gh_mirrors/me/MegSpot 你是否经常需要在不同图片或视频之间进行精准对比&#xff1f…...

OpCore Simplify:5分钟完成OpenCore自动化配置的终极指南

OpCore Simplify:5分钟完成OpenCore自动化配置的终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 黑苹果安装一直以复杂繁琐著称&a…...

AI Studio深度评测:Visual Studio智能编程伴侣的多模型配置与实战技巧

1. 项目概述:AI Studio,一个深度集成于Visual Studio的AI编程伴侣作为一名在.NET生态和Visual Studio IDE里摸爬滚打了十多年的开发者,我深知在编码过程中,从构思到实现,再到重构和文档化,中间有多少“体力…...

MCP协议工程实践2026:构建可互操作AI工具生态的完整指南

MCP解决了什么问题? 在MCP出现之前,AI应用的工具集成是一片混乱。每个框架有自己的工具定义格式:LangChain有它的Tool接口,AutoGen有自己的function_map,OpenAI有function calling的JSON Schema,Anthropic…...

Real-Anime-Z进阶参数详解:Sampler、CFG Scale等对画质的影响

Real-Anime-Z进阶参数详解:Sampler、CFG Scale等对画质的影响 1. 前言:为什么需要关注这些参数? 如果你已经能用Real-Anime-Z生成基本可用的动漫图像,但总觉得效果差那么点意思——可能是细节不够锐利,或是风格不够稳…...

别急着重装!YOLOv8推理报错‘No module named ultralytics.nn.modules.conv’的三种高效排查与修复姿势

YOLOv8模块缺失报错深度排查指南:从堆栈解析到依赖治理 遇到No module named ultralytics.nn.modules.conv这类报错时,许多开发者的第一反应往往是重装环境或替换文件。但这类粗暴操作可能掩盖更深层次的问题。本文将带你用系统化思维拆解这类模块缺失错…...

Sub-Agent VS Agent Team:多智能体架构和上下文边界

最近被问最多的一个问题,是关于多智能体怎么搭。问题大同小异:要不要拆?拆几个?谁主谁副?要不要再来一个 lead?我自己听到这种问题,第一反应通常是先不答。因为大多数情况下,问的人已…...