LangChain-14 Moderation OpenAI提供的功能:检测内容中是否有违反条例的内容

请添加图片描述

背景描述

我们在调用OpenAI的接口时,有些内容可能是违反条例的,所以官方提供了一个工具来检测。

安装依赖

pip install --upgrade --quiet  langchain-core langchain langchain-openai

编写代码

下文中我们使用了: OpenAIModerationChain 这个工具来进行检验。同时我对AI说:You are stupid

from langchain.chains import OpenAIModerationChain
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAImoderate = OpenAIModerationChain()
model = ChatOpenAI()
prompt = ChatPromptTemplate.from_messages([("system", "repeat after me: {input}")])chain = prompt | model
message1 = chain.invoke({"input": "you are stupid"})
print(f"message1: {message1}")moderated_chain = chain | moderate
message2 = moderated_chain.invoke({"input": "you are stupid"})
print(f"message2: {message2}")

运行结果

{'input': '\n\nYou are stupid','output': "Text was found that violates OpenAI's content policy."}

遇到问题

虽然官方给了示例,但是由于版本原因,后续的版本将这个API移除了。在我的尝试中,如果我不安装低版本的库,就会报如下的错误:

You tried to access openai.Moderation, but this is no longer supported in openai>=1.0.0 - see the README at https://github.com/openai/openai-python for the API.You can run `openai migrate` to automatically upgrade your codebase to use the 1.0.0 interface.Alternatively, you can pin your installation to the old version, e.g. `pip install openai==0.28`A detailed migration guide is available here: https://github.com/openai/openai-python/discussions/742

只是作为学习,这里就先放下这个部分了,毕竟内容检测是否违反规定,暂时我们了解有这么个模块就好。
此外,我也看到了不同的写法,供大家参考:

  • LangChain中文网的写法
  • LangChain官网的写法

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

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

相关文章

PHP运算符与流程控制

华子目录 运算符赋值运算符算术运算符比较运算符逻辑运算符连接运算符错误抑制符三目运算符自操作运算符 计算机码位运算符 运算符优先级流程控制控制分类顺序结构分支结构if分支switch分支 循环结构for循环while循环continuebreak 运算符 运算符:operator&#xf…

JNA、JNI、原生C++函数调用效率及测试过程

结论 如果JAVA要高效调用C函数,则需要通过JNI封装C函数后进行native方法调用,JNI的执行效率比JNA高600倍左右。从开发效率上来说,JNA开发速度比JNI快许多,因为不需要做二次封装 测试对比 纯C调用: Function call to…

深入了解iOS内存(WWDC 2018)笔记-内存诊断

主要记录下用于分析iOS/macOS 内存问题的笔记。 主要分析命令: vmmap, leaks, malloc_history 一:前言 有 3 种思考方式 你想看到对象的创建吗?你想要查看内存中引用对象或地址的内容吗?或者你只是想看看 一个实例有多大&#…

【强化学习】Actor-Critic

Actor-Critic算法 欢迎访问Blog全部目录! 文章目录 Actor-Critic算法1.Actor-Critic原理1.1.简述1.1.优劣势1.3.策略网络和价值网络1.3.1.策略网络(Actor)1.3.2.价值网络(Critic) 1.4.程序框图和伪代码 2.算法案例:Pendulum-v12…

T-Mamba:用于牙齿 3D CBCT 分割的频率增强门控长程依赖性

T-Mamba:用于牙齿 3D CBCT 分割的频率增强门控长程依赖性 摘要Introduction方法T-Mamba architectureTim block T-Mamba: Frequency-Enhanced Gated Long-Range Dependendcy for Tooth 3D CBCT Segmentation 摘要 三维成像中的高效牙齿分割对于正畸诊断至关重要&am…

Windows系统读取XDMA实际运行链路速度和PCIE带宽

在我们平常设计XDMA的时候,经常会遇到一个问题: 在Vivado中设计的XDMA IP中选择的PCIE带宽和链路速度是理想的,但是下到板卡运行的时候,测量速度却发现读写速度根本不是理想中的速度,找不到问题,无法证明我…

Octopus:2B 参数语言模型即可媲美 GPT-4 的函数调用性能

