Python3:多行文本内容转换为标准的cURL请求参数值

背景

在最近的工作中,经常需要处理一些接口请求的参数,参数来源形式很多,可能是Excel、知识库文档等,有些数据形式比较复杂,比如多行或者包含很多不同的字符,示例如下:

**客服质检分析指引**  
作为客服质检专家,您的任务是识别并分析客户与人工客服的对话内容,并提炼出结构化的信息。注意仅输出JSON结果,不需要输出其他任何分析信息。详细要求如下:  

1. 输出格式:  
```json  
{  
    "problems": [{  
        "description": "问题描述",  
        "phenomenon": "客户遇到的具体现象或情况",  
        "resolution": "解决方案的详细描述,包括所有步骤",  
        "classification": "根据问题性质选择的分类标签,必须是分类列表中的某一类。", 
        "status": "已解决/未解决/不明确",  
        "result": "问题解决结果或进一步跟进的说明"  
    }],  
    "csInfo": {  
        "service_attitude": "服务态度评分(1-5分)",  
        "service_satisfaction": "客户满意度评分(1-5分)"  
    }  
}

2.根据给定的JSON结构,构建JSON结果:
理解对话内容:首先,您需要阅读和理解客户与人工客服之间的对话内容。
提取问题信息:
- 问题描述:识别客户提出的问题或需求的关键描述。
- 现象描述:记录客户遇到的具体现象或情况。
- 解决方案:注意客服提供的所有解决方案,并客观、详细地描述每个步骤。
- 分类标签:从给定的分类列表中精准选取最贴合问题问题描述或现象的标签,必要时辅以解决方案内容判定,确保标签属于给定列表。
分类列表:
- 操作系统/组件调试/文件管理
- 操作系统/组件调试/系统时间

...省略部分内容...

在一些编程软件里面一般无需额外处理,比如在Python3中我们可以使用 """xxxx""" 处理多行文本,但直接复制作为Postman请求的参数时,会出现格式问题,如下:

解决方案

应该有很多种,下面给出了一种我常用的方案,比如在Python3中,直接使用 json.dumps 完成字符串处理。

import json

prompt = """
**客服质检分析指引**  
作为客服质检专家,您的任务是识别并分析客户与人工客服的对话内容,并提炼出结构化的信息。注意仅输出JSON结果,不需要输出其他任何分析信息。详细要求如下:  

1. 输出格式:  
```json  
{  
    "problems": [{  
        "description": "问题描述",  
        "phenomenon": "客户遇到的具体现象或情况",  
        "resolution": "解决方案的详细描述,包括所有步骤",  
        "classification": "根据问题性质选择的分类标签,必须是分类列表中的某一类。", 
        "status": "已解决/未解决/不明确",  
        "result": "问题解决结果或进一步跟进的说明"  
    }],  
    "csInfo": {  
        "service_attitude": "服务态度评分(1-5分)",  
        "service_satisfaction": "客户满意度评分(1-5分)"  
    }  
}

2.根据给定的JSON结构,构建JSON结果:
理解对话内容:首先,您需要阅读和理解客户与人工客服之间的对话内容。
提取问题信息:
- 问题描述:识别客户提出的问题或需求的关键描述。
- 现象描述:记录客户遇到的具体现象或情况。
- 解决方案:注意客服提供的所有解决方案,并客观、详细地描述每个步骤。
- 分类标签:从给定的分类列表中精准选取最贴合问题问题描述或现象的标签,必要时辅以解决方案内容判定,确保标签属于给定列表。
分类列表:
- 操作系统/组件调试/文件管理
- 操作系统/组件调试/系统时间

