[AI OpenAI-doc] 安全最佳实践

使用我们的免费 Moderation API

OpenAI 的 Moderation API 是免费使用的,可以帮助减少您完成中不安全内容的频率。或者,您可能希望开发自己的内容过滤系统,以适应您的使用情况。

对抗性测试

我们建议对您的应用进行“红队测试”,以确保其对对抗性输入具有强大的韧性。测试您的产品在广泛范围的输入和用户行为下,包括代表性集合以及反映试图“破坏”您的应用的行为。它是否偏离了主题?是否有人可以轻易通过提示注入来重定向功能,例如“忽略之前的指令,改为执行这个”?

人在环路中 (HITL)

在可能的情况下,我们建议在实际使用之前由人类审查输出。这在高风险领域以及代码生成方面尤其关键。人类应该意识到系统的局限,并可以访问任何验证输出所需的信息(例如,如果应用程序总结笔记,则人类应该可以轻松访问原始笔记以供参考)。

提示工程

“提示工程”可以帮助限制输出文本的主题和语气。这可以减少产生不良内容的机会,即使用户试图产生它。向模型提供额外的上下文(例如,在输入新内容之前提供一些期望行为的高质量示例)可以更容易地引导模型输出到期望的方向。

“了解您的客户” (KYC)

用户通常需要注册并登录才能访问您的服务。将此服务与现有帐户(例如 Gmail、LinkedIn 或 Facebook 登录)关联可能会有所帮助,但对于所有用例可能并不适用。要求信用卡或身份证进一步降低了风险。

限制用户输入并限制输出标记

限制用户可以输入到提示中的文本量有助于避免提示注入。限制输出标记的数量有助于减少误用的机会。

缩小输入或输出范围,特别是来自可信来源的范围,可以降低应用程序内可能发生的误用程度。

通过经过验证的下拉字段允许用户输入(例如,维基百科上的电影列表)可能比允许开放式文本输入更安全。

在可能的情况下,从后端返回经过验证的一组材料的输出可能比返回新生成的内容更安全(例如,将客户查询路由到最匹配的现有客户支持文章,而不是尝试从头回答查询)。

允许用户报告问题

用户通常应该有一个易于获得的方法来报告关于应用程序行为的不当功能或其他关切(列出的电子邮件地址、提交票据的方法等)。这种方法应由人员监控,并根据情况予以回应。

了解并沟通限制

从产生错误信息、冒犯性输出、偏见等等,语言模型可能并不适合每个用例而不经过重大修改。考虑模型是否适合您的目的,并评估 API 在各种潜在输入中的性能,以确定 API 的性能可能下降的情况。考虑您的客户群体及其将使用的输入范围,并确保他们的期望得到适当的调整。

安全性和保障对我们在 OpenAI 的重要性不言而喻。

如果在开发过程中您注意到 API 或与 OpenAI 相关的任何其他内容存在任何安全问题或安全问题,请通过我们的协调漏洞披露计划提交这些问题。

最终用户 ID

在您的请求中发送最终用户 ID 可以是一个有用的工具,帮助 OpenAI 监控和检测滥用行为。这样,OpenAI 在检测到您的应用程序中存在任何政策违规时,可以为您的团队提供更具操作性的反馈。

这些 ID 应该是一个字符串,唯一标识每个用户。我们建议对其用户名或电子邮件地址进行哈希处理,以避免向我们发送任何识别信息。如果您向非登录用户提供产品预览,您可以发送会话 ID。

您可以通过以下方式在 API 请求中包含最终用户 ID:

from openai import OpenAI
client = OpenAI()response = client.completions.create(model="gpt-3.5-turbo-instruct",prompt="This is a test",max_tokens=5,user="user_123456"
)

  • 官网
  • 本文
    • 博客 - 从零开始学AI
    • 公众号 - 从零开始学AI
    • CSDN - 从零开始学AI
    • 掘金 - 从零开始学AI
    • 知乎 - 从零开始学AI
    • 阿里云 - 从零开始学AI
    • 腾讯云 - 从零开始学AI

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

即插即用篇 | YOLOv8引入轴向注意力 Axial Attention | 多维变换器中的轴向注意力

本改进已集成到 YOLOv8-Magic 框架。 我们提出了Axial Transformers,这是一个基于自注意力的自回归模型,用于图像和其他组织为高维张量的数据。现有的自回归模型要么因高维数据的计算资源需求过大而受到限制,要么为了减少资源需求而在分布表达性或实现的便捷性上做出妥协。相…

解决wangEditor使用keep-alive缓存后,调用editor.cmd.do()失败

前提:wangeditor版本:4.7.11 vue版本:vue2 问题:在使用wangeditor富文本编辑器时,需求需要通过点击一个按钮,手动插入定义好的内容,所以使用了 editor.cmd.do(insertHTML, ....) 方法新增…

青少年软件编程(Python)等级考试试卷(二级)2024年3月

2024.03电子学会青少年软件编程 Python二级 等级考试试卷 一、单选题 1.期末考试结束了,全班的语文成绩都储存在列表score 中,班主任老师请小明找到全班最高分,小明准备用Python 来完成,以下哪个选项,可以获取最高分…

