Maison > Périphériques technologiques > IA > Un guide complet pour modérer les réponses du chatppt avec les modèles GPT

Un guide complet pour modérer les réponses du chatppt avec les modèles GPT

Joseph Gordon-Levitt
Libérer: 2025-03-10 10:57:10
original
729 Les gens l'ont consulté

Revue de la qualité de l'IA: utilisez l'IA pour améliorer la qualité de l'application

La révolution de l'intelligence artificielle a balayé le domaine du développement des applications et ouvert une nouvelle ère d'interaction humaine-ordinateur. Alors que les entreprises tirent parti de l'IA pour améliorer l'expérience utilisateur, des solutions basées sur des modèles de grandes langues (LLM) présentent également des défis dans le maintien de l'intégrité du contenu, de la précision et des normes éthiques.

La nécessité des audits d'IA responsables devient de plus en plus évidente lorsque les applications se développent au-delà des environnements contrôlés. Dans ces environnements, assurer une réponse raisonnable et précise aux utilisateurs n'est pas facile, mais c'est crucial.

Par exemple, dans les interactions du service client, la désinformation ou le contenu inapproprié peuvent entraîner l'insatisfaction des clients et même nuire à la réputation de l'entreprise. Mais en tant que développeur, comment pouvons-nous nous assurer que les applications basées sur l'IA peuvent fournir aux utilisateurs des réponses raisonnables et précises? C'est là que l'audit AI entre en jeu!

Cet article explorera en profondeur une technologie qui utilise le modèle GPT pour auditer les applications basées sur GPT. Créez un agent d'audit de qualité basé sur GPT

La revue de la qualité de l'IA comprend également une garantie de réponses impartiales et appropriées lors de l'utilisation de modèles de langage grand (LLM). OpenAI a lancé une API conçue pour de telles exigences d'audit. Si vous souhaitez détecter des réponses biaisées ou inappropriées générées par votre modèle, ou pour résoudre l'inconduite des utilisateurs, vous trouverez des informations précieuses dans l'article intitulé CHATGPT AUDIT API: Contrôle d'entrée / sortie.

Cependant, cet article adopte une approche différente de l'audit de l'IA. Notre objectif est d'assurer la qualité de la réponse du modèle, c'est-à-dire la précision et la satisfaction des besoins des utilisateurs. Pour autant que je sache, il n'y a actuellement aucun point de terminaison officiel conçu spécifiquement à cet effet.

Néanmoins, étant donné que nous utilisons largement les modèles GPT dans une variété d'applications, pourquoi ne pas les utiliser comme inspecteur de qualité pour la même instance de modèle?

Nous pouvons utiliser le modèle GPT pour évaluer la sortie générée par le modèle lui-même pour les demandes utilisateur. Cette méthode de test aide à prévenir l'ambiguïté et les réponses erronées et améliore la capacité du modèle à satisfaire efficacement les demandes des utilisateurs.

Portée et cible

Cet article décrit comment utiliser le modèle GPT dans le cadre de l'application pour examiner la qualité et l'exactitude des applications basées sur GPT

.

Par exemple, si vous utilisez un modèle GPT pour alimenter votre chatbot d'entreprise, vous devez être très intéressé à vous assurer que votre chatbot ne fournit aucune information au-delà des éléments ou fonctionnalités de votre catalogue.

Dans les chapitres suivants, nous donnerons le dernier exemple à prendre vie en passant des appels simples à l'API OpenAI en utilisant le package Openai Python et le célèbre cahier Jupyter.

L'objectif principal est de générer une application basée sur LLM simple et d'auditer sa sortie à l'aide d'un inspecteur de qualité basé sur LLM. Dans notre exemple, nous devons créer notre exemple d'agent de service client, un agent QA (appelé agent QA à partir de maintenant), et plus important encore, définissez l'interaction entre les deux.

L'image suivante montre bien le flux de travail ci-dessus:

A Comprehensive Guide to Moderating ChatGPT Responses with GPT Models

images maison. AUDIT SICHET WORK FLOW: 1. L'utilisateur envoie une demande à une application basée sur LLM (dans ce cas, le service client CHATBOT). 2. Le chatbot génère la réponse, mais l'envoie d'abord à l'agent QA. 3. Une fois l'agent QA vérifie si la réponse est appropriée, elle renvoie la réponse à l'utilisateur.

allons étape par étape!

Build GPT Agent

