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

保姆级 uPyPi 教程|从 到 :MicroPython 驱动包一键安装 + 分享全攻略交

这个代码的核心功能是基于输入词的长度动态选择反义词示例并调用大模型生成反义词体现了 “动态少样本提示Dynamic Few-Shot Prompting” 与 “上下文长度感知的示例选择” 的能力。from langchain.prompts import FewShotPromptTemplate, PromptTemplatefrom langchain.prompts.example_selector import LengthBasedExampleSelectorfrom langchain_core.output_parsers import StrOutputParserfrom langchain_openai import ChatOpenAIimport osfrom dotenv import load_dotenv# 定义反义词任务的示例数据集few-shot examples# 每个示例包含一个输入词input和对应的反义词outputexamples [{input: 开心, output: 伤心},{input: 高, output: 矮},{input: 精力充沛, output: 没精打采},{input: 粗, output: 细},]# 定义单个示例的格式模板# 使用 {input} 和 {output} 作为占位符用于后续填充具体值example_prompt PromptTemplate(input_variables[input, output], # 声明模板中使用的变量名templateInput: {input}\nOutput: {output}, # 示例的文本格式)# 创建一个基于长度的示例选择器LengthBasedExampleSelector# 作用根据输入提示的总长度动态选择最合适的示例数量避免超出模型上下文限制example_selector LengthBasedExampleSelector(examplesexamples, # 提供所有候选示例example_promptexample_prompt, # 用于格式化每个示例的模板max_length25, # 设定整个 prompt含前缀、示例、后缀的最大 token 长度此处为字符数近似# 注意LengthBasedExampleSelector 默认使用 len(text) 计算长度非精确 token 数适用于简单场景)# 构建动态少样本提示模板FewShotPromptTemplate# 它会根据输入内容的长度自动从 examples 中选择合适数量的示例插入到 prompt 中dynamic_prompt FewShotPromptTemplate(example_selectorexample_selector, # 使用上面定义的动态选择器而非固定示例列表example_promptexample_prompt, # 单个示例的格式prefix给出每个输入的反义词, # 提示的开头部分任务指令suffixInput: {adjective}\nOutput:, # 提示的结尾部分包含待预测的输入占位符input_variables[adjective], # 声明最终用户输入的变量名与 suffix 中的 {adjective} 对应)# 测试 1输入较短应选择多个示例 print(【测试1】输入较短选择多个示例)print(dynamic_prompt.format(adjectivebig))print(------------)# 测试 2输入很长应只选择少量或一个示例以控制总长度 long_string big and huge and massive and large and gigantic and tall and much much much much much bigger than everything elseprint(【测试2】输入很长仅选择一个示例)print(dynamic_prompt.format(adjectivelong_string))print(------------)# 测试 3动态添加新示例 # 向示例选择器中新增一个示例胖 - 瘦new_example {input: 胖, output: 瘦}dynamic_prompt.example_selector.add_example(new_example)print(【测试3】添加新示例后查询热情)print(dynamic_prompt.format(adjective热情))print(------------)# 配置并调用 DeepSeek 大语言模型 llm ChatOpenAI(api_keyos.getenv(DEEPSEEK_API_KEY),base_urlos.getenv(DEEP_URL), # Deepseek 的 API 基础地址modeldeepseek-v3:671b, # Deepseek 对话模型可选deepseek-chat-pro 等高级模型temperature0.7, # 温度参数0-1越低越稳定max_tokens1024 # 最大生成 tokens)# 创建字符串输出解析器用于将模型返回的 AIMessage 转换为纯文本output_parser StrOutputParser()# 构建处理链Chainprompt → LLM → output parser# 使用 LangChain 的管道操作符 | 连接各组件chain dynamic_prompt | llm | output_parser# 调用链传入输入变量 {adjective: 热情}# 注意chain.invoke() 内部已包含 llm 调用和 output_parser 解析无需再手动调用 output_parsermessage chain.invoke({adjective: 热情})# ?? 注意上一行 chain.invoke() 已经返回了字符串因为最后是 StrOutputParser# 所以下面这行是多余的甚至会导致错误因为 message 已是 str不能再次 invoke# result output_parser.invoke(message) # ? 错误message 是 str不是 AIMessage# 正确做法直接使用 message 作为结果result messageprint(###############)print(【模型输出】)print(result)输出结果123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051【测试1】输入较短选择多个示例给出每个输入的反义词Input: 开心Output: 伤心Input: 高Output: 矮Input: 精力充沛Output: 没精打采Input: 粗Output: 细Input: bigOutput:------------【测试2】输入很长仅选择一个示例给出每个输入的反义词Input: 开心Output: 伤心Input: big and huge and massive and large and gigantic and tall and much much much much much bigger than everything elseOutput:------------【测试3】添加新示例后查询热情给出每个输入的反义词Input: 开心Output: 伤心Input: 高Output: 矮Input: 精力充沛Output: 没精打采Input: 粗Output: 细Input: 胖Output: 瘦Input: 热情Output:------------###############【模型输出】冷淡核心要点总结这段代码是基于 LangChain 框架对接 DeepSeek 大模型实现「动态少样本Few-Shot反义词生成」的完整案例核心解决「固定示例易超出模型上下文长度」的问题通过动态示例选择器适配不同长度输入同时结合 LangChain 链式调用简化模型调用流程先明确整体定位再拆解核心重点一、整体流程概览核心逻辑链代码遵循 LangChain 「示例准备 → 动态提示构建 → 模型调用 → 结果解析」的少样本学习经典流程整体可概括为1. 定义反义词任务的固定示例数据集为模型提供参考案例2. 配置基于长度的示例选择器根据输入文本长度动态筛选示例数量3. 构建动态少样本提示模板自动适配输入长度生成合规 Prompt4. 初始化 DeepSeek 模型客户端配置核心调用参数5. 构建「提示模板 → 大模型 → 输出解析」的链式调用流程6. 调用链条完成反义词生成并输出纯文本结果二、核心重点拆解必掌握1. 少样本提示Few-Shot Prompt核心组件这是实现「模型参考示例生成结果」的基础也是 LangChain 提示工程的核心用法- 示例数据集examples以键值对形式存储「输入-输出」示例为模型提供任务参考如开心→伤心- 单示例模板example_prompt定义单个示例的文本格式Input/Output 固定样式统一示例展示形式- 动态少样本模板FewShotPromptTemplate整合示例选择器、单示例模板、前缀/后缀生成最终发给模型的完整 Prompt- prefix任务指令给出每个输入的反义词明确模型要执行的任务- suffix待填充的用户输入占位符承接动态输入内容。2. 动态示例选择器LengthBasedExampleSelector这是代码的核心亮点解决「固定示例数量易超上下文长度」的问题核心作用根据输入文本的长度自动计算并选择合适数量的示例输入越长选的示例越少避免 Prompt 总长度超出模型上下文限制关键参数- examples候选示例列表- example_prompt示例格式化模板用于计算单示例长度- max_lengthPrompt 允许的最大长度此处为字符数近似值。3. LangChain 链式调用| 操作符简化多组件协作流程是 LangChain 核心设计理念- 链条构成dynamic_prompt生成 Prompt | llm调用模型 | output_parser解析结果- 核心优势无需手动分步调用先格式化 Prompt、再调用模型、最后解析结果一行代码完成全流程- 调用方式chain.invoke({adjective: 热情}) 传入输入变量直接返回解析后的纯文本结果。4. 输出解析器StrOutputParser解决「模型返回 AIMessage 对象→提取纯文本」的问题核心作用将 LangChain 模型返回的 AIMessage 类型含 content/metadata 等字段转换为纯字符串简化结果使用关键注意点链式调用中已包含解析步骤无需手动再次调用 output_parser.invoke()否则会报错。娇翟迅闹

