当前位置: 首页 > article >正文

python string中提取中文字符处理之后插入回原string

最近用LLM处理东西,我要求全英文处理和返回,但是的这个模型返回值中偶尔就会出现几个中文。想了个办法最小消耗token去处理这个中文问题。(prompt已经优化过了,还是会出现,应该是模型的问题)

就是用正则把中文提出来,然后做我们想要的处理,我就是把中文的list丢给LLM翻译再返回list,因为顺序是一样的,所以就可以再可以通过这种方式插入回去,相当于使用翻译的英文替换了原来的中文

import re

base_content=json_object['response']['body']['choices'][0]['message']['content'] #我的字符串来源,你直接放你自己的就可以了
chinese_list = re.findall(r'[\u4e00-\u9fff]+', base_content)  
#...做你需要的处理,我这边用的是LLM翻译成英文

def _insert_chinese_back(self,original_text, chinese_list):
        parts = re.split(r'([\u4e00-\u9fff]+)', original_text)
        parts = [part for part in parts if part]
        result = []
        chinese_iter = iter(chinese_list)
        for part in parts:
            if re.match(r'[\u4e00-\u9fff]+', part):
                result.append(next(chinese_iter, part))
            else:
                result.append(part)
        return ''.join(result)
base_content=self._insert_chinese_back(base_content,chinese_list)
    


http://www.kler.cn/news/354763.html

相关文章:

  • 【python爬虫基础】年轻人的第一个爬虫程序
  • C++简单多状态dp:按摩师、打家劫舍II、删除并获得点数、粉刷房子
  • 2024全新UI网址发布页源码带黑夜模式
  • WebSocket介绍和入门案例
  • xavier 在tensorflow pytorch中的应用,正太分布和均匀分布的计算公式不一样
  • 串的模式匹配算法_BF算法
  • 【实战案例】SpringBoot项目中异常处理通用解决方案
  • 单片机原理与应用——嵌入式系统中的核心控制器
  • MySQL从入门到跑路
  • 干货|antd组件库Table组件开启虚拟列表的影响
  • 深度解析RLS(Recursive Least Squares)算法
  • 【Spring篇】初识之Spring的入门程序及控制反转与依赖注入
  • 如何利用被动DNS(Passive DNS)加强网络安全
  • STM32学习笔记---RTC
  • 中级注册安全工程师《安全生产法律法规》真题及详解
  • 48 | 代理模式:代理在RPC、缓存、监控等场景中的应用
  • 分布式管理工具分析:Java、Go 和 Python
  • 【vue】keep-alive动态组件的基础用法
  • 【text2sql】基于上下文文学习的MCS-SQL框架在Spider和BIRD取得了新SOTA
  • 线性可分支持向量机的原理推导