Prompt Engineering | 文本扩展prompt

😄 扩展是将短文本,例如一组说明或主题列表,输入到大型语言模型中,让模型生成更长的文本,例如基于某个主题的电子邮件或论文。这样做有一些很好的用途,例如将大型语言模型用作头脑风暴的伙伴。但这种做法也存在一些问题,例如某人可能会使用它来生成大量垃圾邮件。因此,当你使用大型语言模型的这些功能时,请仅以负责任的方式和有益于人们的方式使用它们。

⭐ 本文将借助模型生成适用于每个客户评价的客户服务电子邮件

文章目录

1、定制客户邮件

我们首先给出一个示例,包括一个评论及对应的情感,让模型写一封感谢用户评价的邮件:

sentiment = "negative"

# 一个产品的评价
review = f"""
他们在11月份的季节性销售期间以约49美元的价格出售17件套装,折扣约为一半。\
但由于某些原因(可能是价格欺诈),到了12月第二周,同样的套装价格全都涨到了70美元到89美元不等。\
11件套装的价格也上涨了大约10美元左右。\
虽然外观看起来还可以,但基座上锁定刀片的部分看起来不如几年前的早期版本那么好。\
不过我打算非常温柔地使用它,例如,\
我会先在搅拌机中将像豆子、冰、米饭等硬物研磨,然后再制成所需的份量,\
切换到打蛋器制作更细的面粉,或者在制作冰沙时先使用交叉切割刀片,然后使用平面刀片制作更细/不粘的效果。\
制作冰沙时,特别提示:\
将水果和蔬菜切碎并冷冻(如果使用菠菜,则轻轻煮软菠菜,然后冷冻直到使用;\
如果制作果酱,则使用小到中号的食品处理器),这样可以避免在制作冰沙时添加太多冰块。\
大约一年后,电机发出奇怪的噪音,我打电话给客服,但保修已经过期了,所以我不得不再买一个。\
总的来说,这些产品的总体质量已经下降,因此它们依靠品牌认可和消费者忠诚度来维持销售。\
货物在两天内到达。
"""

prompt = f"""
你是一位客户服务的AI助手。
你的任务是给一位重要客户发送邮件回复。
根据客户通过“```”分隔的评价,生成回复以感谢客户的评价。提醒模型使用评价中的具体细节
用简明而专业的语气写信。
作为“AI客户代理”签署电子邮件。
客户评论:
```{review}```
评论情感:{sentiment}
"""

输出:

尊敬的客户,

非常感谢您对我们产品的评价。我们非常抱歉您在购买过程中遇到了价格上涨的问题。我们一直致力于为客户提供最优惠的价格,但由于市场波动,价格可能会有所变化。我们深表歉意,如果您需要任何帮助,请随时联系我们的客户服务团队。

我们非常感谢您对我们产品的详细评价和使用技巧。我们将会把您的反馈传达给我们的产品团队,以便改进我们的产品质量和性能。

再次感谢您对我们的支持和反馈。如果您需要任何帮助或有任何疑问,请随时联系我们的客户服务团队。

祝您一切顺利!

AI客户代理

⭐ 注:另外地,像chatgpt等一些大模型,输入是有个叫 “温度系数” 的参数的,它能够控制模型输出的随机程度,使模型输出更具多样性,更有创造力。温度系数越大输出越随机。一般来说,一个可靠和可预测的系统,温度系数设为0,即不希望输出每次都不一样,模型将总是选择最有可能的下一个词。







参考链接:
[1] OpenAI
[2] 吴恩达老师的:DeepLearning.AI
[3] DataWhale
[4] https://learn.deeplearning.ai/