Commençons par construire un agent de conversation pour le service client du magasin.

Si vous avez déjà une application dirigée par LLM runnable ou si vous souhaitez implémenter votre exemple préféré, n'hésitez pas à ignorer la première partie! Si vous voulez toujours savoir si votre entreprise peut bénéficier des applications basées sur LLM, vous devez suivre une discussion de podcast intéressante!

Créer un exemple de chatbot de service client

Supposons que nous construisons un agent de service client pour notre magasin. Nous souhaitons utiliser des modèles tels que Chatgpt derrière cet agent client pour tirer parti de leurs capacités de langage naturel pour comprendre les requêtes des utilisateurs et y répondre de manière naturelle.

Pour définir notre chatbot de service client, nous avons besoin de deux éléments clés:

  • a Exemple de catalogue de produits pour limiter les agents à notre portée d'entreprise. En fournissant notre catalogue de produits au modèle, nous pouvons informer le modèle quelles informations fournir à nos utilisateurs.
  • a Message système est utilisé pour définir le comportement avancé du modèle. Bien que les modèles GPT soient souvent formés pour plusieurs tâches, vous pouvez utiliser des messages dits système pour limiter le comportement du modèle.

Enfin, comme toute autre application basée sur LLM, nous avons besoin d'un moyen d'appeler l'API OpenAI à partir de notre script. Dans cet article, j'utiliserai l'implémentation suivante, qui ne dépend que du package OpenAI:

<code>import openai
import os

# 从环境中获取 OpenAI 密钥
openai_api_key = os.environ["OPENAI_API_KEY"]

# 使用过去交互记忆的简单 OpenAI API 调用
def gpt_call(prompt, message_history, model="gpt-3.5-turbo"):
message_history.append({'role': 'user', 'content': prompt})
response = openai.ChatCompletion.create( 
model=model,
messages=message_history
)

response_text = response.choices[0].message["content"]
message_history.append({'role': 'assistant', 'content': response_text})
return response_text</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

L'idée derrière elle est d'initialiser un historique de messages séparé (y compris des messages système) pour chaque instance de modèle et d'utiliser l'interaction à venir avec le modèle pour la mettre à jour en continu.

Si vous recherchez un moyen plus optimisé de gérer les interactions, je vous recommande fortement d'utiliser le cadre de Langchain, comme nous l'avons fait dans la création d'un chat de chat contextuel: implémentation de Chatgpt avec le cadre de Langchain.

Si vous n'êtes pas familier avec l'API OpenAI, envisagez de consulter un webinaire sur le démarrage de l'API OpenAI et du chatppt.

Maintenant que nous avons identifié les blocs de construction requis, mettons-les ensemble:

