# 通用提示词模板封装 def build_prompt(task, requirements, examples=None, format="text"): """ 构建标准化提示词 :param task: 任务描述(如"文本摘要"、"代码生成") :param requirements: 具体要求(如"摘要不超过200字") :param examples: 示例(可选) :param format: 输出格式(text/json/markdown) :return: 完整提示词 """ prompt = f""" 你是一名专业的AI助手,请完成以下任务: 任务:{task} 要求:{requirements} 输出格式:{format} """ if examples: prompt += f"\n示例:\n{examples}" return prompt.strip() # 调用示例 prompt = build_prompt( task="电商评论情感分析", requirements="仅输出'正面'/'负面'/'中性',无需解释", examples="输入:'这款商品质量很好!' → 输出:正面" ) print(prompt)
# 安装依赖:pip install openai import openai import os # 配置API密钥 openai.api_key = os.getenv("OPENAI_API_KEY") # 从环境变量获取密钥 # 或直接设置:openai.api_key = "your-api-key" # 基础对话调用 def call_gpt(prompt, model="gpt-3.5-turbo", temperature=0.7): try: response = openai.ChatCompletion.create( model=model, messages=[ {"role": "system", "content": "你是一名专业的提示词工程师"}, {"role": "user", "content": prompt} ], temperature=temperature, # 随机性:0(严谨)-1(创意) max_tokens=1000 ) return response.choices[0].message.content.strip() except Exception as e: return f"调用失败:{str(e)}" # 调用示例 result = call_gpt(prompt="写一个Python函数,实现列表去重") print(result)
# 安装依赖:pip install dashscope from dashscope import Generation # 配置API密钥 os.environ["DASHSCOPE_API_KEY"] = "your-dashscope-key" def call_qwen(prompt, model="qwen-turbo"): response = Generation.call( model=model, messages=[ {"role": "user", "content": prompt} ], result_format='text', temperature=0.5, top_p=0.8 ) if response.status_code == 200: return response.output.choices[0].message.content else: return f"调用失败:{response.code} - {response.message}" # 提示词优化示例 optimize_prompt = """ 优化以下提示词,使其更清晰、更易被大模型理解: 原始提示:写一篇关于提示词工程的文章 优化要求:结构清晰(分3部分)、字数800字、适合新手阅读 """ result = call_qwen(optimize_prompt) print(result)
# 多轮对话上下文管理 class ChatManager: def __init__(self): self.context = [{"role": "system", "content": "你是一名电商客服助手"}] def add_message(self, role, content): # 控制上下文长度,避免token超限 if len(self.context) > 10: self.context = self.context[:2] + self.context[-8:] self.context.append({"role": role, "content": content}) def get_response(self, user_input): self.add_message("user", user_input) response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=self.context, temperature=0.3 ) assistant_reply = response.choices[0].message.content self.add_message("assistant", assistant_reply) return assistant_reply # 使用示例 chat = ChatManager() print(chat.get_response("请问退货流程是什么?")) print(chat.get_response("需要提供哪些材料?")) # 模型可关联上一轮问题
| 优化前(低效) | 优化后(高效) | 优化点 |
|---|---|---|
| 写一个排序算法 | 用Python实现快速排序算法,要求:1. 注释清晰 2. 包含测试用例 3. 时间复杂度标注 | 明确语言、要求、输出格式 |
| 总结这篇文章 | 总结以下文章,要求:1. 不超过200字 2. 包含核心观点 3. 输出Markdown格式 | 限定长度、明确输出内容/格式 |