ChatGPT访问及内容安全技术设计

ChatGPT访问及内容安全技术设计

作者:黑夜路人

时间:2023/5/15

作为爆火的AIGC产品ChatGPT,以及类似的产品 CluadeBard、Newbing 等等,让大家趋之若鹜,如何把这些产品映射到自己的业务产品中,也是很多开发者需要面对的问题。

针对AIGC,国家部门也有一些针对AIGC的内容安全的要求,网信办征求意见稿,针对AI生成内容设定这些要求:

  • 第十一条 提供者在提供服务过程中,对用户的输入信息和使用记录承担保护义务。不得非法留存能够推断出用户身份的输入信息,不得根据用户输入信息和使用情况进行画像,不得向他人提供用户输入信息。法律法规另有规定的,从其规定。
  • 第十二条 提供者不得根据用户的种族、国别、性别等进行带有歧视性的内容生成。
  • 第十三条 提供者应当建立用户投诉接收处理机制,及时处置个人关于更正、删除、屏蔽其个人信息的请求;发现、知悉生成的文本、图片、声音、视频等侵害他人肖像权、名誉权、个人隐私、商业秘密,或者不符合本办法要求时,应当采取措施,停止生成,防止危害持续。
  • 第十四条 提供者应当在生命周期内,提供安全、稳健、持续的服务,保障用户正常使用。
  • 第十五条 对于运行中发现、用户举报的不符合本办法要求的生成内容,除采取内容过滤等措施外,应在3个月内通过模型优化训练等方式防止再次生成。
  • 第十六条 提供者应当按照《互联网信息服务深度合成管理规定》对生成的图片、视频等内容进行标识。 (来源:www.cac.gov.cn/2023-04/11/… )

虽然ChatGPT等产品,能够帮助我们,确实可以通过代理或者是API接入到自己的业务,但是里面有很多问题需要解决:

  • 模型会因为用户提问问题的不同,而产出错误、胡说的答案,距离预期较远
  • 恶意用户可以通过“红蓝对抗”可以干扰模型的输出,并以此来影响正常的应用
  • 由于ChatGPT的****Moderation对于中文支持不好,生成的内容会存在涉黄、涉暴、涉政等问题,或者一些不符合我国价值观体系的可能性。
  • 调用API的方式,使用过程中的所有数据均存放在OpenAI自己的模型中,所有数据存放在海外

所以,需要针对性的设计安全的chatGPT的架构来最大化减小这样的问题产生,从而让应用正常使用,能够保证不影响业务的落地。

AIGC应用难点

  • 解决回答问题的安全规范问题
    • 对于用户提问的问题,不再去肆意生成,而是从语料库中查找,依据语料库去生成
    • 对于语料库之外的问题,GC范式内容
  • 解决提问问题的安全审查问题
    • 基于第三方内容审核机制,通过关键词库、语义理解进行匹配
    • 机审的准召率并不能覆盖全部,需要引入人工审查的机制
  • 语料库的搭建、动态修改&生效,语料库的匹配
  • 相似问题的embedding机制,减少调用,缩减成本
  • chatGPT带来的并发限制,多账号并行调度方案
  • 单个账号的唯一session问题
  • 完成会话封装,并形成缓存设计,方便后期做优化
  • 快速访问链路问题,最大限度减少链路耗时(这部分本文不做深入探讨)

AIGC内容安全审查技术设计

针对AIGC返回的内容,对于内容安全是个重中之重的问题,为了保证遵守相关法律法规和不违背公序良俗,如果需要把AIGC应用到业务中,内容的安全性是必须考虑的重要因素。

在技术方案设计方面,自然需要深入考虑这个部分。

技术方案

安全审核数据流向图

ChatGPT访问及内容安全技术设计

  • 针对数据流入和数据流出,统一进行内容审核教研
  • 首先数据都会经过接入服务,接入服务中的内容审核模块,对所有的数据进行安全性校验
  • 将数据发送给第三方审核服务,第三方服务将待定的审核结果吐给人工审核
  • 人工审核后台确认文本内容没有问题,则返回给接入服务
  • 如果人工审核发现文本有问题,则直接返回内部审核错误
  • 接入服务此时将数据往下传递或者返回