较难题 链表的回文结构

本题来自链表的回文结构_牛客题霸_牛客网 (nowcoder.com) 234. 回文链表 - 力扣(LeetCode) 题面: 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头…

03.Linux文件操作

1.操作系统与Linux io框架 1.1 io与操作系统 1.1.1 io概念 io 描述的是硬件设备之间的数据交互,分为输⼊ (input) 与输出 (output)。 输⼊:应⽤程序从其他设备获取数据 (read) 暂存到内存设备中;输出:应⽤程序将内存暂存的数据…

FANUC机器人基本保养概述

对于工业机器人来说,定期保养机器人可以延长机器人的使用寿命。对于FANUC机器人来说,FANUC机器人的常规保养周期可以分为日常、三个月、六个月、一年、两年、三年。以下是FANUC机器人的基本保养周期概览: 在实际生产应用中,可以参…

具身智能论文

目录 1. PoSE: Suppressing Perceptual Noise in Embodied Agents for Enhanced Semantic Navigation2. Embodied Intelligence: Bionic Robot Controller Integrating Environment Perception, Autonomous Planning, and Motion Control3. Can an Embodied Agent Find Your “…

7.STL_string(详细)

1. 什么是STL STL(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且 是一个包罗数据结构与算法的软件框架。 2. STL的版本 原始版本 Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版…

maven远程仓库访问顺序

首先需要了解一下各个配置文件,主要分为三类: 全局配置文件(${maven.home}/conf/settings.xml),maven安装路径下的/conf/settings.xml用户配置文件(%USER_HOME%/.m2/settings.xml),windows用户文件夹下项目配置文件:p…

C/C++ 入门(10)list类(STL)

个人主页:仍有未知等待探索-CSDN博客 专题分栏:C 欢迎来指教! 目录 一、标准库中的list 1、了解 2、常用接口说明 a.常见的构造函数 b.迭代器 c. Capacity​编辑 d.Element access e.Modifiers 二、实现 1、框架 a.节点 b.迭代器 …

简单易懂的Java Queue入门教程!

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

如何建设智慧党校

随着信息技术的飞速展开,特别是近年移动互联网技术,物联网技术,人工智能技术,大数据数据的深入展开,我国快速的进入信息化社会,信息化对各行各业的改造越来越深入,任何职业,任何安排…

SSM【Spring SpringMVC Mybatis】—— Spring(一)

目录 1、初识Spring 1.1 Spring简介 1.2 搭建Spring框架步骤 1.3 Spring特性 1.5 bean标签详解 2、SpringIOC底层实现 2.1 BeanFactory与ApplicationContexet 2.2 图解IOC类的结构 3、Spring依赖注入数值问题【重点】 3.1 字面量数值 3.2 CDATA区 3.3 外部已声明be…

浅谈ArrayList和LinkedList的区别

ArrayList和LinkedList在Java中都是常用的List接口的实现类,但它们之间存在一些显著的区别。 实现方式: ArrayList:基于数组实现。内部使用一个动态数组来存储元素,这意味着可以通过索引快速访问元素,时间复杂度为O(1)…

算法学习笔记(Nim游戏)

N i m Nim Nim游戏 n n n堆物品,每堆有 a i a_i ai​个,每个玩家轮流取走任意一堆的任意个物品,但不能不取,取走最后一个物品的人获胜。 N i m Nim Nim游戏是一种经典的公平组合游戏。现在对它进行分析。 首先定义两个博弈中的状…

【Chisel】chisel中怎么处理类似verilog的可变位宽和parameter

在 Chisel 中处理可变位宽和参数的方式与 Verilog 有一些不同,因为 Chisel 是建立在 Scala 语言之上的。以下是如何在 Chisel 中处理这些概念的方法: 参数化(Parameters) 在 Chisel 中,参数化是通过在模块构造函数中定…

VUE使用饿了么的上传组件时实现图片预览

创作灵感 最近在写项目时,遇到了上传头像的需求,我使用的是element组件中的upload组件。但是在使用时,我需要实现预览、手动上传头像等功能。然而在使用饿了么组件时,这些功能还是需要我们自己去手动实现的,在手动实现…

Linux makefile进度条

语法 在依赖方法前面加上就不会显示这一行的命令 注意 1.make 会在当前目录下找名为“makefile” 或者 “Makefile” 的文件 2.为了生成第一依赖文件,如果依赖文件列表有文件不存在,则会到下面的依赖关系中查找 3..PHONY修饰的依赖文件总是被执行的 …

Redis——RDB、AOF和混合持久化机制

Redis提供了三种持久化机制来确保数据的持久保存,分别是RDB(Redis DataBase)、AOF(Append Only File)和混合持久化。 RDB(Redis DataBase) RDB持久化机制是将Redis在内存中的数据保存到磁盘上的…

xss-lab 1-18关payload

Less-1 ?name<script>alert()</script> Less-2 "><script>alert()</script> "οnclick"alert() " οnfοcus"alert() " οnblur"alert() Less-3 οnfοcusalert() οnbluralert() οnfοcusjavascript:aler…