<think>好的,我现在需要帮助用户了解提示工程(prompt engineering)、代理(agent)和函数调用(function call)在AI或编程中的概念和实现方法。首先,我需要理清每个概念的定义和它们之间的关系。 首先,提示工程是指设计和优化输入提示,以引导AI模型生成更准确的输出。根据引用[1],分解复杂问题为更简单的子问题可以提升大语言模型(LLM)的解决能力,这可能涉及到像思维链(CoT)这样的技术。用户提到的提示工程结合代理和函数调用,可能需要将这些技术结合起来,使AI系统更有效地处理任务。 接下来是代理(agent)的概念。在AI中,代理通常指能够自主执行任务或决策的实体。比如,一个代理可能需要调用工具或函数来完成目标,这涉及到函数调用。例如,一个代理可能需要使用搜索API获取实时数据,或者执行代码进行计算,这都需要函数调用的支持。 然后是函数调用,这允许AI模型与外部系统或API交互,执行具体操作。例如,当模型需要获取天气数据时,可以调用相应的API函数。结合提示工程,可以设计提示让模型明确何时以及如何调用这些函数,从而增强其功能。 现在需要将这些概念结合起来,思考它们如何协同工作。比如,提示工程可以设计特定的指令,让代理根据输入的提示分解任务,然后通过函数调用执行具体步骤。这可能涉及到分步提示(Step-by-Step Prompting),将复杂任务拆解,并指导代理逐步完成,同时适时调用必要的函数。 此外,引用[1]提到的Least-to-Most提示方法,可能类似于逐步引导模型解决子问题,再整合结果。这可能应用于代理的工作流程中,先分解问题,再通过函数调用处理每个子问题,最后汇总结果。 用户还可能需要了解具体的实现方法,比如在编程中如何将提示工程与函数调用结合。例如,使用LangChain框架,可以创建代理,根据提示解析用户请求,决定调用哪个工具,执行函数,并返回结果。代码示例可能包括定义工具、设置提示模板、初始化代理并运行。 最后,需要考虑可能的相关问题,如不同提示技术的对比、代理设计的最佳实践、函数调用的安全性和效率等。这些都需要在回答中提及,以帮助用户全面理解。 总结,我需要分步骤解释每个概念,结合引用中的研究,给出实际示例,并生成相关问题供用户深入探索。</think>### 提示工程与代理、函数调用的结合 #### 1. **核心概念** - **提示工程(Prompt Engineering)** 通过设计特定结构的输入提示(prompt),引导大语言模型(LLM)生成更符合目标的输出。例如: - **思维链(CoT)**:要求模型分步骤推理,如“请逐步解释如何计算圆的面积”[^1]。 - **函数调用提示**:明确指示模型调用外部工具,如“调用天气API获取北京今日温度”。 - **代理(Agent)** 代理是能够自主决策并执行任务的AI实体。例如: - **工具调用代理**:根据输入决定调用搜索引擎、计算器或数据库。 - **多步任务代理**:分解复杂任务为多个子步骤,如“规划旅行路线”需依次处理交通、住宿等。 - **函数调用(Function Call)** 允许AI模型与外部系统交互,执行具体操作。例如: - 调用Python函数处理数据:`calculate_average([1,2,3])`。 - 调用API获取实时信息:`get_stock_price("AAPL")`。 #### 2. **结合方式与实现** - **步骤分解与函数调用** 1. **提示设计**:通过CoT将任务分解为子问题,例如: ``` 用户输入:“帮我分析某公司近三年营收增长率。” 提示模板: 1. 调用API获取2019-2021年财务数据。 2. 计算每年增长率:(当年营收 - 前年营收)/前年营收。 3. 生成可视化图表。 ``` 2. **代理决策**:代理根据提示选择需调用的函数(如财务API、计算函数、绘图库)。 3. **执行与整合**:依次执行函数并汇总结果。 - **代码示例(基于LangChain框架)** ```python from langchain.agents import initialize_agent, Tool from langchain.llms import OpenAI # 定义工具函数 def fetch_financial_data(company: str) -> dict: # 模拟API调用 return {"2019": 100, "2020": 120, "2021": 150} def calculate_growth(data: dict) -> float: return (data["2021"] - data["2019"]) / data["2019"] # 创建工具列表 tools = [ Tool(name="FinancialDataFetcher", func=fetch_financial_data, description="获取公司财务数据"), Tool(name="GrowthCalculator", func=calculate_growth, description="计算增长率") ] # 初始化代理 agent = initialize_agent(tools, OpenAI(), agent="zero-shot-react-description", verbose=True) agent.run("请分析公司XYZ的三年营收增长率。") ``` 输出可能为: ``` 1. 调用FinancialDataFetcher获取数据 → {2019:100, 2020:120, 2021:150} 2. 调用GrowthCalculator → 增长率=(150-100)/100=50% ``` #### 3. **应用场景** - **自动化数据分析**:代理根据自然语言指令调用清洗、计算、可视化函数[^1]。 - **智能客服**:通过函数调用查询订单、生成解决方案,如“查询订单123状态 → 调用`get_order_status(123)`”。 - **科研辅助**:分解复杂问题为文献检索、公式推导、图表生成等步骤。 #### 4. **优化策略** - **精准提示设计**:明确函数调用条件和参数,例如: “若用户需要实时数据,调用`search_web(query)`;若需要计算,调用`math_solver(expression)`。” - **错误处理机制**:在提示中要求代理验证函数输出,如“检查API返回是否为空,若空则重试”。 - **多模态扩展**:结合图像处理函数,如“调用`ocr(image_path)`提取文本,再调用`translate(text)`翻译”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

#苦行僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值