内容审核接入方案

  • 业务上
    • 结合一些内外部的内容过滤审核服务(SaaS服务),具备人工审核能力的同时,可以采用接入的很多国内的云厂商的产品
  • 技术上
    • 延迟上,文本的内容审核在200ms左右
    • 接口是HTTP接口,可以直接调用

内容安全技术泳道图

ChatGPT访问及内容安全技术设计

AIGC内容审核

ChatGPT访问及内容安全技术设计

  • 文本内容: (来自chatgpt的自动生成) 针对这些设计复杂问题需要有不同的辨别能力,如果有比较强处理能力的内容,比如针对下面内容的鉴别:

新疆是中国西部的一个地区,主要由维吾尔族等少数民族组成。xxxxxxxxxxxxxx(此处省略100字),中国政府已经采取了一系列措施,以促进新疆地区的文化和教育发展。例如,加强教育投资,提高教师队伍水平,改善学校设施和条件,加强维吾尔语和其他少数民族语言的教育等。这些措施有助于提高新疆地区的文化和教育水平,并改善当地居民的生活状况。 通过一些服务进行内容鉴别:

ChatGPT访问及内容安全技术设计

ChatGPT访问及内容安全技术设计

通过以上内容审核,如果发现总体整个内容存在风险,可以进行良好的直接过滤或者是进行内容的重新请求。

AIGC内容缓存和相关性技术设计

对于AIGC请求的内容,一个比较常见的问题就是,如果是类似的重复咨询的问题,是否可以直接从缓存中进行返回,而不需要反复请求接口。但是不同用户针对同类问题可能提问方式是不同的,比如说针对“感冒了应该怎么办”这个问题,可能提问方式有这么几种:

markdown

复制代码
* 我感冒了应该怎么办
* 我鼻塞流鼻涕发烧了,应该是感冒了
* 感冒了我是多喝热水还是吃抗生素
* ……

每次提问都不同,如果依赖于传统的关系型数据库或者是Redis这种依赖于强制唯一标识KEY等方式,是无法把这些问题归类,从本地缓存的。

所以需要解决这个问题,里面其实有两个需要解决的问题:

  • 提问或者内容相关性问题
  • 返回内容如何更好的进行缓存的问题 针对这些场景的问题,所以需要考虑AIGC内容的相关性和缓存问题的解决技术设计。

针对这些问题,目前调研过的主要解决方案包括有 LangChain、Llama-Index、Gpt-Cache等解决方案,底层很多都是基于 LangChain框架为主的实现。

技术方案

LIamaIndex 和语料库的关系逻辑

ChatGPT访问及内容安全技术设计

  • 用户通过语料后台,上传语料数据。
  • 语录数据通过LlamaIndex chunk成多份,通过OpenAI  Embeddings 获取向量结果存储到向量库
  • 用户提出问题,通过缓存系统,如果命中,直接返回结果。
  • 如果用户提出的问题,缓存系统未命中,则通过LlamaIndex检索相关性,并将检索的内容插入到prompt中。
  • 合并后的prompt调用openai接口。获取数据,返回给用户

方案调研

GPT-Cache

什么是gpt-cache,解决了什么问题

ChatGPT 和各种大型语言模型 (LLM) 拥有令人难以置信的多功能性,能够开发广泛的应用程序。但是,随着您的应用程序越来越受欢迎并遇到更高的流量级别,与LLM API调用相关的费用可能会变得很大。此外,LLM服务可能会表现出较慢的响应时间,尤其是在处理大量请求时。gpt-cache用于为 LLM 查询创建语义缓存的库将LLM API成本降低10倍,将速度提高100倍。

为什么使用gpt-cache,它的优势

  • 减少费用
  • 增强的性能
  • 适应性强的开发和测试环境
  • 改进的可伸缩性和可用性

LIamaIndex