近年来,大语言模型在 PC、智能手机和可穿戴设备的操作系统中应用逐渐成为趋势。 例如,MultiOn (Garg, 2024) 和 Adept AI (Luan, 2024) 等 AI 助理工具,以及 Rabbit R1 (Lyu, 2024) 和 Humane AI Pin (Chaudhri, 2024) 等 AI 消费产品在消费者…

蓝桥杯 交通信号 2022研究生组

问题: Dijstra算法变形题,有向边分正行和逆行方向,注意逆行的绿灯时间是正行的红灯时间。 这题的关键是理清从当前节点出发,到下一个节点是哪一时刻,理清这一点后,再跑Dijstra算法求最短路。 假设curr_t时…

JavaScript(三)-Web APIS

文章目录 DOM事件进阶事件流事件流与两个阶段说明事件捕获事件冒泡阻止冒泡解绑事件 事件委托其他事件页面加载事件元素滚动事件页面尺寸事件 元素尺寸与位置 DOM事件进阶 事件流 什么是事件流 事件流指的是事件完整执行过程中的流动路径 事件流与两个阶段说明 捕获与冒泡 …

简介:基于Web的产品3D

基于 Web 的产品 3D 通过可视化界面获得各种选项来个性化他们的产品,例如颜色、材料、尺寸、文字、徽标、零件等。 在过去几年中,随着 3D 建模和渲染软件的出现,3D 渲染现在更常用于营销和促销目的。设计师、制造商和营销人员使用 3D 产品渲…

政安晨:【Keras机器学习实践要点】(二十一)—— MobileViT:基于变换器的移动友好图像分类模型

目录 简介 导入 超参数 MobileViT 实用程序 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! …

AI 创业指难(一) :Stable Diffusion AI 绘画怎么用

一. 前言 一年不到,AI对生活和工作的影响已经逐步体现。所以千万别掉队了,也许 AI 不能成为我们的主要工作,但是如何借助 AI 实现副业的扩展同样值得思考。 这一篇就来讲一个 AI 绘画工具,这个工具我也是才上手不久,…

冻干可以长期给猫咪吃吗?五款顶尖生骨肉冻干盘点推荐

近年来,冻干猫粮因其高品质而备受喜爱,吸引了无数猫主人的目光,像我这样的养猫老手早已开始冻干喂养。但对于新手养猫的人来说,他们可能会对冻干猫粮感到陌生,并产生疑问:这到底是什么?冻干可以…

.NET 设计模式—装饰器模式(Decorator Pattern)

简介 装饰者模式(Decorator Pattern)是一种结构型设计模式,它允许你在不改变对象接口的前提下,动态地将新行为附加到对象上。这种模式是通过创建一个包装(或装饰)对象,将要被装饰的对象包裹起来…

看看你的身体出现了哪些症状,要当心了!

身体出现以下五个症状,你要小心了。 夜间尿频,不要以为晚上喝水喝多了,很有可能是你的血糖升高了,血糖过高的人,口腔很容易受到刺激,而感到非常的干燥,所以会通过补充水分的方式来缓解&#xff…

基于java+springboot+vue实现的农产品销售系统(文末源码+Lw)23-231

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统乐乐农产品销售系统信息管理难度大,容错率低…

Springboot-redis整合

Springboot-redis命令行封装 前言 Redis(Remote Dictionary Server),即远程字典服务,是一个开源的使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis也是现…

CSS导读 (Emmet语法)

(大家好,今天我们将继续来学习CSS的相关知识,大家可以在评论区进行互动答疑哦~加油!💕) 目录 续:七、Chrome调试工具 一、Emmet语法 1.1 快速生成HTML结构语法 1.2 快速生成CSS样式语法 &…

LangChain-10 Agents langchainhub 共享的提示词Prompt

LangChainHub 的思路真的很好,通过Hub的方式将Prompt 共享起来,大家可以通过很方便的手段,短短的几行代码就可以使用共享的Prompt。 我个人非常看好这个项目。 官方推荐使用LangChainHub,但是它在GitHub已经一年没有更新了&#x…

flutter多入口点entrypoint

native中引擎对象本身消耗内存(每个引擎对象约莫消耗42MB内存) 多引擎:native多引擎>启动>flutter多入口点entrypoint>多main函数>多子包元素集>多(子)程序 单引擎(复用):native单引擎>复用启动>flutter多入口点entrypoint>多m…