相关文章:

保姆级 uPyPi 教程|从 到 :MicroPython 驱动包一键安装 + 分享全攻略交

这个代码的核心功能是:基于输入词的长度动态选择反义词示例,并调用大模型生成反义词,体现了 “动态少样本提示(Dynamic Few-Shot Prompting)” 与 “上下文长度感知的示例选择” 的能力。 from langchain.prompts impo…...

猫抓Cat-Catch:革命性网页资源智能捕获工具

猫抓Cat-Catch:革命性网页资源智能捕获工具 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾在浏览网页时,看到心仪…...

.NET 诊断技巧 | 日志框架原理、手写日志框架学习赡

一、 什么是 AI Skills:从工具级到框架级的演化 AI Skills(AI 技能) 的概念最早在 Claude Code 等前沿 Agent 实践中被强化。最初,Skills 被视为“工具级”的增强,如简单的文件读写或终端操作,方便用户快速…...

从“微信群聊”理解HGNN:给算法工程师的超图神经网络直觉构建指南

超图神经网络直觉指南:用微信群聊思维重构高阶关系建模 想象一下,你被拉进了一个学术讨论群,群里既有计算机视觉专家,也有自然语言处理研究员,还有几位跨领域的学者。每次有人发言,信息并非只传递给某一个人…...