什么是LlamaIndex

复制代码
LlamaIndex(GPT索引)是一个项目,它提供了一个中央接口,将您的LLM与外部数据连接起来

LlamaIndex 解决了什么问题

  • 解决了如何最好地使用自己的私有数据来增强LLMs。
  • 数据摄取是将我们的数据引入到LLMs中的过程
  • 数据索引是使我们能够更快速地检索数据的过程。 这两个组成部分对于在私有数据上的LLMs数据增强至关重要。而这正是LlamaIndex 解决的。

LlamaIndex 提供了一套私有数据增强的解决方案

LlamaIndex是一个简单、灵活的接口,连接你的外部数据和LLM模型。它以易于使用的方式提供以下工具:

  1. 提供数据连接器,连接你现有的数据源和数据格式(API、PDF、文档、SQL等)。
  2. 为LLM的使用提供了结构化和非结构化数据的索引。这些索引有助于抽象出通用的样板和痛点,用于上下文学习:
  • 存储上下文,以便于插入提示。
  • 处理提示限制(例如Davinci的4096个标记),当上下文太大时。
  • 处理文本拆分。
  1. 为用户提供查询索引的接口(输入提示并获得增强的知识输出)。
  2. 提供了一个综合的工具集,权衡成本和性能。

LangChain

什么是LangChain

LangChain是一个用于开发由语言模型驱动的应用程序的框架

LangChain解决了什么问题

  • 数据感知:将语言模型连接到其他数据源

要让应用程序具备数据感知性,即让语言模型能够连接到其他数据源。这意味着,除了使用语言模型处理自然语言相关的任务外,LangChain 框架还可以让我们将语言模型与其他数据源进行连接,以便更好地处理和分析这些数据。 例如,我们可以将语言模型与社交媒体数据源连接起来,以分析用户的情感和观点。我们还可以将语言模型与搜索引擎连接起来,以便更好地理解用户的搜索意图。这种连接语言模型与其他数据源的方法可以让我们的应用程序更具洞察力,更能够满足用户的需求。

  • 代理:允许语言模型与其环境交互

要让应用程序具备主动性,即让语言模型能够与其所在的环境进行交互。

这意味着,在使用语言模型的过程中,LangChain 框架不仅可以让我们输入一些自然语言文本并获取模型的输出结果,还可以让模型主动地与其所在的环境进行交互。例如,我们可以让语言模型通过语音识别技术来识别用户的口头指令,并根据用户的指令做出相应的回应。这种让模型主动地与环境交互的方式可以让我们的应用程序更具智能性和人性化,更能够满足用户的需求。

LangChain详解

LangChain作为基础,我们在构建AIGC的应用时,将使用其很多能力。它的概念的调研有必要熟悉,有助于对gpt-cache和LlamaIndex的更深入理解。

LangChain框架的目标

  • 数据感知:将语言模型连接到其他数据源

要让应用程序具备数据感知性,即让语言模型能够连接到其他数据源。这意味着,除了使用语言模型处理自然语言相关的任务外,LangChain 框架还可以让我们将语言模型与其他数据源进行连接,以便更好地处理和分析这些数据。

例如,我们可以将语言模型与社交媒体数据源连接起来,以分析用户的情感和观点。我们还可以将语言模型与搜索引擎连接起来,以便更好地理解用户的搜索意图。这种连接语言模型与其他数据源的方法可以让我们的应用程序更具洞察力,更能够满足用户的需求。

  • 代理:允许语言模型与其环境交互

要让应用程序具备主动性,即让语言模型能够与其所在的环境进行交互。

这意味着,在使用语言模型的过程中,LangChain 框架不仅可以让我们输入一些自然语言文本并获取模型的输出结果,还可以让模型主动地与其所在的环境进行交互。例如,我们可以让语言模型通过语音识别技术来识别用户的口头指令,并根据用户的指令做出相应的回应。这种让模型主动地与环境交互的方式可以让我们的应用程序更具智能性和人性化,更能够满足用户的需求。

