【OpenAI】第七节(提效实用案例)使用OpenAI API Key,实现问题分类全教程!

252 阅读5分钟

前言

人工智能,尤其是OpenAI,已经成为现代技术的重要组成部分。然而,许多人仍然不清楚它的实际用途。今天,我将通过一个实际的例子,教你如何使用OpenAI API来实现一个完整的客户反馈问题分类系统。在用户反馈中,我们常常会收到各种各样的问题,但这些反馈的类型往往不尽如人意。虽然我们可以设定一些分类规则,但用户的反馈仍然可能会混乱不堪。这时,人工筛选和分类就显得尤为繁琐。AI的出现,可以帮助我们省去这部分人力,让团队专注于更有价值的工作。

image.png

一、文章价值

通过本教程,你将学习到:

  1. OpenAI API的基本使用方法。
  2. 如何将用户输入的内容分类为不同类型(如:bug类型、用户体验问题、用户吐槽)。
  3. 实际代码示例,帮助你快速上手。

使用OpenAI的API来实现问题分类,不仅可以提高工作效率,还能帮助团队更好地理解用户需求。本文将详细讲解如何使用OpenAI的API实现问题分类,并探讨其优点和应用场景。💡

二、OpenAI的优势

在实现问题分类之前,让我们先了解一下使用OpenAI的优点:

  1. 高效性:OpenAI的模型经过大量数据训练,能够快速理解和处理自然语言,减少人工干预的需求。
  2. 准确性:通过深度学习,OpenAI能够提供高准确率的分类结果,帮助团队更好地识别问题。
  3. 灵活性:API支持多种输入格式和输出类型,可以根据需求进行定制化。
  4. 实时性:使用流式输出,可以实时获取分类结果,提升用户体验。

image.png

三、准备OpenAI API Key

OpenAI API Key如何获取,我们在之前的文章内已经讲过了,所以不知道怎么获取的小伙伴,可以直接在这里查看教程!

点击这里:【OpenAI】第一节(OpenAI API)获取OpenAI API KEY的两种方式,开发者必看全方面教程!

四、环境准备

我们该示例是用的Python代码来实现的。

在开始之前,请确保已经安装了openai库。如果没有安装,可以通过以下命令进行安装:

pip install openai

步骤一:创建OpenAI客户端

首先,我们需要创建一个OpenAI客户端,并配置API密钥和基础URL。以下是创建客户端的代码:

from openai import OpenAI

# 创建OpenAI客户端
client = OpenAI(
    api_key="your_api_key",  # 你自己创建的Key
    base_url="your_base_url"  # 你的base_url
)

请将your_api_key替换为你的实际API Key密钥。 请将your_base_ur替换为你的实际base_url。

image.png

步骤二:定义API调用函数

接下来,我们定义一个函数api,用于调用OpenAI的API,并处理输入内容。这个函数会接受一个参数content,即用户输入的内容。

def api(content):
    print()
    # 这里是系统提示词
    sysContent = f"请对下面的内容进行分类,并且描述出对应分类的理由。你只需要根据用户的内容输出下面几种类型:bug类型,用户体验问题,用户吐槽." \
                 f"输出格式:[类型]-[问题:{content}]-[分析的理由]"
    response = client.chat.completions.create(
        messages=[
        	# 把系统提示词传进来sysContent
            {'role': 'system', 'content': sysContent},
            # 把用户提示词传进来content
            {'role': 'user', 'content': content},
        ],
        # 这是模型
        model='gpt-3.5-turbo',
        stream=True
    )

    for chunk in response:
        print(chunk.choices[0].delta.content, end="", flush=True)

在这个函数中:

  1. 我们构建了一个系统消息sysContent,该消息指引模型如何对用户输入进行分类。
  2. 使用client.chat.completions.create方法调用OpenAI的API。
  3. 使用stream=True参数以流式输出的方式处理响应。
  4. 遍历响应的每个chunk并打印结果。

步骤三:测试API调用

最后,我们在__main__块中调用api函数,并传入要分类的内容。你可以替换content的值以测试不同的输入。

if __name__ == '__main__':
	
    # content = "这个功能不好用啊"  # 这是用户问题
    # content = "这个按钮点击后打不开"  # 这是用户问题
    content = "这个页面不太好看"  # 这是用户问题
    api(content)

五、完整代码

以下是完整的代码:

from openai import OpenAI

# 创建OpenAI客户端
client = OpenAI(
    api_key="your_api_key_here",
    base_url="http://api.aihao123.cn/luomacode-api/open-api/v1"
)

def api(content):
    print()
    sysContent = f"请对下面的内容进行分类,并且描述出对应分类的理由。你只需要根据用户的内容输出下面几种类型:bug类型,用户体验问题,用户吐槽." \
                 f"输出格式:[类型]-[问题:{content}]-[分析的理由]"
    response = client.chat.completions.create(
        messages=[
            {'role': 'system', 'content': sysContent},
            {'role': 'user', 'content': content},
        ],
        model='gpt-3.5-turbo',
        stream=True
    )

    for chunk in response:
        print(chunk.choices[0].delta.content, end="", flush=True)

if __name__ == '__main__':
    # content = "这个功能不好用啊"
    # content = "这个按钮点击后打不开"
    content = "这个页面不太好看"
    api(content)

下面是输出结果:

content = "这个功能不好用啊"

[用户体验问题]-[问题:这个功能不好用啊]-用户反馈功能存在使用上的困难或不便利,影响用户体验。

content = "这个按钮点击后打不开"

[bug]-[问题:这个按钮点击后打不开]-[用户描述了一个明显的功能异常,按钮点击后应该打开对应的页面或执行相应的操作,但实际上却没有任何反应,这符合bug类型的特征。]

content = "这个页面不太好看"

[用户体验问题]-[问题:这个页面不太好看]-用户提到页面不太好看,属于用户体验问题,可能涉及到页面设计、颜色搭配等方面。

既然结果出来了,我们就可以利用代码把分类好的内容进行总结,或者再利用AI进行分析,实现一个全自动化的功能,提升我们的效率。

六、结语

通过以上步骤,你已经学会了如何使用OpenAI的API对用户输入的内容进行分类,并输出分析理由。你可以根据实际需求修改分类类型和分析逻辑,以适应不同的应用场景。🌟

希望这篇文章能帮助你在项目中更好地利用OpenAI的强大功能!如果你有任何问题或建议,欢迎在评论区留言,我们一起探讨!💬