go实现AI数字人 - 把流式内容转语音时,过滤掉markdown语法的内容

近期,在处理AI数字人项目时,遇到需求:

客户端呈现实时语音内容,但是转语音时又要过滤掉markdown语法,让这些内容只进行显示,不进行语音转义

首先声明: 本次大模型一个是使用公司自研的,另一个是使用的阿里云的通义千问

以下是基于golang实现的,核心是 正则匹配markdown语法的判断,可以直接使用。

如果遇到相关问题,可以通过调整 正则匹配 进行完善。

type MarkdownProcessor struct {
   
	inCodeBlock bool
}

func (self *MarkdownProcessor) Do(value string) string {
   
	lines := strings.Split(value, "\n")
	var result []string

	for _, line := range lines {
   
		trimmedLine := strings.
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 tinymce-markdown 插件将 tinymce 富文本框的内容换为 Markdown 格式,需要以下步骤: 1. 引入 tinymce 和 tinymce-markdown 插件的 js 文件。 ```html <script src="https://cdn.tiny.cloud/1/myscript.js"></script> <script src="https://cdn.jsdelivr.net/npm/tinymce-markdown@3.0.2/dist/tinymce-markdown.min.js"></script> ``` 2. 初始化 tinymce 编辑器,并启用 tinymce-markdown 插件。 ```javascript tinymce.init({ selector: 'textarea', plugins: 'markdown', toolbar: 'undo redo | bold italic | markdown', height: 500, setup: function (editor) { editor.on('init', function () { // 将 tinymce 编辑器中的内容换为 markdown 格式 var content = editor.getContent(); var markdown = editor.plugins.markdown.parse(content); console.log(markdown); }); } }); ``` 在初始化代码中,我们启用了 markdown 插件,并添加了一个名为 markdown 的按钮到编辑器的工具栏中。在 `setup` 回调函数中,我们监听了编辑器的 `init` 事件,并在事件回调函数中调用了 `editor.plugins.markdown.parse(content)` 方法,将编辑器中的内容换为 Markdown 格式,并输出到控制台中。 3. 使用换后的 Markdown 格式进行后续操作。 在换后,你可以使用换后的 Markdown 格式进行后续操作,例如将它保存到数据库中,或者将它在网页中渲染为 HTML 格式。可以使用一些流行的 Markdown 渲染库,例如 marked 或 markdown-it 来将 Markdown 换为 HTML 格式。 ```javascript // 使用 marked 将 Markdown 换为 HTML var html = marked(markdown); console.log(html); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值