Todos os produtos
Search
Central de documentação

AI Guardrails:Gerencie bibliotecas de texto personalizadas

Última atualização: Jun 27, 2026

Use o AI Guardrails SDK for Java para gerenciar bibliotecas de texto personalizadas no combate a spam em textos.

Tipos de biblioteca

As bibliotecas de texto classificam-se em duas dimensões:

Por tipo de conteúdo

Tipo

Valor da API

Biblioteca de palavras-chave

textKeyword

Biblioteca de padrões de texto

similarText

Por finalidade

Finalidade

Valor da API

Lista de bloqueios

BLACK

Lista de permissões

WHITE

Lista de revisão

suspect

Pré-requisitos

Antes de começar, verifique se você tem:

Importante

Use a versão do Java especificada no tópico Instalação. Versões diferentes causam falhas nas chamadas de operação.

Consultar bibliotecas de texto

DescribeKeywordLibRequest retorna todas as bibliotecas de texto da sua conta, incluindo as de combate a spam em texto, detecção de anúncios em imagens e combate a spam em áudio. Filtre os resultados por LibType, resourceType e source para obter apenas as bibliotecas desejadas.

Consultar bibliotecas de palavras-chave

DescribeKeywordLibRequest describeKeywordLibRequest = new DescribeKeywordLibRequest();
describeKeywordLibRequest.setServiceModule("open_api");

try {
    DescribeKeywordLibResponse describeKeywordLibResponse = client.getAcsResponse(describeKeywordLibRequest);

    List<DescribeKeywordLibResponse.KeywordLib> allLibs = describeKeywordLibResponse.getKeywordLibList();
    List<DescribeKeywordLibResponse.KeywordLib> keywordLibs = new ArrayList<>();

    for (DescribeKeywordLibResponse.KeywordLib lib : allLibs) {
        String libType = lib.getLibType();
        String resourceType = lib.getResourceType();
        String source = lib.getSource();

        // Custom keyword libraries for text anti-spam
        if ("textKeyword".equals(libType) && "TEXT".equals(resourceType) && "MANUAL".equals(source)) {
            keywordLibs.add(lib);
        }
        // Feedback-based keyword libraries for text anti-spam
        if ("textKeyword".equals(libType) && "TEXT".equals(resourceType) && "FEEDBACK".equals(source)) {
            keywordLibs.add(lib);
        }
    }

    System.out.println(JSON.toJSONString(keywordLibs));
} catch (ClientException e) {
    e.printStackTrace();
}

Consultar bibliotecas de padrões de texto

DescribeKeywordLibRequest describeKeywordLibRequest = new DescribeKeywordLibRequest();
describeKeywordLibRequest.setServiceModule("open_api");

try {
    DescribeKeywordLibResponse describeKeywordLibResponse = client.getAcsResponse(describeKeywordLibRequest);

    List<DescribeKeywordLibResponse.KeywordLib> allLibs = describeKeywordLibResponse.getKeywordLibList();
    List<DescribeKeywordLibResponse.KeywordLib> patternLibs = new ArrayList<>();

    for (DescribeKeywordLibResponse.KeywordLib lib : allLibs) {
        String libType = lib.getLibType();
        String resourceType = lib.getResourceType();
        String source = lib.getSource();

        // Custom text pattern libraries for text anti-spam
        if ("similarText".equals(libType) && "TEXT".equals(resourceType) && "MANUAL".equals(source)) {
            patternLibs.add(lib);
        }
        // Feedback-based text pattern libraries for text anti-spam
        if ("similarText".equals(libType) && "TEXT".equals(resourceType) && "FEEDBACK".equals(source)) {
            patternLibs.add(lib);
        }
    }

    System.out.println(JSON.toJSONString(patternLibs));
} catch (ClientException e) {
    e.printStackTrace();
}

Para obter a lista completa de parâmetros da API, consulte Obter uma lista de bibliotecas de texto.

Crie uma biblioteca de texto

Criar uma biblioteca de palavras-chave

CreateKeywordLibRequest createKeywordLibRequest = new CreateKeywordLibRequest();
createKeywordLibRequest.setServiceModule("open_api");
createKeywordLibRequest.setName("Term library for testing");
createKeywordLibRequest.setResourceType("TEXT");    // Text anti-spam
createKeywordLibRequest.setLibType("textKeyword");  // Keyword library
createKeywordLibRequest.setCategory("BLACK");       // Blocklist

try {
    CreateKeywordLibResponse createKeywordLibResponse = client.getAcsResponse(createKeywordLibRequest);
    // Library created successfully; record the ID for subsequent operations
    String libId = createKeywordLibResponse.getId();
} catch (ClientException e) {
    e.printStackTrace();
}

Criar uma biblioteca de padrões de texto

