# 在 Colab 中安装必要的包(通常 Colab 已经安装 transformers,但为了确保版本推荐运行以下代码) !pip install --upgrade transformers !pip install soundfile # 有些 TTS 模型可能依赖 soundfile # 导入必要的库 from transformers import pipeline from IPython.display import Audio, display import torch ########################################## # Step 1:情感分析 - 分析用户评论的情感倾向 ########################################## # 本示例中选择 distilbert-base-uncased-finetuned-sst-2-english 模型用于英文情感分类 sentiment_classifier = pipeline("sentiment-analysis", model="distilbert-base-uncased-finetuned-sst-2-english") # 示例用户评论(可替换为实际评论) user_review = "I love the fast delivery, but the product quality could be better." # 进行情感分析 sentiment_result = sentiment_classifier(user_review)[0] print("情感分析结果:", sentiment_result) ########################################## # Step 2:回复生成 - 根据情感生成自动回复 ########################################## # 使用 microsoft/DialoGPT-medium 模型生成回复 reply_generator = pipeline("text-generation", model="microsoft/DialoGPT-medium") # 根据情感构造 Prompt,本次修改在 prompt 中加入明确的“回复:”提示, # 以引导模型产生新内容而不是简单重复输入内容 label = sentiment_result['label'].upper() if "POSITIVE" in label or "LABEL_1" in label: prompt = (f"用户评论表达了正面情感:\n评论内容: {user_review}\n" f"请给出一段贴心温暖、表达感谢和认可,并让用户感到愉快的回复:\n回复:") elif "NEGATIVE" in label or "LABEL_0" in label: prompt = (f"用户评论表达了负面情感:\n评论内容: {user_review}\n" f"请给出一段温柔体贴、安抚用户并表示歉意的回复:\n回复:") else: prompt = f"用户评论: {user_review}\n请给出一段中肯的回复:\n回复:" print("\n生成回复的提示词 (Prompt):") print(prompt) # 生成回复文本,设置 truncation=True 避免长度问题,并适当提高采样温度与 top_p 值 generated = reply_generator(prompt, max_length=150, do_sample=True, top_p=0.95, temperature=0.9, truncation=True) generated_text = generated[0]['generated_text'] # 如果生成结果包含完整 prompt,则剔除 if generated_text.startswith(prompt): final_reply = generated_text[len(prompt):].strip() else: final_reply = generated_text.strip() print("\n生成的回复文本:") print(final_reply)