LangChain****框架能力

实现这2个目标,根据框架官网提供的说明,LangChain提供的能力如下。

  • 组件:LangChain 提供了模块化的组件,这些组件可以与语言模型一起使用,从而使应用程序能够处理各种语言相关的任务。这些组件非常易于使用,并且可以独立于 LangChain 框架使用
  • 用例特定的链:用例特定的链是指将组件按照特定方式组装起来,以便更好地处理某些特定的任务。这些链旨在使人们更容易地开始处理某些特定的任务,并且可以进行定制,以满足应用程序的需要

LangChain、LlamaIndex和gpt-cache的关系和区别

  • LangChain是框架是底层。LlamaIndex和gpt-cache基于LangChain开发,尤其是LlamaIndex完全是基于LangChain开发。
  • LlamaIndex侧重点在于专注数据层面的处理
  • gpt-cache则主要解决提升访问llm api的性能以及减低成本。

三者的关系从上到下。是gpt-cache、LlamaIndex,最后LangChain。

技术选型风险

  • 三者都在快速迭代中。存在API的变化以及方向上的改变。对于使用者是一个潜在风险
  • 都是python。尤其是LLM api是封装并以SDK集成在项目中。并没有解决国内openai api访问存在限制的情况。还需要论证这方面
  • LangChain是基础,LlamaIndex基于LangChain开发。LlamaIndex能做的,LangChain都能做。

相似度缓存泳道图设计

GPTcache和 接入服务的关系

ChatGPT访问及内容安全技术设计

  • 用户发起chat请求,接入服务接收到用户的chat请求,调用内容审核服务进行内容审核。并将审核结果返回给接入服务
  • 接入服务接收到内容审核结果。如果可以继续访问,则调用策略服务。
  • 策略服务接收到chat请求,进行策略分配。策略分配完成,调用缓存服务。
  • 缓存服务接收到chat请求。进行缓存匹配。如果命中,则直接返回结果给用户
  • 缓存未命中,调用代理服务
  • 代理服务接收到chat请求,调用openai接口,并返回数据给内容审核服务
  • 内容审核服务接收到代理服务结果进行内容审核。并将结果返回给接入层
  • 接入层根据审核结果返回数据给用户

安全AIGC服务架构设计

基于以上难点和技术调研设计,进行各个方向定向突破设计,总体最终安全的AIGC内部服务技术架构图如下:

ChatGPT访问及内容安全技术设计

架构描述

本次架构设计,涉及5个服务,分别为接入服务、策略服务、缓存服务、语料后台和代理服务

  • 接入服务: – 主要分为 审核能力、功能调用和缓存调用三个主要模块。
    • 审核能力主要解决文本涉黄、涉暴、涉政的问题,主要接入的中台的AI审核能力
    • 功能调用主要解决chat的会话封装、图片能力的封装、纠错、微调、语音转文本等的AIGC能力封装
    • 缓存模块主要解决热点数据访问,减少链接调用时间,增加相似度运算,解决同类问题的跨海调用
  • 策略服务 – 主要分为 计费、限流、多账号管理、调度策略、任务队列五个模块
    • 计费模块解决调用第三方AIGC所产生的费用,统计剩余调用空间,为调度做准备
    • 限流模块主要解决并发问题,由于第三方AIGC的并发限流,所以需要在次模块进行解决对应的限流问题
    • 多账号管理主要解决由于单账号的并发限制,通过增加账号的手段去整体提高系统的并行能力
    • 调度策略主要解决代理调度问题,防止出现IP被封禁的情况
    • 任务队列主要解决任务堆积、任务优先级等问题。由于AIGC的反应时间较长,如果需要增加业务优先级,可以优先调用,比如单次调用错误等。
  • 缓存服务 – 主要分为相似度计算模块、GC文本缓存模块、GC向量缓存模块
    • 相似度计算模块主要为了计算用户提问的问题和历史已有问题的相似度,提高安全性和可控性
    • GC文本缓存模块主要是为了缓存相似问题所对应的GC响应,减少chatGPT调用和解决同一问题不同回应的问题
    • GC向量缓存模块是为了将提问的问题向量缓存化,解决同一问题,不同问法多次调用的问题,向量存储是为了进行相似度运算。
  • 语料后台 – 主要分为动态重建和实时更新
    • 动态重建是为了解决在C端服务运行时,如果业务方更新语料库,则不需要停止服务,而是直接利用新的语料库训练chatGPT,并形成对应的微调模型,之后用新的模型提供服务
    • 实时更新是为了解决某些语料安全性问题,需要实时去更新对应的语料库,并出发重建
  • 代理服务 – 代理服务分初权限控制、策略解析、账号分配、请求处理等。
    • 本内容不做过多描述

