欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 【大模型从入门到精通12】openAI API 提示链的力量3

【大模型从入门到精通12】openAI API 提示链的力量3

2024/10/26 2:27:24 来源:https://blog.csdn.net/qq_32146369/article/details/140879410  浏览:    关键词:【大模型从入门到精通12】openAI API 提示链的力量3

这里写目录标题

        • 实践问题
      • 实践部分
      • 场景概述
        • 场景步骤
          • 初始产品询问
          • 故障排除请求
          • 保修问题
          • 额外产品推荐
        • 示例实现

在这里插入图片描述

实践问题
  • 编写一个名为retrieve_model_response的Python函数,该函数接受一个消息序列作为输入,并根据给定参数返回模型的响应。包括模型、温度和最大令牌数的参数。
  • 展示如何使用retrieve_model_response函数与系统指令和用户查询一起提取客户服务查询中的相关信息。
  • 创建一个样本产品数据库,并编写函数来通过名称获取产品细节和获取特定类别下的所有产品。
  • 展示如何将JSON字符串转换为Python列表以进一步处理,包括处理无效JSON字符串的错误处理。
  • 编写一个名为generate_response_from_data的函数,该函数将产品数据列表格式化为用户友好的响应字符串。
  • 使用描述的功能和方法,概述一个综合的客户服务互动场景,该场景处理初次产品询问、处理故障排除请求、回答保修问题,并提供额外的产品推荐。

实践部分

import openaidef retrieve_model_response(message_sequence, model="gpt-3.5-turbo", temperature=0, max_tokens=500):response = openai.ChatCompletion.create(model=model,messages=message_sequence,temperature=temperature, max_tokens=max_tokens, )return response.choices[0].message["content"]# 系统消息定义任务结构和预期响应格式
system_instruction = """
您将收到客户服务查询。查询将以 '####' 进行分隔。
输出一个Python对象列表,每个对象代表查询中提到的产品或类别。
"""# 用户询问特定产品和类别的示例
user_query = "#### 请告诉我关于 SmartX ProPhone 和 FotoSnap DSLR 相机的信息,还有你们的电视。####"# 为模型准备消息序列
message_sequence = [  {'role': 'system', 'content': system_instruction},    {'role': 'user', 'content': user_query},  
]# 使用函数获取模型的响应
extracted_info = retrieve_model_response(message_sequence)
print(extracted_info)# 示例产品数据库
product_database = {"SmartX ProPhone": {"name": "SmartX ProPhone","category": "智能手机及配件",# 其他产品详情...},"FotoSnap DSLR Camera": {"name": "FotoSnap DSLR Camera","category": "相机与摄影",# 其他产品详情...},"UltraView HD TV": {"name": "UltraView HD TV","category": "电视机",# 其他产品详情...},# 其他产品...
}# 通过名称获取产品信息的函数
def get_product_details_by_name(product_name):return product_database.get(product_name, "找不到该产品。")# 获取特定类别下所有产品的函数
def get_products_in_category(category_name):return [product for product_name, product in product_database.items() if product["category"] == category_name]# 示例使用
print(get_product_details_by_name("SmartX ProPhone"))
print(get_products_in_category("智能手机及配件"))import jsondef json_string_to_python_list(json_string):try:return json.loads(json_string)except json.JSONDecodeError as e:print(f"JSON解码错误: {e}")return None# 示例 JSON 字符串
json_input = '[{"category": "智能手机及配件", "products": ["SmartX ProPhone"]}]'# 转换并打印 Python 列表
python_list = json_string_to_python_list(json_input)
print(python_list)def generate_response_from_data(product_data_list):if not product_data_list:return "我们未能找到符合您查询的任何产品。"response_string = ""for product_data in product_data_list:response_string += f"产品名称: {product_data['name']}\n"response_string += f"类别: {product_data['category']}\n"response_string += "\n"  # 在产品之间添加换行符以留空行return response_string# 假设 python_list 是之前从 JSON 转换到 Python 列表的输出
python_list = [{'category': '智能手机及配件', 'products': ['SmartX ProPhone']}]
final_response = generate_response_from_data(python_list)
print(final_response)

场景概述

让我们概述一个场景,其中客户服务 AI 处理初始的产品询问、处理故障排除请求、回答保修问题,并提供额外的产品推荐。这个场景建立在上述功能之上。

场景步骤
初始产品询问
  • 用户询问:“我对升级我的智能手机感兴趣。你能告诉我关于最新款手机的信息吗?”
  • AI 处理:AI 使用 retrieve_model_response 提取查询中的相关产品名称,然后使用 get_product_details_by_name 获取这些产品的详细信息。
  • AI 响应:AI 使用 generate_response_from_data 格式化这些信息,并响应有关最新智能手机型号的详情。
故障排除请求
  • 用户询问:“我刚买了 SmartX ProPhone,但是我遇到了电池续航的问题。我应该怎么办?”
  • AI 处理:AI 识别产品和问题,然后咨询故障排除数据库或指南,提供具体的建议。
  • AI 响应:详细的故障排除步骤,以改善电池寿命或下一步保修服务的指引。
保修问题
  • 用户询问:“SmartX ProPhone 的保修涵盖什么内容?”
  • AI 处理:AI 从数据库中检索特定于 SmartX ProPhone 的保修信息。
  • AI 响应:保修覆盖内容的总结,包括保修期限和覆盖的问题。
额外产品推荐
  • 用户询问:“你有什么配件推荐给我这款手机吗?”
  • AI 处理:基于产品信息,AI 使用 get_products_in_category 获取兼容的配件列表。
  • AI 响应:AI 推荐配件如保护壳、屏幕保护膜和无线充电器,并使用 generate_response_from_data 格式化为易于理解的形式。
示例实现

假设上面提到的所有函数都已经定义好了。

  • 步骤 1:初始产品询问处理

    • 产品询问:“我对升级我的智能手机感兴趣。你能告诉我关于最新款手机的信息吗?”
    • 这里,你会模拟提取相关产品信息并相应地作出回应。
  • 步骤 2:故障排除请求处理

    • 故障排除请求:“我刚买了 SmartX ProPhone,但是我遇到了电池续航的问题。我应该怎么办?”
    • 处理请求,识别常见问题和解决方案以改善 SmartX ProPhone 的电池寿命。
  • 步骤 3:保修问题处理

    • 保修问题:“SmartX ProPhone 的保修涵盖什么内容?”
    • 检索并响应有关 SmartX ProPhone 的具体保修信息。
  • 步骤 4:额外产品推荐

    • 配件询问:“你有什么配件推荐给我这款手机吗?”
    • 识别并推荐与 SmartX ProPhone 兼容的配件。
  • 每个步骤涉及使用定义好的函数来处理用户的询问,并生成有信息量、有帮助的响应。

这个场景展示了通过一系列互动提供的综合客户服务。每个步骤都需要特定的 AI 处理来理解询问、检索相关数据,并将这些信息格式化为清晰的响应。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com