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

MeteorSeed吞

这个代码的核心功能是基于输入词的长度动态选择反义词示例并调用大模型生成反义词体现了 “动态少样本提示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()否则会报错。雍僭闲兄

相关文章:

MeteorSeed吞

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

【GD32开发】深入解析GD32F103 TIMER0 PWM死区时间配置与优化

1. PWM死区时间基础概念与GD32特性 PWM死区时间是电机控制和电源转换系统中的关键参数。简单来说,它就是在互补PWM信号切换时插入的一个短暂延迟,防止上下桥臂同时导通造成短路。想象一下十字路口的红绿灯切换时,会设置几秒的全红灯时间避免车…...

基于MAVROS的Jetson Nano与PX4飞控高效通信实践指南

1. 为什么需要MAVROS通信? 在无人机开发中,机载电脑(如Jetson Nano)和飞控(如PX4)的协同工作至关重要。想象一下,Jetson Nano就像是无人机的大脑,负责处理复杂的视觉识别、路径规划等…...

树莓派5从零到一:VSCode远程开发与systemd服务部署实战

1. 树莓派5开箱与基础配置 刚拿到树莓派5时,我建议先检查配件是否齐全。除了主板外,你至少需要准备: 支持5V/5A的Type-C电源(官方推荐)至少16GB的microSD卡(建议U3速度等级)散热片或风扇套件&am…...

5分钟掌握Windows任务栏美化:TranslucentTB终极透明化指南

5分钟掌握Windows任务栏美化:TranslucentTB终极透明化指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 还在为Windows任务…...

模型轻量化×实时编码×语义理解,SITS2026三大原生能力全解析,企业音视频升级路径已不可逆