用ESP32-S3和LVGL做个桌面天气站:从硬件接线到API调用的完整流程

用ESP32-S3和LVGL打造高颜值桌面天气站:从硬件选型到动态UI的全栈指南 在创客圈里,ESP32系列开发板早已成为物联网项目的标配,而S3版本凭借双核240MHz主频、8MB PSRAM和丰富的外设接口,更是将性能提升到了新高度。这次我们要做的&…...

D3KeyHelper终极指南:5步打造暗黑3智能操作体系

D3KeyHelper终极指南:5步打造暗黑3智能操作体系 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper D3KeyHelper是一款基于AutoHotkey开发的图…...

SkillsVote:从技能目录走向终极技能网关(Ultimate Skill Gateway)

成千上万个 skills 摆在面前,你的 Agent 为什么还是不会干活? 2025 年底 Anthropic 把 Agent Skills 规范作为开放标准发布,OpenAI 在 Codex CLI 里跟进了同一套格式,Cursor、Gemini CLI 也陆续接入。有人说 2026 是"Agent …...

从LSB到MSB:位平面分割在图像隐写与压缩中的实战解析

1. 什么是位平面分割? 第一次听说"位平面分割"这个词时,我也是一头雾水。直到有一天我在处理一张老照片时,发现即使删除了某些数据,照片看起来依然清晰,这才恍然大悟。位平面分割(Bit-Plane Sli…...

第5篇 | SOA实践启示录:从信号到服务,AUTOSAR的架构跃迁

2025年底,L2级辅助驾驶渗透率已接近60%,汽车正从“功能堆叠”走向“服务化”。AUTOSAR Adaptive平台是这场变革的技术底座。 SOME/IP服务接口详解 SOME/IP将服务接口分为三类: Method:请求-响应式操作(如SetTargetTe…...

大型欧姆龙PLC NJ系列ST语言Ethercat总线24轴 伺服电池生产线欧姆龙PLC程序大...

大型欧姆龙PLC NJ系列ST语言Ethercat总线24轴 伺服电池生产线欧姆龙PLC程序大型程序NJ系列 ST语言EtherCat总 线控制24个伺服轴大型程序电池生产线 包括PLC NJ-1400和威纶通触摸屏程序 PLC通过EtherCat总线连接24个IS620N伺服 伺服轴已经写好FB块,可以直接复制粘贴 …...

第4篇 | 功能安全的底层悖论:AUTOSAR的安全机制真的足够安全吗?

ISO 26262要求ASIL C和D等级的系统必须检测:定时和执行故障、内存故障、信息交换故障。AUTOSAR 4.x提供了看门狗、E2E保护、内存分区等机制,但仍有盲区。 定时故障检测的盲区 AUTOSAR的Watchdog Manager可以监控任务是否“卡死”(长时间不喂狗),但它无法检测任务的无限期阻…...

基于Carsim与Simulink联合仿真的汽车ESP系统单侧双轮制动控制模型与说明

汽车ESP系统仿真建模,基于carsim与simulink联合仿真做的联合仿真,采用单侧双轮制动的控制方法。 有完整的模型和说明 汽车电子稳定程序(ESP)就像车辆的"防上头助手",关键时刻一把拽住快要失控的车身。但要让…...

LeetCode 最长回文子串:python 题解苑

1 实用案例 1.1 表格样式生成 本示例用于生成包含富文本样式与单元格背景色的Word表格文档。 模板内容: 渲染代码: # python-docx-template/blob/master/tests/comments.py from docxtpl import DocxTemplate, RichText # data: python-docx-template/bl…...

OpenFace 2.2.0:如何用开源工具包实现精准面部行为分析?

OpenFace 2.2.0:如何用开源工具包实现精准面部行为分析? 【免费下载链接】OpenFace OpenFace – a state-of-the art tool intended for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation. …...

Legacy-iOS-Kit:终极iOS降级与越狱完整指南

Legacy-iOS-Kit:终极iOS降级与越狱完整指南 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit 你是否有一…...

2026 AI 技术十大趋势:大模型、Agent 与边缘智能的全面爆发

前言2026 年,人工智能技术迎来前所未有的爆发式发展。从大模型能力的持续突破,到 AI Agent 的广泛应用,再到边缘智能的普及,AI 正在重塑每一个行业。一、大模型进入百万上下文时代2026 年,主流大模型的上下文窗口已突破…...

Zotero SciPDF插件终极指南:3步实现文献PDF自动下载的完整方案

Zotero SciPDF插件终极指南:3步实现文献PDF自动下载的完整方案 【免费下载链接】zotero-scipdf Download PDF from Sci-Hub automatically For Zotero7 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-scipdf 你是否曾因找不到论文PDF而焦虑&#xff1…...

Go赋值操作的关键细节

一、: 短变量声明的细节1.作用域规则2.重复声明规则3类型推断二、 赋值操作的细节1.类型必须匹配2.多重赋值特性三、 零值初始化细节1.Go为所有类型提供零值四、指针赋值的细节1.基本指针操作理解这段代码的关键在于搞清楚两个概念:普通变量、指针变量,…...

Java生产者消费者模式实战解析

Java生产者消费者模式实战解析异步模式传统版改进版阻塞队列异步模式 传统版 异步模式之生产者/消费者: class ShareData {private int number 0;private Lock lock new ReentrantLock();private Condition condition lock.newCondition();public void increm…...

linux-内核结构体

vma结构体定义在include/linux/mm_types.h中。 每一段(比如代码段、堆、栈)都由一个vma结构体来描述。 它记录了这段内存的起止地址、权限(读写执行)以及背后的存储介质(是匿名内存还是映射了文件)。 权限隔…...

告别电脑噪音!5步掌握免费风扇控制软件FanControl

告别电脑噪音!5步掌握免费风扇控制软件FanControl 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/Fan…...

C3D行为识别(一):UCF101视频数据集预处理实战与优化

1. UCF101数据集:行为识别的黄金标准 第一次接触行为识别任务时,我面对五花八门的视频数据集简直挑花了眼。经过多次实践对比,UCF101始终是我最推荐新手入门的"教科书级"数据集。这个包含101类人类动作的经典数据集,就像…...

Fan Control:Windows风扇控制终极指南,告别噪音与高温烦恼![特殊字符]

Fan Control:Windows风扇控制终极指南,告别噪音与高温烦恼!🔥 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址…...

如何快速获取百度网盘提取码:开源工具的终极实战指南

如何快速获取百度网盘提取码:开源工具的终极实战指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享链接的提取码而烦恼吗?每次遇到需要密码的资源,你都要在多个网页间来…...

GenomicSEM实战指南:从GWAS摘要数据到复杂遗传模型的完整解析

GenomicSEM实战指南:从GWAS摘要数据到复杂遗传模型的完整解析 【免费下载链接】GenomicSEM R-package for structural equation modeling based on GWAS summary data 项目地址: https://gitcode.com/gh_mirrors/ge/GenomicSEM 在基因组学研究中,…...

模拟量采集模块:农机作业监测,传感信号稳定采集

在工业自动化领域,模拟量采集模块是连接物理世界与数字系统的核心桥梁。它的本质是将温度、压力、流量等连续变化的物理量(模拟信号),精准地转换为计算机能识别的数字信号。一、关键技术实现:从物理世界到数字决策 信号采集与转换&#xff1a…...

模拟量采集模块:多点位同步采样,数据一致性更高

无论是车间里机床的振动监测,还是智慧大棚的土壤湿度采集,亦或是变电站的电压电流监测,都离不开它的身影。模拟量采集系列模块连接着现场连续变化的物理量,一边对接着可处理分析的数字系统,默默完成“信号翻译”的核心…...

物联网养殖环控系统:科技赋能,推动传统养殖向数字转型

一、方案概述 物联网养殖环控系统,依托物联网、传感器、大数据、无线通信等核心技术,针对畜禽、水产等各类养殖场景,构建“感知-传输-分析-控制-管理”全链路智能闭环,实现养殖环境多参数实时监测、自动精准调控、远程便捷管理&am…...

OpenClaw 微信部署避坑实操:多模式部署+常见故障速解(附部署包)

前言 在微信私域运营与自动化客服场景中,OpenClaw 可打通微信客户端与后端服务的通信链路,降低接入门槛,支持本地、云端等多环境部署,兼顾数据安全与连接稳定。本文聚焦部署细节与故障排查逻辑,适配中小企业业务落地&…...

揭开推挽电路的奥秘 —— 高效功率放大的经典架构

在模拟电子技术的长河中,推挽电路(Push-Pull Circuit)无疑是功率放大领域的里程碑式设计。它如同电子世界里的 “双人接力赛”,通过两个晶体管的协同工作,高效地完成信号放大任务,彻底改变了传统单管放大电…...