<code># 定义我们的示例产品目录
product_information = """
{ "name": "UltraView QLED TV", "category": "Televisions and Home Theater Systems", "brand": "UltraView", "model_number": "UV-QLED65", "warranty": "3 years", "rating": 4.9, "features": [ "65-inch QLED display", "8K resolution", "Quantum HDR", "Dolby Vision", "Smart TV" ], "description": "Experience lifelike colors and incredible clarity with this high-end QLED TV.", "price": 2499.99 }
{ "name": "ViewTech Android TV", "category": "Televisions and Home Theater Systems", "brand": "ViewTech", "model_number": "VT-ATV55", "warranty": "2 years", "rating": 4.7, "features": [ "55-inch 4K display", "Android TV OS", "Voice remote", "Chromecast built-in" ], "description": "Access your favorite apps and content on this smart Android TV.", "price": 799.99 }
{ "name": "SlimView OLED TV", "category": "Televisions and Home Theater Systems", "brand": "SlimView", "model_number": "SL-OLED75", "warranty": "2 years", "rating": 4.8, "features": [ "75-inch OLED display", "4K resolution", "HDR10+", "Dolby Atmos", "Smart TV" ], "description": "Immerse yourself in a theater-like experience with this ultra-thin OLED TV.", "price": 3499.99 }
{ "name": "TechGen X Pro", "category": "Smartphones and Accessories", "brand": "TechGen", "model_number": "TG-XP20", "warranty": "1 year", "rating": 4.5, "features": [ "6.4-inch AMOLED display", "128GB storage", "48MP triple camera", "5G", "Fast charging" ], "description": "A feature-packed smartphone designed for power users and mobile enthusiasts.", "price": 899.99 }
{ "name": "GigaPhone 12X", "category": "Smartphones and Accessories", "brand": "GigaPhone", "model_number": "GP-12X", "warranty": "2 years", "rating": 4.6, "features": [ "6.7-inch IPS display", "256GB storage", "108MP quad camera", "5G", "Wireless charging" ], "description": "Unleash the power of 5G and high-resolution photography with the GigaPhone 12X.", "price": 1199.99 }
{ "name": "Zephyr Z1", "category": "Smartphones and Accessories", "brand": "Zephyr", "model_number": "ZP-Z1", "warranty": "1 year", "rating": 4.4, "features": [ "6.2-inch LCD display", "64GB storage", "16MP dual camera", "4G LTE", "Long battery life" ], "description": "A budget-friendly smartphone with reliable performance for everyday use.", "price": 349.99 }
{ "name": "PixelMaster Pro DSLR", "category": "Cameras and Camcorders", "brand": "PixelMaster", "model_number": "PM-DSLR500", "warranty": "2 years", "rating": 4.8, "features": [ "30.4MP full-frame sensor", "4K video", "Dual Pixel AF", "3.2-inch touchscreen" ], "description": "Unleash your creativity with this professional-grade DSLR camera.", "price": 1999.99 }
{ "name": "ActionX Waterproof Camera", "category": "Cameras and Camcorders", "brand": "ActionX", "model_number": "AX-WPC100", "warranty": "1 year", "rating": 4.6, "features": [ "20MP sensor", "4K video", "Waterproof up to 50m", "Wi-Fi connectivity" ], "description": "Capture your adventures with this rugged and versatile action camera.", "price": 299.99 }
{ "name": "SonicBlast Wireless Headphones", "category": "Audio and Headphones", "brand": "SonicBlast", "model_number": "SB-WH200", "warranty": "1 year", "rating": 4.7, "features": [ "Active noise cancellation", "50mm drivers", "30-hour battery life", "Comfortable earpads" ], "description": "Immerse yourself in superior sound quality with these wireless headphones.", "price": 149.99 }
"""

# 为我们的用例定义一个合适的系统消息
customer_agent_sysmessage = f"""
您是一位客户服务代理,负责回答客户关于产品目录中产品的疑问。
产品目录将用三个反引号分隔,即 ```。
以友好和人性化的语气回复,并提供产品目录中可用的详细信息。

产品目录: ```{product_information}```
"""

# 初始化模型的记忆
customer_agent_history = [{'role': 'system', 'content': customer_agent_sysmessage}]</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Nous pouvons voir que nous avons défini un exemple de répertoire (Product_Information) (format JSONL) et un message système (Customer_Agent_SysMessage) avec trois exigences:

  • Jouez le rôle d'un agent de service client.
  • Répondre d'un ton amical et humain.
  • fournit uniquement des informations dans le répertoire.

Enfin, nous initialisons également l'historique des messages de l'agent client (client_agent_history).

Il convient de noter que nous utilisons les styles de fonctionnalités lors de la rédaction de messages système et d'informations supplémentaires (par exemple, trois backticks). C'est l'une des meilleures pratiques pour l'ingénierie de TIP! Si vous êtes intéressé par plus de meilleures pratiques, le webinaire de Guide de démarrage de l'ingénierie des conseils de CHATGPT est pour vous!

À ce stade, nous pouvons commencer à utiliser notre échantillon de chatbot client comme suit:

<code>import openai
import os

# 从环境中获取 OpenAI 密钥
openai_api_key = os.environ["OPENAI_API_KEY"]

# 使用过去交互记忆的简单 OpenAI API 调用
def gpt_call(prompt, message_history, model="gpt-3.5-turbo"):
message_history.append({'role': 'user', 'content': prompt})
response = openai.ChatCompletion.create( 
model=model,
messages=message_history
)

response_text = response.choices[0].message["content"]
message_history.append({'role': 'assistant', 'content': response_text})
return response_text</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

ressemble à une réponse naturelle, non? Ayons une interaction de suivi:

