大模型编程(2)调用 API 完成内容分类

梦康 2025-01-01 23:56:55 59

这是大模型编程系列的第二篇,也是我学习 某云大模型工程师ACA认证免费课程 的笔记,这课真不错,太香了必须强烈推荐👍🏻。对课程有兴趣请点击底部的查看原文。

上一篇里面我们实现了最基础的接口调用,这节来点实际业务场景的。使用 借助通义千问 API 自动完成一批文本处理任务 业务场景。

老板说,这里是我们大米SU8的销售评价表,你分析下用户的反馈,你从这几个原因总结下:价格过高、售后支持不足、产品使用体验不佳、其他。看哪个占比高,我们重点改进下。

如果是以前不得苦逼苦逼,一条一条看啊,咱们也不懂算法,也不知道什么 NPL 情感分析之类的。现在就不一样了,你可以把这个问题直接丢给大模型,让他来判断。

你需要对用户的反馈进行原因分类。
分类包括:价格过高、售后支持不足、产品使用体验不佳、其他。
用户的问题是:产品使用起来非常不方便,经常出问题。
回答格式为:分类结果:xx。仅返回分类结果,不需要任何额外解释或描述。

输入图片说明

但是一个个从表里复制,然后粘贴到大模型对话框,然后得到结果,是不是太low了点

这里我们使用通义大模型来实现,OpenAI Chat接口兼容

  1. 首先获取 api-key
  2. 将API Key配置到环境变量 这里如果仅自己测试不考虑安全问题,可以忽略
from openai import OpenAI

# 设置API密钥
client = OpenAI(
    api_key="your-openai-api-key",  # 如果您没有配置环境变量,请用百炼API Key将本行替换为:api_key="sk-xxx"
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填写DashScope SDK的base_url
)

# 用户反馈数组
user_feedbacks = [
    "这个手机太贵了,对于我这样的普通消费者不太友好。",
    "客服总是找不到,售后支持根本不给力。",
    "使用起来卡顿,体验很不好。",
    "包装有点损坏,不过可以接受。"
]

def classify_feedback(feedback):
    try:
        # 调用 OpenAI API 进行文本分类
        response = client.chat.completions.create(
            model="qwen-plus",
            messages=[
                {"role": "system", "content": "You are a helpful assistant."},
                {"role": "user", "content": f"分类以下用户问题的原因,只需提供分类结果:价格过高、售后支持不足、产品使用体验不佳、其他。用户的问题是:{feedback}\n回答格式为:分类结果:"}
            ],
            temperature=0
        )

        # 提取分类结果
        result = response.choices[0].message.content.strip()
        return result

    except Exception as e:
        return f"Error: {str(e)}"

# 对每个用户问题进行分类
for feedback in user_feedbacks:
    classification = classify_feedback(feedback)
    print(f"用户反馈: {feedback}\n{classification}\n")

是不是很牛,如果是纯人工,得费时费力,如果是算法开发,成本也高。大模型真是太香了。