CreateKeywordLibRequest createKeywordLibRequest = new CreateKeywordLibRequest();
createKeywordLibRequest.setServiceModule("open_api");
createKeywordLibRequest.setName("Text pattern library for testing");
createKeywordLibRequest.setResourceType("TEXT");    // Text anti-spam
createKeywordLibRequest.setLibType("similarText");  // Text pattern library
createKeywordLibRequest.setCategory("BLACK");       // Blocklist; also accepts WHITE or suspect

try {
    CreateKeywordLibResponse createKeywordLibResponse = client.getAcsResponse(createKeywordLibRequest);
    // Library created successfully; record the ID for subsequent operations
    String libId = createKeywordLibResponse.getId();
} catch (ClientException e) {
    e.printStackTrace();
}

Atualize uma biblioteca de texto

Atualize o nome ou os cenários de moderação (BizTypes) associados a uma biblioteca de texto.

UpdateKeywordLibRequest updateKeywordLibRequest = new UpdateKeywordLibRequest();
updateKeywordLibRequest.setId(0);                   // ID of the library to update
updateKeywordLibRequest.setName("New library name");
// Associate the library with one or more moderation scenarios
updateKeywordLibRequest.setBizTypes(JSON.toJSONString(Arrays.asList("New BizType_1", "New BizType_2")));

try {
    UpdateKeywordLibResponse updateKeywordLibResponse = client.getAcsResponse(updateKeywordLibRequest);
    // A non-empty requestId indicates success
    String requestId = updateKeywordLibResponse.getRequestId();
} catch (ClientException e) {
    e.printStackTrace();
}

Exclua uma biblioteca de texto

DeleteKeywordLibRequest deleteKeywordLibRequest = new DeleteKeywordLibRequest();
deleteKeywordLibRequest.setId(3353);  // ID of the library to delete

try {
    DeleteKeywordLibResponse deleteKeywordLibResponse = client.getAcsResponse(deleteKeywordLibRequest);
    // A non-empty requestId indicates success
    String requestId = deleteKeywordLibResponse.getRequestId();
} catch (ClientException e) {
    e.printStackTrace();
}
Importante

Excluir uma biblioteca de texto remove permanentemente todas as entradas de texto contidas nela. Não é possível excluir bibliotecas de texto baseadas em feedback.

Pesquisar entradas de texto

Por padrão, a API retorna todas as entradas de texto de uma biblioteca com paginação. Defina o parâmetro keyword para pesquisar no modo difuso.

DescribeKeywordRequest describeKeywordRequest = new DescribeKeywordRequest();
describeKeywordRequest.setKeywordLibId(0);                          // Library ID
describeKeywordRequest.setPageSize(10);                             // Entries per page
describeKeywordRequest.setCurrentPage(1);                           // Page number
describeKeywordRequest.setKeyword("Text entry to search for");      // Optional: fuzzy search term

try {
    DescribeKeywordResponse describeKeywordResponse = client.getAcsResponse(describeKeywordRequest);

    Integer totalCount = describeKeywordResponse.getTotalCount();   // Total number of matching entries
    Integer currentPage = describeKeywordResponse.getCurrentPage(); // Current page number
    Integer pageSize = describeKeywordResponse.getPageSize();       // Entries per page

    for (DescribeKeywordResponse.Keyword item : describeKeywordResponse.getKeywordList()) {
        Integer id = item.getId();                // Entry ID
        String createTime = item.getCreateTime(); // Creation time
        Integer hitCount = item.getHitCount();    // Number of times this entry was matched
        String keyword = item.getKeyword();       // The keyword text
    }
} catch (ClientException e) {
    e.printStackTrace();
}

Adicionar entradas de texto

CreateKeywordRequest createKeywordRequest = new CreateKeywordRequest();
createKeywordRequest.setKeywordLibId(0L);  // Library ID
createKeywordRequest.setKeywords(JSON.toJSONString(Arrays.asList("Term_1", "Term_2")));

try {
    CreateKeywordResponse createKeywordResponse = client.getAcsResponse(createKeywordRequest);
    Integer successCount = createKeywordResponse.getSuccessCount();                    // Number of entries added
    List<String> invalidKeywordList = createKeywordResponse.getInvalidKeywordList();   // Entries that failed validation
} catch (ClientException e) {
    e.printStackTrace();
}

Remover entradas de texto

DeleteKeywordRequest deleteKeywordRequest = new DeleteKeywordRequest();
deleteKeywordRequest.setKeywordLibId(String.valueOf("ID of the text library")); // Library ID
deleteKeywordRequest.setIds(JSON.toJSONString(Arrays.asList(1, 2)));            // Entry IDs to remove

try {
    DeleteKeywordResponse deleteKeywordResponse = client.getAcsResponse(deleteKeywordRequest);
    // A non-empty requestId indicates success
    String requestId = deleteKeywordResponse.getRequestId();
} catch (ClientException e) {
    e.printStackTrace();
}

Próximos passos