<code># 定义我们的示例产品目录
product_information = """
{ "name": "UltraView QLED TV", "category": "Televisions and Home Theater Systems", "brand": "UltraView", "model_number": "UV-QLED65", "warranty": "3 years", "rating": 4.9, "features": [ "65-inch QLED display", "8K resolution", "Quantum HDR", "Dolby Vision", "Smart TV" ], "description": "Experience lifelike colors and incredible clarity with this high-end QLED TV.", "price": 2499.99 }
{ "name": "ViewTech Android TV", "category": "Televisions and Home Theater Systems", "brand": "ViewTech", "model_number": "VT-ATV55", "warranty": "2 years", "rating": 4.7, "features": [ "55-inch 4K display", "Android TV OS", "Voice remote", "Chromecast built-in" ], "description": "Access your favorite apps and content on this smart Android TV.", "price": 799.99 }
{ "name": "SlimView OLED TV", "category": "Televisions and Home Theater Systems", "brand": "SlimView", "model_number": "SL-OLED75", "warranty": "2 years", "rating": 4.8, "features": [ "75-inch OLED display", "4K resolution", "HDR10+", "Dolby Atmos", "Smart TV" ], "description": "Immerse yourself in a theater-like experience with this ultra-thin OLED TV.", "price": 3499.99 }
{ "name": "TechGen X Pro", "category": "Smartphones and Accessories", "brand": "TechGen", "model_number": "TG-XP20", "warranty": "1 year", "rating": 4.5, "features": [ "6.4-inch AMOLED display", "128GB storage", "48MP triple camera", "5G", "Fast charging" ], "description": "A feature-packed smartphone designed for power users and mobile enthusiasts.", "price": 899.99 }
{ "name": "GigaPhone 12X", "category": "Smartphones and Accessories", "brand": "GigaPhone", "model_number": "GP-12X", "warranty": "2 years", "rating": 4.6, "features": [ "6.7-inch IPS display", "256GB storage", "108MP quad camera", "5G", "Wireless charging" ], "description": "Unleash the power of 5G and high-resolution photography with the GigaPhone 12X.", "price": 1199.99 }
{ "name": "Zephyr Z1", "category": "Smartphones and Accessories", "brand": "Zephyr", "model_number": "ZP-Z1", "warranty": "1 year", "rating": 4.4, "features": [ "6.2-inch LCD display", "64GB storage", "16MP dual camera", "4G LTE", "Long battery life" ], "description": "A budget-friendly smartphone with reliable performance for everyday use.", "price": 349.99 }
{ "name": "PixelMaster Pro DSLR", "category": "Cameras and Camcorders", "brand": "PixelMaster", "model_number": "PM-DSLR500", "warranty": "2 years", "rating": 4.8, "features": [ "30.4MP full-frame sensor", "4K video", "Dual Pixel AF", "3.2-inch touchscreen" ], "description": "Unleash your creativity with this professional-grade DSLR camera.", "price": 1999.99 }
{ "name": "ActionX Waterproof Camera", "category": "Cameras and Camcorders", "brand": "ActionX", "model_number": "AX-WPC100", "warranty": "1 year", "rating": 4.6, "features": [ "20MP sensor", "4K video", "Waterproof up to 50m", "Wi-Fi connectivity" ], "description": "Capture your adventures with this rugged and versatile action camera.", "price": 299.99 }
{ "name": "SonicBlast Wireless Headphones", "category": "Audio and Headphones", "brand": "SonicBlast", "model_number": "SB-WH200", "warranty": "1 year", "rating": 4.7, "features": [ "Active noise cancellation", "50mm drivers", "30-hour battery life", "Comfortable earpads" ], "description": "Immerse yourself in superior sound quality with these wireless headphones.", "price": 149.99 }
"""

# 为我们的用例定义一个合适的系统消息
customer_agent_sysmessage = f"""
您是一位客户服务代理,负责回答客户关于产品目录中产品的疑问。
产品目录将用三个反引号分隔,即 ```。
以友好和人性化的语气回复,并提供产品目录中可用的详细信息。

产品目录: ```{product_information}```
"""

# 初始化模型的记忆
customer_agent_history = [{'role': 'system', 'content': customer_agent_sysmessage}]</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

C'est juste! L'agent peut reconnaître qu'il n'y a pas d'iPhone dans notre catalogue de produits et répondre à l'utilisateur en conséquence. Il encourage même les utilisateurs à contacter le magasin!

essayons une autre demande:

<code>user_prompt = "你们商店里最好的电视是什么?"

customer_agent_response = gpt_call(user_prompt, customer_agent_history)
print(customer_agent_response)