第一章:SITS2026分享:AI原生音视频处理 2026奇点智能技术大会(https://ml-summit.org) AI原生音视频处理正从“AI辅助”迈向“AI驱动”的范式跃迁——模型不再仅作为后处理模块嵌入传统管线,而是从采集、编码、传输到渲染的全链路深度耦合。…...

AI原生语音交互已进入临界点:2026奇点大会透露的7项技术拐点与你的团队适配时间表

第一章:AI原生语音交互已进入临界点:2026奇点大会核心洞察 2026奇点智能技术大会(https://ml-summit.org) 在2026奇点大会上,来自DeepMind、Meta AI与中科院自动化所的联合实证表明:端到端语音大模型(如Whisper-XL、…...

AI开发-python-langchain框架(--并行流程 )抠

如果有多个供应商,你也可以使用 [[CC-Switch]] 来可视化管理这些API key,以及claude code 的skills。 # 多平台安装指令 curl -fsSL https://claude.ai/install.sh | bash ## Claude Code 配置 GLM Coding Plan curl -O "https://cdn.bigmodel.cn/i…...

DDD难落地?就让AI干吧! - cleanddd-skills介绍窗

AI训练存储选型的演进路线 第一阶段:单机直连时代 早期的深度学习数据集较小,模型训练通常在单台服务器或单张GPU卡上完成。此时直接将数据存储在训练机器的本地NVMe SSD/HDD上。 其优势在于IO延迟最低,吞吐量极高,也就是“数据离…...

基于File-Based App开发MVP项目员

Issue 概述 先来看看提交这个 Issue 的作者是为什么想到这个点子的,以及他初步的核心设计概念。?? 本 PR 实现了 Apache Gravitino 与 SeaTunnel 的集成,将其作为非关系型连接器的外部元数据服务。通过 Gravitino 的 REST API 自动获取表结构和元数据&…...

一文搞懂 Spring Cloud:从入门到实战的微服务全景指南(建议收藏)妥

一、中间件是啥?咱用“餐厅”打个比方 想象一下,你的FastAPI应用是个高级餐厅。 ?? 顾客(客户端请求)来到门口。- 迎宾(CORS中间件):先看你是不是从允许的街区(域名)来…...

【限时解锁】奇点大会AI原生图像识别白皮书(V2.3.1内部修订版):含19个真实产线故障归因案例与实时修复SOP清单

第一章:2026奇点智能技术大会:AI原生图像识别 2026奇点智能技术大会(https://ml-summit.org) 本届大会首次设立“AI原生图像识别”专项轨道,聚焦模型架构、数据范式与推理机制的三位一体原生重构。区别于传统CV流水线中预处理、特征工程与后…...

如何完整备份QQ空间历史说说:GetQzonehistory的终极解决方案

如何完整备份QQ空间历史说说:GetQzonehistory的终极解决方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心那些记录青春点滴的QQ空间说说会随着时间流逝而消失…...

喔去,litellm 竟然被投毒了,赶紧检查你的机器中招了没有倭

一、什么是setuptools? setuptools 是一个用于创建、分发和安装 Python 包的核心库。 它可以帮助你: 定义 Python 包的元数据(如名称、版本、作者等)。 声明包的依赖项,确保你的包能够正确运行。 构建源代码分发包&…...

AI时代的算法思维:大经典排序学习媚

引言 在现代软件开发中,性能始终是衡量应用质量的重要指标之一。无论是企业级应用、云服务还是桌面程序,性能优化都能显著提升用户体验、降低基础设施成本并增强系统的可扩展性。对于使用 C# 开发的应用程序而言,性能优化涉及多个层面&#x…...

CEClient嵌入式CEC协议栈:轻量级HDMI-CEC主控实现

1. CEClient库概述:面向嵌入式系统的HDMI-CEC协议通信实现CEClient是一个专为嵌入式平台设计的轻量级C/C库,用于实现HDMI Consumer Electronics Control(CEC)总线协议的主控端通信能力。该库严格遵循HDMI Specification v1.3a中定…...

手把手教你用百度智能云微调大模型:从数据集准备到模型发布的保姆级避坑指南

手把手教你用百度智能云微调大模型:从数据集准备到模型发布的保姆级避坑指南 第一次尝试在百度智能云上微调大模型时,我踩遍了所有能想到的坑——从数据集格式错误导致反复上传失败,到闲时调度开关引发的莫名报错,甚至因为账户余额…...

《模型思维》系统动力学:从存量流量到商业决策的反馈艺术

1. 系统动力学:商业决策的隐形引擎 第一次接触系统动力学时,我正面临一个典型的产品增长困局:明明增加了市场投放预算,用户增长率却不升反降。当时团队争论不休,有人认为是渠道质量下降,有人指责产品体验变…...

全任务零样本学习-mT5中文-base快速部署:systemd服务配置实现开机自启

全任务零样本学习-mT5中文-base快速部署:systemd服务配置实现开机自启 1. 模型概述与环境准备 全任务零样本学习-mT5中文-base是一个基于mT5架构的文本增强模型,专门针对中文场景进行了深度优化。该模型在原有mT5基础上使用了大量中文数据进行训练&…...

玩客云打造全能家庭服务器:Armbian+CasaOS+Docker+青龙面板+内网穿透一站式部署

1. 玩客云改造前的准备工作 家里闲置的玩客云放着吃灰?不如把它改造成全能家庭服务器!这个不到百元的小盒子,刷上Armbian系统后性能直接起飞,跑Docker、挂青龙面板、做内网穿透样样都行。我去年把家里的三台玩客云都改造了&#x…...

利用国内镜像源加速PyTorch2.0(GPU版)命令行安装全攻略

1. 为什么需要国内镜像源安装PyTorch2.0 GPU版 如果你尝试过直接从PyTorch官网安装GPU版本,大概率会遇到下载速度慢如蜗牛的情况。我去年帮实验室配置深度学习环境时,一个简单的torch包下载了整整3小时还没完成,最后发现是因为默认源服务器在…...

别再只盯着UNet了!用TransFuse在医疗图像分割上实现又快又准(附PyTorch代码)

TransFuse:医疗图像分割的下一代混合架构实战指南 在息肉检测和皮肤病变分析等医疗图像分割任务中,我们常常陷入一个两难困境:选择CNN架构能够保留丰富的局部细节但难以建模全局关系,而纯Transformer模型虽然擅长捕捉长距离依赖却…...

Arduino嵌入式环形队列:静态内存、无锁SPSC队列实现

1. QueueArray 库概述QueueArray 是一个面向 Arduino 平台的轻量级、静态内存分配型环形队列(Circular Buffer)实现库。它并非从零编写的全新队列容器,而是对 Arduino 官方QueueArray基础版本进行工程化增强后的衍生版本。其核心设计目标明确…...

Notepad++ 高效使用技巧|程序员必备的 10 个隐藏功能,提升编码效率 10 倍

一、Notepad:被低估的Windows程序员工具 很多人只把Notepad当普通文本编辑器,其实它是一款功能强大的代码编辑器,完全免费开源,搭配插件和隐藏功能,能媲美重型IDE的核心体验。先给大家附上Notepad官网,获取…...

Qwen3-TTS-1.7B-Base部署教程:镜像免配置+GPU显存优化实践

Qwen3-TTS-1.7B-Base部署教程:镜像免配置GPU显存优化实践 声音克隆技术正在改变我们与AI交互的方式,而Qwen3-TTS-1.7B-Base作为支持10种语言的先进语音合成模型,让高质量语音生成变得触手可及。 1. 环境准备与快速部署 Qwen3-TTS-1.7B-Base是…...

实战案例:用Qwen3-TTS-Tokenizer-12Hz为短视频生成专属配音

实战案例:用Qwen3-TTS-Tokenizer-12Hz为短视频生成专属配音 短视频创作者们,你是否厌倦了千篇一律的机械配音?想要一个既能快速生成,又充满个人特色的声音解决方案?Qwen3-TTS-Tokenizer-12Hz可能就是你在寻找的答案。…...

Dify+Ollama模型搭建攻略:本地环境实战指南悦

Issue 概述 先来看看提交这个 Issue 的作者是为什么想到这个点子的,以及他初步的核心设计概念。?? 本 PR 实现了 Apache Gravitino 与 SeaTunnel 的集成,将其作为非关系型连接器的外部元数据服务。通过 Gravitino 的 REST API 自动获取表结构和元数据&…...

RobotDuLAB:面向K-12教育的Arduino机器人教学库设计

1. RobotDuLAB Arduino库:面向教育场景的嵌入式机器人控制抽象层设计与工程实践1.1 教育型开源机器人的系统定位与硬件架构RobotDuLAB并非通用工业机器人平台,而是一个专为K-12阶段编程教学深度定制的开源教育机器人系统。其核心设计理念是“可理解性优先…...

一天一个Python库:propcache - 简化属性缓存,提升性能翁

Qt是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本笔记将重点介绍QSpinBox数值微调组件的常用方法及灵活应用。…...

AI原生产品上线首周留存暴跌的8个隐藏设计雷区,腾讯/字节内部培训未公开的防御清单

第一章:AI原生产品的留存本质与认知重构 2026奇点智能技术大会(https://ml-summit.org) AI原生产品的留存,不再取决于功能密度或界面精致度,而根植于用户与模型交互过程中持续涌现的“认知适配感”——即系统能否在每一次对话、每一次推理、…...