解决方案

设计本身基于背景和难点,分为三大层级,5个服务去解决对应的问题,如下:

内容安全审查设计 接入服务-安全模块
  • 提问问题的安全性校验(涉黄、涉暴、涉政)
  • 根据语料库生成答案的安全性校验
内容相关性设计 语料后台
  • 回答问题的准确性(胡说、乱说问题)
  • 语料库的搭建、动态修改&生效,语料库的匹配
内容代理访问设计 接入服务-功能模块
策略服务
缓存服务
代理服务
  • 相似问题的embedding机制,减少调用,缩减成本
  • chatGPT带来的并发限制,多账号并行调度方案
  • 单个账号的唯一session问题
  • 完成会话封装,并形成缓存设计,方便后期做优化
  • 代理最大限度减少链路耗时

总结

需要把AIGC的各类国内外服务映射到自己的服务,需要走的路还很长,内容安全性和内容缓存,以及跨海外的服务访问和性能都是需要关注的问题。

本文从这些场景出发,实事求是调研设计考虑可靠的落地方案,希望能够给很多想要在自己业务中应用落地AIGC服务的技术伙伴有个很好的“安全的AIGC调用方案技术架构设计”的思路,希望对大家有帮助。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。商机网仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 tenspace2022@163.com 举报,一经查实,本站将立刻删除。 本文链接:https://www.315965.com/n/61389.html 聚才发 母婴好物

(0)
上一篇 2023年12月25日 上午4:44
下一篇 2023年12月25日 上午4:54

