2026/4/3 13:55:37
网站建设
项目流程
网站进入沙盒期,网站分析对比,计算机毕设代做网站,百度预测大数据官网今天我们一起来看一段非常实用的 LangChain 代码#xff0c;它展示了如何用 少样本提示#xff08;Few-Shot Prompting#xff09; 的方式#xff0c;让大模型更聪明、更准确地回答数学问题。我会把核心知识点拆解清楚#xff0c;帮助大家理解每一步的作用和背后的原理。
…今天我们一起来看一段非常实用的LangChain 代码它展示了如何用少样本提示Few-Shot Prompting的方式让大模型更聪明、更准确地回答数学问题。我会把核心知识点拆解清楚帮助大家理解每一步的作用和背后的原理。什么是“少样本提示”Few-Shot Prompting定义在给大模型提问前先提供几个输入-输出的示例让模型“模仿”这些例子来回答新问题。作用提升模型在特定任务上的表现尤其适合结构化、规则明确的任务比如数学计算、格式转换等。类比就像老师先讲两道例题再让学生做第三道——学生更容易掌握规律。知识点说明Few-Shot Prompting通过少量示例引导模型行为提升任务准确性ChatPromptTemplate构建多轮对话式提示的标准工具FewShotChatMessagePromptTemplate自动将示例列表转为对话历史MessagesPlaceholder本例未用但重要用于动态插入中间消息如聊天历史看代码from langchain_core.prompts import ( ChatPromptTemplate, FewShotChatMessagePromptTemplate, MessagesPlaceholder, ) # 定义示例 examples [ {input: 22, output: 4}, {input: 23, output: 5}, ] # 定义示例提示模板 example_prompt ChatPromptTemplate.from_messages( [ (human, {input}), (ai, {output}), ] ) # 创建少样本提示模板 few_shot_prompt FewShotChatMessagePromptTemplate( example_promptexample_prompt, examplesexamples, ) # 组装最终提示模板 final_prompt ChatPromptTemplate.from_messages( [ (system, 你是一位非常厉害的数学天才。), few_shot_prompt, (human, {input}), ] ) # 测试提示模板 test_input 33 formatted_prompt final_prompt.format_messages(inputtest_input) print(格式化后的提示) for msg in formatted_prompt: print(f{msg.type}: {msg.content}) #调用大模型 from langchain_openai import ChatOpenAI from langchain_core.output_parsers import StrOutputParser import os #配置 Deepseek 密钥和模型参数 llm ChatOpenAI( api_keyos.getenv(DEEPSEEK_API_KEY), base_urlos.getenv(BASE_URL), # Deepseek 的 API 基础地址 modeldeepseek-v3:671b, # Deepseek 对话模型可选deepseek-chat-pro 等高级模型 temperature0.7, # 温度参数0-1越低越稳定 max_tokens1024 # 最大生成 tokens ) output_parser StrOutputParser() chain final_prompt | llm | output_parser response chain.invoke({input:3的平方是多少}) print(response)运行结果格式化后的提示 system: 你是一位非常厉害的数学天才。 human: 22 ai: 4 human: 23 ai: 5 human: 33 3的平方是 **9**。 计算过程 3² 3 × 3 **9**