Skip to content

AI 提示词

前言

在 AIEditor 中的 AI 菜单AI 命令AI 代码块 都是可以配置自定义的提示词 Prompt 的,例如菜单配置如下

ts
new AiEditor({
    element: "#aiEditor",
    ai:{
        // models:{...] 等其他配置
        menus:[
            {
                icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"></path><path d="M4 18.9997H20V13.9997H22V19.9997C22 20.552 21.5523 20.9997 21 20.9997H3C2.44772 20.9997 2 20.552 2 19.9997V13.9997H4V18.9997ZM16.1716 6.9997L12.2218 3.04996L13.636 1.63574L20 7.9997L13.636 14.3637L12.2218 12.9495L16.1716 8.9997H5V6.9997H16.1716Z"></path></svg>`,
                name: "AI 续写",
                prompt: "请帮我继续扩展一些这段话的内容",
                text: "focusBefore",
                model: "spark",
            },
            {
                icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"></path><path d="M15 5.25C16.7949 5.25 18.25 3.79493 18.25 2H19.75C19.75 3.79493 21.2051 5.25 23 5.25V6.75C21.2051 6.75 19.75 8.20507 19.75 10H18.25C18.25 8.20507 16.7949 6.75 15 6.75V5.25ZM4 7C4 5.89543 4.89543 5 6 5H13V3H6C3.79086 3 2 4.79086 2 7V17C2 19.2091 3.79086 21 6 21H18C20.2091 21 22 19.2091 22 17V12H20V17C20 18.1046 19.1046 19 18 19H6C4.89543 19 4 18.1046 4 17V7Z"></path></svg>`,
                name: "AI 优化",
                prompt: "请帮我优化一下这段文字的内容,并返回结果",
                text: "selected",
                model: "spark",
            },
        ]
    },
})

此时,用户选择了编辑器里的一段文字,假设被选中的文字内容为:"AIEditor 是一个不错的编辑器",然后点击 AI 优化 的菜单。

那么,AIEditor 会向大语言模型发送的内容如下:

AIEditor 是一个不错的编辑器
请帮我优化一下这段文字的内容,并返回结果

并等等大语言模型返回结果,让用户进行后续操作。此时,如果用户选中的文本内容,与 "请帮我优化一下这段文字的内容,并返回结果" 冲突,或者有可能产生额外含义的时候, 大语言模型返回的内容可能并不一定是我们想要的内容。

{content} 占位符

为了解决用户选择的文本,和简单的 prompt 提示词定义可能冲突的场景,AIEditor 支持在 prompt 内容中,添加自定义占位符 {content}

假设我们自定义的 prompt 提示词为:

请帮我优化一下的文字内容,并返回结果,文字内容为:
“{content}”

注意,只能返回中文内容,不能返回英文内容。

那么,假设用户选中编辑器的文字内容为:"AIEditor 是一个不错的编辑器",然后点击 AI 优化 的菜单时,AIEditor 发生给大语言模型的 prompt 如下:

请帮我优化一下的文字内容,并返回结果,文字内容为:
“AIEditor 是一个不错的编辑器”

注意,只能返回中文内容,不能返回英文内容。

通过 {content} 占位符的方式,会使得提示词变得更加清晰和易用。

Released under the LGPL-v2.1 License.