# 输出:在我们商店里,UltraView QLED 电视被认为是最好的电视。它的评分为 4.9,并提供 65 英寸 QLED 显示屏和 8K 分辨率。它还具有 Quantum HDR、Dolby Vision 和智能电视功能。凭借其逼真的色彩和令人难以置信的清晰度,这款高端 QLED 电视可提供身临其境的观看体验。UltraView QLED 电视的价格为 2499.99 美元,并提供 3 年保修。</code>
Copier après la connexion
Copier après la connexion

correctement , il semble que, dans certains cas, le proxy puisse ignorer les informations du répertoire. Dans ces cas, le proxy QA peut aider à filtrer les réponses indésirables.

Développez notre agent QA personnalisé

Comme nous l'avons discuté, le but des agents d'AQ est de vérifier la qualité des agents du service client en fonction des requêtes utilisateur et des catalogues de produits. Par conséquent, il est important de définir un message système qui définit ce comportement avancé exact:

<code>user_prompt = "我想买最新的 iPhone。你能帮我吗?"

customer_agent_response = gpt_call(user_prompt, customer_agent_history)
print(customer_agent_response)

# 输出:当然!我很乐意帮助您找到最新的 iPhone。但是,由于它似乎缺失于产品目录中,我目前无法提供有关最新 iPhone 型号的具体详细信息。我建议您查看我们的网站或直接联系我们的商店,以获取有关最新 iPhone 型号的最新信息。我们知识渊博的工作人员将能够帮助您选择最符合您的需求和偏好的 iPhone。</code>
Copier après la connexion

Pour les agents des clients, les invites utilisateur sont imprévisibles car elles dépendent des besoins de l'utilisateur et du style d'écriture. Pour les agents d'AQ, nous sommes responsables de passer les demandes des utilisateurs, les réponses des agents clients et les catalogues de produits au modèle. Par conséquent, notre invite aura toujours la même structure, mais la requête utilisateur (user_prompt) et la réponse du modèle (client_agent_response) sont différentes:

<code>user_prompt = "你能帮我买一台三星电视吗?"

customer_agent_response = gpt_call(user_prompt, customer_agent_history)
print(customer_agent_response)

# 输出:当然!我很乐意协助您购买三星电视。您能否提供您的一些具体要求或偏好?这样,我可以推荐最适合您需求的三星电视型号。</code>
Copier après la connexion

Une fois le message système et l'invite QA définis, nous pouvons tester l'agent QA avec la dernière réponse du service client comme suit:

<code>qa_sysmessage = f"""
您是一位质量助理,负责评估客户服务代理是否正确地回答了客户的问题。
您还必须验证客户服务代理是否仅提供我们商店产品目录中的信息,并温和地拒绝目录之外的任何其他产品。
客户消息、客户服务代理的回复和产品目录将用三个反引号分隔,即 ```。

请说明您的答案原因。
"""</code>
Copier après la connexion

Pour évaluer la réponse de l'agent QA, décomposons l'interaction qu'il analysera:

  • L'utilisateur a demandé: "Pouvez-vous m'acheter un Samsung TV?"
  • Réponse de l'agent client: "Bien sûr! Je suis heureux de vous aider à acheter un Samsung TV. Pouvez-vous fournir certaines de vos exigences ou préférences spécifiques? De cette manière, je peux recommander le modèle de télévision Samsung qui convient le mieux à vos besoins."
  • Agent QA: "Vérification de la qualité: Réponse incorrecte Commentaire: les clients ont demandé l'aide pour acheter Samsung TV, mais l'agent n'a pas traité la demande. L'agent doit mentionner qu'il ne peut accéder qu'au catalogue de produits de notre magasin et peut fournir des informations et des conseils en fonction de ce répertoire. L'agent doit rejeter doucement tout autre produit en dehors du répertoire."

Les agents de qualité peuvent détecter des réponses inappropriées des agents des clients!

Interaction entre les agents

Maintenant que nous avons laissé les deux agents travailler de manière indépendante, il est temps de définir l'interaction entre eux.

Nous pouvons utiliser un graphique simple pour décrire deux agents et leurs exigences:

A Comprehensive Guide to Moderating ChatGPT Responses with GPT Models

images maison. Trois diagrammes de blocs de construction pour chaque agent: message système (bleu), entrée modèle (vert) et sortie du modèle (jaune).

Quelle est la prochaine étape? Maintenant, nous devons implémenter l'interaction entre les deux modèles!

Ce qui suit est une suggestion de filtrage des réponses inexactes:

