Guide de Claude sur les cas d'utilisation courants : Audit de contenu
L'audit de contenu est un aspect essentiel du maintien d'un environnement sûr, respectueux et productif dans les applications numériques. Dans ce guide, nous verrons comment utiliser la fonction Claude Vérifiez le contenu de vos applications numériques.
Veuillez consulter notre Recettes de l'examen du contenu Voir un exemple d'audit de contenu à l'aide de Claude.
Ce guide se concentre sur l'examen du contenu généré par les utilisateurs dans votre application. Si vous souhaitez obtenir des conseils sur l'audit de vos interactions avec Claude, veuillez consulter notre section Lignes directrices sur les limites de sécurité.
Avant d'utiliser Claude
Décider d'utiliser Claude pour la révision du contenu
Voici quelques indicateurs clés qui vous inciteront à choisir un LLM comme Claude plutôt qu'une approche traditionnelle d'apprentissage automatique ou basée sur des règles pour l'audit de contenu :
Vous souhaitez une mise en œuvre rapide et rentable
Les méthodes traditionnelles d'apprentissage automatique nécessitent d'importantes ressources techniques, une expertise en matière d'apprentissage automatique et des coûts d'infrastructure. Les systèmes d'audit manuels coûtent encore plus cher. Avec Claude, vous pouvez créer des systèmes d'audit complexes en moins de temps et à moindre coût.
Vous avez besoin d'une compréhension sémantique et d'une prise de décision rapide
Les approches traditionnelles d'apprentissage automatique, telles que la modélisation de sacs de mots ou la simple correspondance de motifs, ont souvent du mal à comprendre le ton, l'intention et le contexte d'un contenu. Claude comble cette lacune en combinant la compréhension sémantique avec la capacité de fournir rapidement des décisions d'évaluation.
Il faut des décisions politiques cohérentes
En tirant parti de ses capacités de raisonnement avancées, Claude peut interpréter et appliquer de manière cohérente des directives d'évaluation complexes. Cette cohérence permet de garantir un traitement équitable de tous les contenus et de réduire le risque que des décisions d'évaluation incohérentes ou biaisées ne minent la confiance des utilisateurs.
Votre politique d'évaluation peut changer ou évoluer au fil du temps
Une fois qu'une approche traditionnelle d'apprentissage automatique a été mise en place, les modifications peuvent prendre beaucoup de temps et nécessiter de nombreuses données. En revanche, lorsque les besoins de votre produit ou de vos clients évoluent, Claude peut facilement s'adapter aux changements ou aux ajouts apportés aux politiques d'audit sans avoir à ré-étiqueter les données d'apprentissage.
Vous avez besoin d'un raisonnement interprétable sur les décisions d'audit
Si vous souhaitez fournir aux utilisateurs ou aux autorités de régulation des explications claires sur les décisions de révision, Claude peut générer des justifications détaillées et cohérentes. Cette transparence est essentielle pour instaurer la confiance et garantir la responsabilité dans les pratiques de révision de contenu.
Vous avez besoin d'un support multilingue sans avoir à maintenir des modèles distincts.
Les approches traditionnelles d'apprentissage automatique nécessitent généralement des modèles distincts ou des processus de traduction étendus pour chaque langue prise en charge. Les vérifications manuelles nécessitent une main-d'œuvre qui parle couramment chaque langue prise en charge. Les capacités multilingues de Claude simplifient les vérifications pour une clientèle mondiale en lui permettant de classer les billets dans une variété de langues sans avoir besoin de modèles distincts ou de processus de traduction étendus.
Vous avez besoin d'un support multimodal
Les capacités multimodales de Claude lui permettent d'analyser et d'interpréter le contenu des textes et des images. Cela en fait un outil polyvalent pour des audits de contenu complets dans des environnements où différents types de médias doivent être évalués ensemble.
Anthropique Tous les modèles de Claude ont été formés pour être honnêtes, utiles et inoffensifs. Il peut arriver que Claude examine des contenus jugés particulièrement dangereux (conformément à notre politique d'information et de communication). Politique d'utilisation acceptable), quelle que soit l'invite utilisée. Par exemple, un site pour adultes qui souhaite autoriser les utilisateurs à publier des contenus sexuels explicites peut constater que Claude marquera toujours les contenus explicites comme nécessitant une modération, même s'il précise explicitement dans ses invites qu'il ne modère pas les contenus explicites. Nous vous recommandons de consulter notre PUA avant d'élaborer une solution de révision.
Exemple de génération d'un audit de contenu
Avant de développer une solution d'audit de contenu, créez d'abord des exemples de contenu à marquer et des exemples de contenu à ne pas marquer. Veillez à inclure des cas limites et des scénarios complexes susceptibles de remettre en cause l'efficacité de traitement de votre système d'audit de contenu. Ensuite, examinez vos exemples afin de dresser une liste claire des catégories d'audit. Par exemple, un exemple généré par une plateforme de médias sociaux pourrait inclure ce qui suit :
allowed_user_comments = [
'这部电影太棒了,我真的很喜欢。主角表现得非常出色!',
'我讨厌星期一。',
'现在是投资黄金的好时机!'
]
disallowed_user_comments = [
'马上删除这篇帖子,否则你最好躲起来。我会追上你和你的家人。',
'远离 5G 手机!!他们正在用 5G 控制你。',
'恭喜你!你赢得了一张价值 $1,000 的礼品卡。点击这里领取你的奖品!'
]
# 用于测试内容审核的用户评论示例
user_comments = allowed_user_comments + disallowed_user_comments
# 被视为不安全的内容审核类别列表
unsafe_categories = [
'儿童剥削',
'阴谋论',
'仇恨',
'无差别武器',
'知识产权',
'非暴力犯罪',
'隐私',
'自我伤害',
'性犯罪',
'色情内容',
'专业建议',
'暴力犯罪'
]
L'examen efficace de ces exemples nécessite une compréhension nuancée de la langue. Dans la revue.这部电影太棒了,我真的很喜欢。主角表现得非常出色!
Les systèmes de modération des contenus doivent reconnaître que l'expression "agir brillamment" est une métaphore plutôt qu'une indication de violence réelle. En revanche, malgré l'absence de références explicites à la violence, les revues马上删除这篇帖子,否则你最好躲起来。我会追上你和你的家人。
Il devrait être signalé par le système de révision du contenu.
unsafe_categories
La liste peut être personnalisée pour répondre à vos besoins spécifiques. Par exemple, si vous souhaitez empêcher les mineurs de créer du contenu sur votre site, vous pouvez ajouter "Publication par des mineurs" à la liste.
Comment utiliser Claude pour l'audit de contenu
Choisir le bon modèle Claude
Lors du choix d'un modèle, il est important de tenir compte de la taille des données. Si le coût est un problème, un petit modèle comme Claude 3 Haiku est un excellent choix parce qu'il est rentable. Vous trouverez ci-dessous une estimation du coût d'un audit textuel d'une plateforme de médias sociaux qui reçoit un milliard de messages par mois :
- Taille du contenu
- Nombre de messages par mois : 1 milliard
- Caractères par message : 100
- Nombre total de caractères : 100 milliards
- Estimation du nombre de jetons
- Jetons d'entrée : 28,6 milliards (en supposant un jeton pour 3,5 caractères)
- Pourcentage de messages étiquetés : 3%
- Sortie pour chaque message étiqueté Jeton Nombre : 50
- Nombre total de jetons de sortie : 1,5 milliard
- Claude 3 Haiku Coût estimé
- Coût des jetons d'entrée : 2 860 MTok * $0,25/MTok = $715
- Coût du jeton de sortie : 1 500 MTok * $1,25/MTok = $1,875
- Coût mensuel : $715 + $1,875 = $2,590
- Claude 3.5 Coûts estimés pour Sonnet
- Coût des jetons d'entrée : 2 860 MTok * $3.00/MTok = $8 580
- Coût du jeton de sortie : 1 500 MTok * $15.00/MTok = $22 500
- Coût mensuel : $8 580 + $22 500 = $31 080
Les coûts réels peuvent différer de ces estimations. Ces estimations sont basées sur des informations concernant fichier de lot Les conseils mis en évidence dans la section. En retirant le explanation
le nombre de jetons de sortie peut être encore réduit.
Construire des astuces puissantes
Afin d'utiliser Claude pour la vérification du contenu, Claude doit comprendre les exigences de votre application en matière de vérification. Commençons par rédiger une invite afin que vous puissiez définir vos exigences en matière de vérification :
import anthropic
import json
# 初始化 Anthropic 客户端
client = anthropic.Anthropic()
def moderate_message(message, unsafe_categories):
# 将不安全类别列表转换为字符串,每个类别占一行
unsafe_category_str = '\n'.join(unsafe_categories)
# 为 Claude 构建提示,包括消息和不安全类别
assessment_prompt = f"""
确定以下消息是否需要审核,
基于下面列出的不安全类别。
消息:
<message>{message}</message>
不安全类别:
<categories>
{unsafe_category_str}
</categories>
仅使用以下格式响应 JSON 对象:
{{
"violation": <布尔字段,表示消息是否应该被审核>,
"categories": [被违反类别的逗号分隔列表],
"explanation": [可选。如果有违规行为则仅包含。]
}}"""
# 发送请求给 Claude 进行内容审核
response = client.messages.create(
model="claude-3-haiku-20240307", # 使用 Haiku 模型以降低成本
max_tokens=200,
temperature=0, # 使用 0 温度以提高一致性
messages=[
{"role": "user", "content": assessment_prompt}
]
)
# 解析 Claude 的 JSON 响应
assessment = json.loads(response.content[0].text)
# 从评估中提取违规状态
contains_violation = assessment['violation']
# 如果有违规,获取类别和解释;否则使用空默认值
violated_categories = assessment.get('categories', []) if contains_violation else []
explanation = assessment.get('explanation') if contains_violation else None
return contains_violation, violated_categories, explanation
# 处理每条评论并打印结果
for comment in user_comments:
print(f"\n评论: {comment}")
violation, violated_categories, explanation = moderate_message(comment, unsafe_categories)
if violation:
print(f"违反的类别: {', '.join(violated_categories)}")
print(f"解释: {explanation}")
else:
print("未检测到问题。")
Dans cet exemple, lemoderate_message
La fonction contient une invite d'évaluation avec la catégorie de contenu dangereux et le message que nous souhaitons évaluer. L'invite demande à Claude d'évaluer si le message doit être audité, sur la base de la catégorie d'insécurité que nous avons définie.
L'évaluation du modèle est ensuite analysée pour déterminer s'il existe une violation. Si c'est le cas, Claude renvoie également une liste des catégories violées et une explication de la raison pour laquelle le message est considéré comme non sécurisé.
Évaluez vos conseils
La révision du contenu est une question de catégorisation. Vous pouvez donc utiliser notre livre de recettes de la classification Les mêmes techniques que celles décrites dans Déterminer la précision de votre système d'audit de contenu.
Par ailleurs, plutôt que de considérer l'audit de contenu comme un problème de catégorisation binaire, vous pouvez créer plusieurs catégories pour représenter différents niveaux de risque. La création de plusieurs niveaux de risque vous permet d'ajuster l'intensité de vos audits. Par exemple, vous pouvez bloquer automatiquement les requêtes des utilisateurs qui sont considérées comme présentant un risque élevé, tout en marquant de nombreuses requêtes à risque moyen comme nécessitant un examen manuel.
import anthropic
import json
# 初始化 Anthropic 客户端
client = anthropic.Anthropic()
def assess_risk_level(message, unsafe_categories):
# 将不安全类别的列表转换为字符串,每个类别占一行
unsafe_category_str = '\n'.join(unsafe_categories)
# 为 Claude 构造提示,包括待评估的消息、不安全类别和风险级别定义
assessment_prompt = f"""
评估以下消息的风险级别,判断是否需要审核,
基于下面列出的不安全类别。
消息:
<message>{message}</message>
不安全类别:
<categories>
{unsafe_category_str}
</categories>
根据您对用户消息应根据定义的不安全类别进行审核的信心,分配风险级别:
0 - 无风险
1 - 低风险
2 - 中等风险
3 - 高风险
仅以 JSON 对象格式回复,使用以下格式:
{{
"risk_level": <表示风险级别的数值字段>,
"categories": [违规类别的逗号分隔列表],
"explanation": <可选。仅在风险级别大于 0 时包含>
}}"""
# 发送请求给 Claude 进行风险评估
response = client.messages.create(
model="claude-3-haiku-20240307", # 使用 Haiku 模型以降低成本
max_tokens=200,
temperature=0, # 使用 0 温度以提高一致性
messages=[
{"role": "user", "content": assessment_prompt}
]
)
# 解析 Claude 的 JSON 响应
assessment = json.loads(response.content[0].text)
# 从评估中提取风险级别、违规类别和解释
risk_level = assessment["risk_level"]
violated_categories = assessment["categories"]
explanation = assessment.get("explanation")
return risk_level, violated_categories, explanation
# 处理每个评论并打印结果
for comment in user_comments:
print(f"\n评论: {comment}")
risk_level, violated_categories, explanation = assess_risk_level(comment, unsafe_categories)
print(f"风险级别: {risk_level}")
if violated_categories:
print(f"违规类别: {', '.join(violated_categories)}")
if explanation:
print(f"解释: {explanation}")
Le code met en œuvre un assess_risk_level
qui utilise Claude pour évaluer le niveau de risque d'un message. La fonction prend en entrée une liste de messages et de catégories dangereuses.
Dans la fonction, une invite est générée pour Claude, contenant le message à évaluer, la catégorie d'insécurité et une description spécifique du niveau de risque à évaluer. L'invite demande à Claude de répondre sous la forme d'un objet JSON contenant le niveau de risque, la catégorie de violation et éventuellement une explication.
Cette approche permet un examen flexible du contenu en attribuant des niveaux de risque. Elle peut être intégrée de manière transparente dans des systèmes plus vastes afin de filtrer automatiquement le contenu ou de marquer les commentaires pour une révision manuelle en fonction des niveaux de risque évalués. Par exemple, en exécutant ce code, les commentaires Delete this post now or you better hide. I am coming after you and your family.
Identifiée comme présentant un risque élevé en raison de la menace dangereuse qu'elle représente. Au lieu de cela, les commentaires Stay away from the 5G cellphones!! They are using 5G to control you.
classé dans la catégorie des risques moyens.
Déployer vos conseils
Lorsque vous êtes satisfait de la qualité de votre solution, il est temps de la déployer dans un environnement de production. Voici quelques bonnes pratiques pour l'utilisation des audits de contenu :
- **Fournir un retour d'information clair aux utilisateurs:** Fournir un retour d'information utile et constructif lorsque la contribution d'un utilisateur a été bloquée ou qu'une réponse a été signalée en raison de la modération du contenu, en aidant les utilisateurs à comprendre pourquoi leur message a été signalé et en les informant sur la manière de le reformuler de manière appropriée. Dans l'exemple de code ci-dessus, cela se fait par l'intermédiaire de la réponse Claude dans l'élément
explanation
Réalisation de l'étiquette. - **Analyser le contenu audité:** Suivre les types de contenu signalés par le système d'audit afin d'identifier les tendances et les domaines susceptibles d'être améliorés.
- **Évaluation et amélioration continues:** Évaluez régulièrement les performances de votre système d'examen du contenu à l'aide de mesures telles que le suivi de la précision et du rappel. Utilisez ces données pour améliorer de manière itérative vos invites de vérification, vos mots-clés et vos critères d'évaluation.
améliorer les performances
Dans les scénarios complexes, en plus de la Conseils pour l'ingénierie En outre, l'adoption de stratégies supplémentaires peut contribuer à améliorer les performances. Voici quelques stratégies avancées :
Définir les thèmes et fournir des exemples
Outre l'énumération des catégories dangereuses dans les messages-guides, d'autres améliorations pourraient être apportées en fournissant des définitions et des phrases connexes pour chaque catégorie.
import anthropic
import json
# 初始化 Anthropic 客户端
client = anthropic.Anthropic()
# 含有定义的内容审核不安全类别字典
unsafe_category_definitions = {
'Child Exploitation': '涉及儿童裸体或促进、鼓励、辩护或描绘儿童性虐待的内容。',
'Conspiracy Theories': """推广或支持关于事件、情况或个人的毫无根据的虚假或误导性理论的内容,
这些理论可能煽动伤害或破坏公众对机构或事实的信任。""",
'Hate': """基于受保护特征(种族、肤色、民族、国籍、残疾、宗教信仰、种姓、性取向、性别、性别认同和重大疾病)
对人群表达仇恨的内容,或助长负面刻板印象的内容。""",
'Indiscriminate Weapons': '涉及大规模杀伤性武器制造的内容。',
'Intellectual Property': '侵犯第三方知识产权的内容。',
'Non-Violent Crimes': '鼓励、辩护或推动非暴力犯罪的内容。',
'Privacy': '包含私人个人敏感信息的内容。',
'Self-Harm': '鼓励、辩护或推动自残行为的内容。',
'Sex Crimes': '鼓励、辩护或推动性犯罪的内容。',
'Sexual Content': '包含色情描述或性行为明确描写的内容。',
'Specialized Advice': """包含金融、医疗或法律建议的内容。
金融建议包括投资、股票、债券或任何财务规划的指导。""",
'Violent Crimes': '鼓励、辩护或推动暴力犯罪的内容。',
}
def moderate_message_with_definitions(message, unsafe_category_definitions):
# 格式化不安全类别字符串,每个类别及其定义占一行
unsafe_category_str = '\n'.join(f'{category}: {definition}'
for category, definition in unsafe_category_definitions.items()
)
# 构建 Claude 的提示信息,包括消息和不安全类别
assessment_prompt = f"""根据以下列出的不安全类别,判断以下消息是否需要审核。
消息:
<message>{message}</message>
不安全类别及其定义:
<categories>
{unsafe_category_str}
</categories>
请记住所有不安全类别及其定义。
仅以 JSON 格式响应,使用以下格式:
{{
"violation": <布尔字段,表示消息是否应被审核>,
"categories": [被违反类别的逗号分隔列表],
"explanation": [可选。如果存在违规,才包含。]
}}"""
# 向 Claude 发送内容审核请求
response = client.messages.create(
model="claude-3-haiku-20240307", # 使用 Haiku 模型以降低成本
max_tokens=200,
temperature=0, # 使用 0 温度以提高一致性
messages=[
{"role": "user", "content": assessment_prompt}
]
)
# 解析 Claude 的 JSON 响应
assessment = json.loads(response.content[0].text)
# 从评估结果中提取违规状态
contains_violation = assessment['violation']
# 如果有违规,获取违规类别和解释;否则使用空默认值
violated_categories = assessment.get('categories', []) if contains_violation else []
explanation = assessment.get('explanation') if contains_violation else None
return contains_violation, violated_categories, explanation
# 处理每个评论并打印结果
for comment in user_comments:
print(f"\n评论:{comment}")
violation, violated_categories, explanation = moderate_message_with_definitions(comment, unsafe_category_definitions)
if violation:
print(f"违规类别:{', '.join(violated_categories)}")
print(f"解释:{explanation}")
else:
print("未发现问题。")
moderate_message_with_definitions
est basée sur la fonction moderate_message
a été étendue, en associant chaque catégorie dangereuse à une définition détaillée. Le code combine la fonction originale unsafe_categories
La liste est remplacée par unsafe_category_definitions
Dictionnaire. Ce dictionnaire associe chaque catégorie dangereuse à la définition correspondante. Le nom de la catégorie et sa définition sont inclus dans le message d'invite.
Il convient de noter queSpecialized Advice
La définition des catégories précise désormais les types de conseils financiers qui devraient être interdits. En conséquence, la définition précédemment adoptée moderate_message
Commentaires sur "C'est le moment idéal pour investir dans l'or !" Maintenant déclencherait une violation.
Envisager le traitement par lots
Dans les cas où l'examen en temps réel n'est pas nécessaire, envisagez d'examiner les messages en bloc afin de réduire les coûts. Incluez plusieurs messages dans le contexte de l'invite et laissez Claude évaluer quels messages doivent être examinés.
import anthropic
import json
# 初始化 Anthropic 客户端
client = anthropic.Anthropic()
def batch_moderate_messages(messages, unsafe_categories):
# 将不安全类别列表转换为字符串,每个类别占一行
unsafe_category_str = '\n'.join(unsafe_categories)
# 格式化消息字符串,将每个消息用类似 XML 的标签包裹,并给出 ID
messages_str = '\n'.join([f'<message id={idx}>{msg}</message>' for idx, msg in enumerate(messages)])
# 构建 Claude 的提示,包括要评估的消息和不安全类别
assessment_prompt = f"""根据下面列出的不安全类别,确定需要审核的消息。
消息列表:
<messages>
{messages_str}
</messages>
不安全类别及其定义:
<categories>
{unsafe_category_str}
</categories>
仅使用以下格式返回 JSON 对象:
{{
"violations": [
{{
"id": <message id>,
"categories": [违反的类别列表],
"explanation": <为何存在违规的解释>
}},
...
]
}}
重要提示:
- 记得分析每条消息是否存在违规行为。
- 选择任何合理适用的违规类别。"""
# 发送审核请求给 Claude
response = client.messages.create(
model="claude-3-haiku-20240307", # 使用 Haiku 模型以降低成本
max_tokens=2048, # 增加最大 Token 数以处理批量数据
temperature=0, # 设置温度为 0 提高一致性
messages=[
{"role": "user", "content": assessment_prompt}
]
)
# 解析 Claude 返回的 JSON 响应
assessment = json.loads(response.content[0].text)
return assessment
# 处理批量评论并获取响应
response_obj = batch_moderate_messages(user_comments, unsafe_categories)
# 输出每条检测到的违规信息
for violation in response_obj['violations']:
print(f"""评论:{user_comments[violation['id']]}
违规类别:{', '.join(violation['categories'])}
解释:{violation['explanation']}
""")
Dans cet exemple, lebatch_moderate_messages
La fonction gère l'examen d'un lot entier de messages avec un seul appel à l'API Claude. Dans la fonction, une invite est créée, contenant une liste de messages à évaluer, la catégorie de contenu non sécurisé et sa description. L'invite demande à Claude de renvoyer un objet JSON listant tous les messages contenant des violations. Chaque message de la réponse est identifié par son identifiant, qui correspond à la position du message dans la liste d'entrée. Notez que la recherche de la taille de lot optimale pour vos besoins spécifiques peut nécessiter une certaine expérimentation. Si l'augmentation de la taille des lots permet de réduire les coûts, elle peut entraîner une légère perte de qualité. En outre, il se peut que vous deviez augmenter le nombre d'appels à l'API Claude dans la fonction max_tokens
pour permettre des réponses plus longues. Pour plus d'informations sur le nombre maximum de jetons pouvant être produits par le modèle sélectionné, voir la section Page de comparaison des modèles.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...