相关推荐

  • 抖音权重下降了怎样快速恢复(三个降权的补救提升方法)

    大家好,我是二小姐,今天是2024年的10月18号那么这里讲一下关于抖音账号的几种不同的权种第一种情况。   很多同学问的最多的一个问题就是说,二小姐你看我这个账号,我这个播放量只有100个,现在还能不能够用,这个账号能不能够用?如果你发了一两百个作品出去,播放量都还是只有几十个,100个,连200个都没有超过,那你最好就换一个账号,因为这个怎么说呢,有些手…

    2023年8月13日
    880
  • 宫保鸡丁的做法 正宗 步骤(宫保鸡丁的做法及配料)

    By 安逸Juliana 用料 鸡胸肉 1块 黄瓜 1/2根 胡萝卜 1/3根 葱 适量 蒜 适量 【腌料】 : 料酒 2勺 盐 2匙 玉米淀粉 1勺 【调料汁用料】 : 生抽 2勺 醋 2勺 糖 1勺

    2023年8月2日
    240
  • 在中国,这些小店向阳生长

      图一   图二   图三   福建省福州市三坊七巷历史文化街区吸引不少市民前来游玩。 谢贵明摄(人民视觉)   本报2020年6月18日推出的小店报道版面图。 街角的那间小店怎么样了? 疫情3年,无论作为顾客、朋友抑或路人,我们一次次心怀关切。生活中的“附近”,是由小店搭建的;中国经济的“毛细血管”,也是由小店串联而成的。中国有1亿多个体工商户和大量小微…

    2023年12月23日
    184
  • 笔记本电脑怎么u盘装系统教程(u盘重装系统详细步骤)

    使用U盘重装系统是最普遍的做法,不管什么电脑,都可以用U盘重装系统,尤其是笔记本电脑,有部分电脑没有光驱,下面我们就来学习一下笔记本电脑用u盘重装系统怎么操作步骤吧。 更多win11安装教程小白系统重装官网 1、首先需要制作u盘启动盘。按照图中所示安装好装机吧一键重装系统工具打开后,插入一个8g以上的空白u盘,选择u盘重装系统模式,点击开始制作启动盘。 2、…

    2023年7月30日
    409
  • 笔记本电脑怎么截图快捷键(笔记本电脑怎么截图快捷键win10)

    Windows 10系统是目前最主流的Windows操作,也是全球市场份额最高的一款PC端桌面操作系统。今天,小雨为大家介绍Win10系统中最实用的6种截图方法,不但包含常用的快捷键截图法,而且可以自由截取任意形状的区域,非常方便实用。 熟练掌握这6种方法,就再也不用依靠vx和QQ等其它第三方应用软件来截图了。 方法1、快捷键PrintScreen 这个快捷…

    2023年7月29日
    201
  • 苹果怎么设置手机铃声教程图片(苹果怎么设置手机铃声教程图片步骤)

    我们经常看到这种情况:公共场所一个苹果手📱机铃声响起,其他人个个都拿起手📱机来看,之所以出现这种情况,是因为很多人不知道怎样设置自己喜欢的铃声。其实,要想把自己喜欢的歌曲设置成苹果手📱机的铃声,还是有办法的,赶紧随我一起来操作一遍吧。大家记得收藏一下哦,方便以后随时查看。 苹果手📱机设置铃声没有安卓手📱机那么方便,安卓手📱机通过手📱机设置,就可以直接把手📱机…

    2023年7月30日
    244
  • 我的世界新手教程手机(我的世界手机新手入门攻略)

    1.Minecraft Minecraft是一个沙盘游戏,是一个高度自由的游戏。整个游戏没有终点,你可以在世界里任意发挥你的想象力和能力。 生存模式:你需要不断地收集资源,探索世界,寻找食物来生存下来,整个生存模式没有最终目标。死后可以选择复活。 创造模式:你可以飞行,你拥有无限的资源,能够尽情的创造建筑等,甚至是大型红石设备。 冒险模式:你不能破坏与放置方…

    2023年7月31日
    374
  • 设计师和程序员必备:全世界最著名的 icon 网站都在这了

      作为一个多年的独立开发者,收藏了非常多免费无版权图片网站、免费 icons、知名的技术人博客、有趣的网站等等,今天给大家分享我这几年收藏的 icon 网站,觉得好呢,点个赞关注个专栏,有补充呢給我留个言,感谢大家。 icons8 :拥有 42,800 个免费图标,提供各个的基础图标与分类图标,其特色是大小和颜色随意自定义。   ico…

    2023年12月15日
    169
  • 初级瑜伽基础入门教程(基础瑜伽入门)

    初学者练瑜伽,总会感觉身体僵硬、身体打不开、很多体式做不到位!其实初接触瑜伽,由于身体肌肉、筋膜都还比较紧张,不适合练习太大幅度的体式,需要循序渐进地练习! 今天分享一套超级适合初学者练习的瑜伽序列,全身都能锻炼到,体式也不难,把这篇文章收藏起来,坚持练习! 1、下蹲式 山式站立,双脚分开略比肩宽 双脚、双膝向外打开约45度 吸气,脊柱延展,呼气,收核心 屈…

    2023年8月2日
    375
  • html网页制作的基本步骤(html网页制作实例教程)

    随着各种网页制作工具的普及,现在不懂技术的个人也能顺利建站了。不过使用网页制作工具虽然简单,但仍有很多细节需要注意,并且要遵循一定流程。那么个人究竟该如何建站呢?下面就给大家详细科普下个人网页制作教程: 第一步:确定网站定位 先要想明白你打算用这个网站做什么,是做个人博客网站,用来记录生活,还是想做一个简历网站,用来找工作?或者是做一个自媒体网站,用来积累粉…

    2023年7月31日
    285