Tout d'abord, nous laissons l'agent client générer une réponse basée sur les requêtes utilisateur. Ensuite, si l'agent QA pense que la réponse de l'agent client est assez bonne pour la requête et le catalogue de produits de l'utilisateur, nous avons juste besoin de renvoyer la réponse à l'utilisateur.

En revanche, si l'agent QA détermine que la réponse ne répond pas à la demande de l'utilisateur ou contient des informations fausses sur le répertoire, nous pouvons demander à l'agent client d'améliorer la réponse avant de l'envoyer à l'utilisateur.

Compte tenu de cette idée, nous pouvons améliorer la dernière partie de notre tableau d'origine comme suit:

A Comprehensive Guide to Moderating ChatGPT Responses with GPT Models

images maison. Diagramme de workflow audit étendu. Nous pouvons utiliser le jugement de proxy QA pour fournir des commentaires aux applications basées sur LLM.

Interaction de l'agent d'ordre

Pour utiliser le proxy QA comme filtre, nous devons nous assurer qu'il publie une réponse cohérente dans chaque itération.

Une façon d'y parvenir est de modifier légèrement le message du système de proxy QA et l'exiger de sa sortie vraie uniquement si le proxy client répond assez bien, sinon la sortie fausse:

<code>import openai
import os

# 从环境中获取 OpenAI 密钥
openai_api_key = os.environ["OPENAI_API_KEY"]

# 使用过去交互记忆的简单 OpenAI API 调用
def gpt_call(prompt, message_history, model="gpt-3.5-turbo"):
message_history.append({'role': 'user', 'content': prompt})
response = openai.ChatCompletion.create( 
model=model,
messages=message_history
)

response_text = response.choices[0].message["content"]
message_history.append({'role': 'assistant', 'content': response_text})
return response_text</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Ainsi, lorsque nous évaluons à nouveau la dernière réponse de l'agent client, nous n'obtiendrons que la sortie booléenne:

<code># 定义我们的示例产品目录
product_information = """
{ "name": "UltraView QLED TV", "category": "Televisions and Home Theater Systems", "brand": "UltraView", "model_number": "UV-QLED65", "warranty": "3 years", "rating": 4.9, "features": [ "65-inch QLED display", "8K resolution", "Quantum HDR", "Dolby Vision", "Smart TV" ], "description": "Experience lifelike colors and incredible clarity with this high-end QLED TV.", "price": 2499.99 }
{ "name": "ViewTech Android TV", "category": "Televisions and Home Theater Systems", "brand": "ViewTech", "model_number": "VT-ATV55", "warranty": "2 years", "rating": 4.7, "features": [ "55-inch 4K display", "Android TV OS", "Voice remote", "Chromecast built-in" ], "description": "Access your favorite apps and content on this smart Android TV.", "price": 799.99 }
{ "name": "SlimView OLED TV", "category": "Televisions and Home Theater Systems", "brand": "SlimView", "model_number": "SL-OLED75", "warranty": "2 years", "rating": 4.8, "features": [ "75-inch OLED display", "4K resolution", "HDR10+", "Dolby Atmos", "Smart TV" ], "description": "Immerse yourself in a theater-like experience with this ultra-thin OLED TV.", "price": 3499.99 }
{ "name": "TechGen X Pro", "category": "Smartphones and Accessories", "brand": "TechGen", "model_number": "TG-XP20", "warranty": "1 year", "rating": 4.5, "features": [ "6.4-inch AMOLED display", "128GB storage", "48MP triple camera", "5G", "Fast charging" ], "description": "A feature-packed smartphone designed for power users and mobile enthusiasts.", "price": 899.99 }
{ "name": "GigaPhone 12X", "category": "Smartphones and Accessories", "brand": "GigaPhone", "model_number": "GP-12X", "warranty": "2 years", "rating": 4.6, "features": [ "6.7-inch IPS display", "256GB storage", "108MP quad camera", "5G", "Wireless charging" ], "description": "Unleash the power of 5G and high-resolution photography with the GigaPhone 12X.", "price": 1199.99 }
{ "name": "Zephyr Z1", "category": "Smartphones and Accessories", "brand": "Zephyr", "model_number": "ZP-Z1", "warranty": "1 year", "rating": 4.4, "features": [ "6.2-inch LCD display", "64GB storage", "16MP dual camera", "4G LTE", "Long battery life" ], "description": "A budget-friendly smartphone with reliable performance for everyday use.", "price": 349.99 }
{ "name": "PixelMaster Pro DSLR", "category": "Cameras and Camcorders", "brand": "PixelMaster", "model_number": "PM-DSLR500", "warranty": "2 years", "rating": 4.8, "features": [ "30.4MP full-frame sensor", "4K video", "Dual Pixel AF", "3.2-inch touchscreen" ], "description": "Unleash your creativity with this professional-grade DSLR camera.", "price": 1999.99 }
{ "name": "ActionX Waterproof Camera", "category": "Cameras and Camcorders", "brand": "ActionX", "model_number": "AX-WPC100", "warranty": "1 year", "rating": 4.6, "features": [ "20MP sensor", "4K video", "Waterproof up to 50m", "Wi-Fi connectivity" ], "description": "Capture your adventures with this rugged and versatile action camera.", "price": 299.99 }
{ "name": "SonicBlast Wireless Headphones", "category": "Audio and Headphones", "brand": "SonicBlast", "model_number": "SB-WH200", "warranty": "1 year", "rating": 4.7, "features": [ "Active noise cancellation", "50mm drivers", "30-hour battery life", "Comfortable earpads" ], "description": "Immerse yourself in superior sound quality with these wireless headphones.", "price": 149.99 }
"""

