Moderação
7 min
Este módulo é usado para revisar o conteúdo inserido pelos usuários finais e o conteúdo de saída do LLM dentro da aplicação. Ele é dividido em dois tipos de pontos de extensão.
Pontos de Extensão
- app.moderation.input - Ponto de extensão para revisar o conteúdo de entrada do usuário finalUsado para revisar o conteúdo das variáveis passadas pelos usuários finais e o conteúdo de entrada de aplicativos de conversação.
- app.moderation.output - Ponto de extensão para revisar o conteúdo de saída do LLM
Ponto de Extensão app.moderation.input
Corpo da Requisição
{
"point": "app.moderation.input", // Tipo de ponto de extensão, fixado como app.moderation.input aqui
"params": {
"app_id": "string", // ID da Aplicação
"inputs": { // Valores das variáveis passadas pelos usuários finais, a chave é o nome da variável, o valor é o valor da variável
"var_1": "value_1",
"var_2": "value_2",
...
},
"query": "string | null" // Conteúdo atual de entrada da conversa pelo usuário final, parâmetro fixo para aplicativos de conversação.
}
}Exemplo
{
"point": "app.moderation.input",
"params": {
"app_id": "61248ab4-1125-45be-ae32-0ce91334d021",
"inputs": {
"var_1": "I will kill you.",
"var_2": "I will fuck you."
},
"query": "Happy everydays."
}
}Resposta da API
{
"flagged": "bool", // Se viola as regras de moderação
"action": "string", // Ação a ser tomada, direct_output para saída direta de uma resposta predefinida; overrided para substituir os valores das variáveis de entrada
"preset_response": "string", // Resposta predefinida (retornado apenas quando action=direct_output)
"inputs": { // Valores das variáveis passadas pelos usuários finais, a chave é o nome da variável, o valor é o valor da variável (retornado apenas quando action=overrided)
"var_1": "value_1",
"var_2": "value_2",
...
},
"query": "string | null" // Conteúdo atual de entrada da conversa pelo usuário final, substituído, parâmetro fixo para aplicativos de conversação. (retornado apenas quando action=overrided)
}Exemplo
action=direct_output
{
"flagged": true,
"action": "direct_output",
"preset_response": "Your content violates our usage policy."
}action=overrided
{
"flagged": true,
"action": "overrided",
"inputs": {
"var_1": "I will *** you.",
"var_2": "I will *** you."
},
"query": "Happy everydays."
}Ponto de Extensão app.moderation.output
Corpo da Requisição
{
"point": "app.moderation.output", // Tipo de ponto de extensão, fixado como app.moderation.output aqui
"params": {
"app_id": "string", // ID da Aplicação
"text": "string" // Conteúdo de resposta do LLM. Quando a saída do LLM é transmitida, este será o conteúdo segmentado em blocos de 100 caracteres.
}
}Exemplo
{
"point": "app.moderation.output",
"params": {
"app_id": "61248ab4-1125-45be-ae32-0ce91334d021",
"text": "I will kill you."
}
}Resposta da API
{
"flagged": "bool", // Se viola as regras de moderação
"action": "string", // Ação a ser tomada, direct_output para saída direta de uma resposta predefinida; overrided para substituir os valores das variáveis de entrada
"preset_response": "string", // Resposta predefinida (retornado apenas quando action=direct_output)
"text": "string" // Conteúdo de resposta do LLM substituído (retornado apenas quando action=overrided)
}Exemplo
action=direct_output
{
"flagged": true,
"action": "direct_output",
"preset_response": "Your content violates our usage policy."
}action=overrided
{
"flagged": true,
"action": "overrided",
"text": "I will *** you."
}