...省略部分内容...
"""


# 转换为JSON字符串
json_body = json.dumps({"prompt": prompt}, ensure_ascii=False)

# 打印转换后的字符串
print(json_body)

将输出的参数复制到Postman中,可以看到参数已经合法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/871787.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

性价比运动耳机有哪些?五大性价比运动耳机推荐!

作为一名资深的数码爱好者,我一直对各种新型耳机产品保持着浓厚的兴趣。最近,我因为很多运动爱好者都在询问什么耳机是比较适合运动的时候使用的,看了市面上的产品,开放式耳机无疑是一个不错的选择,它因为采用人体工学…

vue3+ts+vant4 列表下拉刷新+分页加载

效果图 主要代码&#xff1a; <van-pull-refreshv-model"refreshing"refresh"handleRefresh"pulling-text"下拉释放刷新"loosing-text"下拉释放刷新"loading-text"加载中"><van-listv-model:loading"loading…

WPS回应“崩了”:提供15天会员补偿,另有新羊毛,你还不来薅?

近期&#xff0c;“WPS崩了”这一话题在时隔两个月后&#xff0c;再次因多名用户反馈软件使用问题而登上微博热搜。 WPS官方微博随后发布消息称&#xff0c;经过工程师的紧急修复&#xff0c;WPS服务已经恢复正常。 为了补偿用户&#xff0c;在8月22日0点至24点期间&#xff…

【软件测试】软件测试岗位会越来越少吗?

我的整体意见是测试岗位不会变少&#xff0c;反而相对于其他岗位会变的更重要一些。 首先纠正一个非常非常错误的观念。测试和测试开发是两个岗位&#xff1f;No&#xff0c;不是的。测试开发是属于测试的。 测试开发只不过是使用类似于开发的技术和能力&#xff0c;来达到测…

CAPL如何实现在网络节点中添加路由Entry

其实不只是CANoe的网络节点,所有设备的应用程序如果要通过Socket套接字发送报文,在网络层都需要根据路由表里配置的路由条目选择发送路径。这个路由条目可以是静态配置,也可以是自动添加。 如果CANoe的网络节点添加一个网络接口,配置IP地址和子网掩码: 说明此网络节点在1…

C++ 设计模式——策略模式

策略模式 策略模式主要组成部分例一&#xff1a;逐步重构并引入策略模式第一步&#xff1a;初始实现第二步&#xff1a;提取共性并实现策略接口第三步&#xff1a;实现具体策略类第四步&#xff1a;实现上下文类策略模式 UML 图策略模式的 UML 图解析 例二&#xff1a;逐步重构…

Java Web —— 第七天(Mybatis案例 员工管理2)

新增员工 EmpController类 PostMappingpublic Result save(RequestBody Emp emp){log.info("新增员工操作,emp:{}",emp);empService.save(emp);return Result.success();} EmpServiceImpl实现类 //新增员工Overridepublic void save(Emp emp) {//补充基础属性 创…

台球助教在线预约小程序源码开发:打造便捷高效的台球学习新体验

在当今快节奏的生活中&#xff0c;台球作为一项集休闲、竞技与社交于一体的运动&#xff0c;受到了越来越多人的喜爱。然而&#xff0c;对于初学者而言&#xff0c;想要快速提升技能&#xff0c;往往需要专业的指导和陪练。传统的台球教练预约方式往往存在信息不对称、预约流程…

【Qt笔记】Qt界面显示时间

目录 一、前言 二、基本概念 三、代码实现 1. 获取本地时间&#xff0c;并将其转换成自己想要的格式 2.创建一个QLabel控件用于显示时间字符串 3.创建QTimer定时器更新时间 四、优化 1. 格式优化 1.1 初始化 1.2 获取星期 1.3 更改格式 1.4 定时器超时函数 1.5 …

多商户多套部署需修改注意事项

同一台服务器上部署多个多商户项目&#xff0c;需要修改和调整的地方等。 一、修改代码中的端口号&#xff0c;需要两个项目不能使用同一个端口号&#xff0c;例如&#xff1a;A项目用&#xff1a;8324&#xff0c;B项目用&#xff1a;8325&#xff1b; 二、修改反向代理&…

LCP 633 平方数之和 [leetcode - 8]

最近是在研究双指针啊&#xff0c;leetcode刷的题都是这方面的。都记录在最近的文章里&#xff0c;大家有兴趣可以去我主页看看 LCP633 平方数之和 给定一个非负整数 c &#xff0c;你要判断是否存在两个整数 a 和 b&#xff0c;使得 a2 b2 c 。 示例 1&#xff1a; 输入&…

Modbus 数据帧解析

Modbus 是一种通信协议&#xff0c;广泛应用于工业自动化系统中&#xff0c;用于连接电子设备。它是一种基于主从结构的通信协议&#xff0c;其中主设备可以与多个从设备通信。数据通过一系列的帧进行传输&#xff0c;每一帧包含多个字段&#xff0c;每个字段都有特定的功能。 …

HTML 列表和容器元素——WEB开发系列10

HTML 提供了多种方式来组织和展示内容&#xff0c;其中包括无序列表、有序列表、分区元素 ​​<div>​​ 和内联元素 ​​<span>​​、以及如何使用 ​​<div>​​​ 进行布局和表格布局。 一、HTML 列表 1. 无序列表 (​​<ul>​​) 无序列表用于展…

【Win开发环境搭建】Redis与可视化工具详细安装与配置过程

&#x1f3af;导读&#xff1a;本文档提供了Redis的简介、安装指南、配置教程及常见操作方法。包括了安装包的选择与配置环境变量的过程&#xff0c;详细说明了如何通过修改配置文件来设置密码和端口等内容。同时&#xff0c;文档还介绍了如何使用命令行工具连接Redis&#xff…

科研软件 | Diamond 4.6 安装教程

软件介绍 Diamond一个化学专业软件。它是一款在原子水平实现晶体结构可视化的软件&#xff0c;包括分子和聚合物扩展、多面体、搜索结构数据、自动和批量创建结构图片等功能&#xff0c;支持晶体结构着色和渲染以及批注。 软件下载 https://pan.quark.cn/s/37214b5bec7c 软…

05、Redis实战:优惠券秒杀、优化异步下单

6、秒杀优化 6.1 秒杀优化-异步秒杀思路 我们先来回顾一下下单流程当用户发起请求&#xff0c;此时会先请求Nginx&#xff0c;Nginx反向代理到Tomcat&#xff0c;而Tomcat中的程序&#xff0c;会进行串行操作&#xff0c;分为如下几个步骤 查询优惠券判断秒杀库存是否足够查询…

音视频相关知识

H.264编码格式 音频 PCM就是要把声音从模拟信号转换成数字信号的一种技术&#xff0c;他的原理简单地说就是利用一个固定的频率对模拟信号进行采样。 pcm是无损音频音频文件格式 每秒15帧 一秒钟300kb 单位&#xff1a;像素

故障频发,给我一个完美的解释...

1.盘点事故 8月19日&#xff0c;网易云音乐「崩了」&#xff0c;网页端报错&#xff0c;App 无法使用&#xff0c;什么原因&#xff1f;你那受影响了吗&#xff1f; 一次更新&#xff0c;一串代码&#xff0c;全球宕机。7月19日下午发生了全球范围内的Windows大面积蓝屏事件&a…

Django | 从中间件的角度来认识Django发送邮件功能

文章目录 概要中间件中间件 ---> 钩子实现中间件demo 邮件发送过程Django如何做邮件服务配置流程 中间件结合邮件服务实现告警 概要 摘要 业务告警 邮件验证 密码找回 邮件告警 中间件 中间件 —> ‘钩子’ 例如 访问路由 的次数【请求】 中间件类须实现下列五个方法…

C++,std::queue 详解

文章目录 1. 概述2. 包含头文件3. 基本操作3.1 构造函数3.2 赋值操作3.3 成员函数 4. 迭代器5. 示例6. 注意事项参考 1. 概述 std::queue 是 C 标准模板库&#xff08;STL&#xff09;中的一个容器适配器&#xff0c;它提供了一种先进先出&#xff08;FIFO&#xff09;的数据结…