# 为我们的用例定义一个合适的系统消息
customer_agent_sysmessage = f"""
您是一位客户服务代理,负责回答客户关于产品目录中产品的疑问。
产品目录将用三个反引号分隔,即 ```。
以友好和人性化的语气回复,并提供产品目录中可用的详细信息。

产品目录: ```{product_information}```
"""

# 初始化模型的记忆
customer_agent_history = [{'role': 'system', 'content': customer_agent_sysmessage}]</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Nous pouvons en outre utiliser cette valeur booléenne pour envoyer la réponse à l'utilisateur (si le proxy QA évalue à true) ou donner au modèle une seconde chance de générer une nouvelle réponse (si le proxy QA évalue False).

Interaction de l'agent de démonstration

Allons tout ensemble!

Étant donné que nous avons initialisé deux mémoire (avec leurs messages système et leurs informations supplémentaires respectivement), chaque demande du client peut être traitée comme suit:

<code>user_prompt = "你们商店里最好的电视是什么?"

customer_agent_response = gpt_call(user_prompt, customer_agent_history)
print(customer_agent_response)

# 输出:在我们商店里,UltraView QLED 电视被认为是最好的电视。它的评分为 4.9,并提供 65 英寸 QLED 显示屏和 8K 分辨率。它还具有 Quantum HDR、Dolby Vision 和智能电视功能。凭借其逼真的色彩和令人难以置信的清晰度,这款高端 QLED 电视可提供身临其境的观看体验。UltraView QLED 电视的价格为 2499.99 美元,并提供 3 年保修。</code>
Copier après la connexion
Copier après la connexion

Comme mentionné ci-dessus, nous avons filtré la réponse en fonction de son exactitude. Je vous laisse avec la tâche de décider comment gérer les réponses inappropriées. Nous avons eu l'idée d'envoyer des commentaires à l'agent client et de lui demander de réessayer, mais comment demander à l'agent d'AQ de passer à une meilleure réponse? Il existe de nombreuses possibilités!

Conclusion

Dans cet article, nous explorons le potentiel d'utiliser le modèle GPT comme vérificateur pour d'autres instances de modèle similaires. Nous avons montré que les mêmes capacités puissantes qui nous amènent à utiliser le modèle LLM dans nos applications peuvent aider nos applications à améliorer la précision et l'exhaustivité des interactions utilisateur.

Contrairement au malentendu, la mise en œuvre d'un niveau d'audit ne signifie pas nécessairement augmenter la complexité de l'application et, comme nous l'avons montré, il peut parfois être implémenté avec plusieurs lignes de code soigneusement conçu, améliorant considérablement la fonctionnalité de l'application.

Les audits LLM responsables sont impératifs dans le monde actuel axé sur l'IA. Ce n'est pas seulement une option, mais une obligation morale. Grâce à des audits IA intégrés, nous nous assurons que nos applications sont non seulement puissantes, mais fiables et éthiques. Prévusons le développement de manière responsable afin que nous puissions continuer à bénéficier de l'IA tout en maintenant la précision.

Merci d'avoir lu! Si vous aimez le sujet de la revue de l'IA, je vous encourage à continuer de lire la promotion de l'IA responsable: la revue de contenu dans Chatgpt comme suivi!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal