Conectar-se ao Salesforce para obter sua base de conhecimento - Amazon Bedrock

Conectar-se ao Salesforce para obter sua base de conhecimento

O Salesforce é uma ferramenta de gerenciamento de relacionamento com o cliente (CRM) para gerenciar equipes de suporte, vendas e marketing. Você pode se conectar à instância do Salesforce da base de conhecimento do Amazon Bedrock usando o Console de Gerenciamento da AWS para o Amazon Bedrock ou a API CreateDataSource (consulte os SDKs compatíveis com o Amazon Bedrock e a AWS CLI).

nota

O conector de fonte de dados do Salesforce está em versão prévia e está sujeito a alterações.

As fontes de dados do Salesforce não permitem dados multimodais, como tabelas, gráficos, diagramas ou outras imagens.

No momento, somente o armazenamento de vetores do Amazon OpenSearch Sem Servidor está disponível para uso com essa fonte de dados.

Há limites para quantos arquivos e MB por arquivo podem ser rastreados. Consulte Quotas for knowledge bases.

Recursos compatíveis

  • Detecção automática dos campos de documento principais

  • Filtros de conteúdo de inclusão/exclusão

  • Sincronizações de conteúdo incrementais para conteúdo adicionado, atualizado e excluído

  • Autenticação OAuth 2.0:

Pré-requisitos

No Salesforce, não se esqueça de:

  • Anotar o URL da instância do Salesforce. Por exemplo, https://company.salesforce.com/. A instância deve estar executando uma aplicação conectada ao Salesforce.

  • Crie uma aplicação conectada ao Salesforce e configure as credenciais do cliente. Em seguida, para a aplicação selecionada, copie a chave do consumidor (ID do cliente) e a senha do consumidor (senha do cliente) das configurações do OAuth. Para obter mais informações, consulte a documentação do Salesforce em Create a Connected App e Configure a Connected App for the OAuth 2.0 Client Credentials.

    nota

    Para aplicações conectadas ao Salesforce, em Fluxo de credenciais do cliente, não se esqueça de pesquisar e selecionar o nome do usuário ou o alias das credenciais de cliente no campo “Executar como”.

Na conta da AWS, não se esqueça de:

  • Armazenar as credenciais de autenticação em um segredo do AWS Secrets Manager e anotar o nome do recurso da Amazon (ARN) do segredo. Seguir as instruções de Configuração da conexão nesta página para incluir os pares de chave-valor que devem ser incluídos no segredo.

  • Incluir as permissões necessárias para se conectar à fonte de dados na política de perfil/permissões do AWS Identity and Access Management (IAM) da base de conhecimento. Para obter informações sobre as permissões necessárias para que essa fonte de dados seja adicionada ao perfil do IAM da base de conhecimento, consulte Permissions to access data sources.

nota

Se usar o console, você poderá ir ao AWS Secrets Manager para adicionar o segredo ou usar um segredo existente como parte da etapa de configuração da fonte de dados. O perfil do IAM com todas as permissões necessárias pode ser criado para você como parte das etapas do console para criação de uma base de conhecimento. Depois que você tiver definido a fonte de dados e as outras configurações, o perfil do IAM com todas as permissões necessárias será aplicado à base de conhecimento específica.

É recomendável atualizar ou alternar regularmente suas credenciais e senhas. Forneça somente o nível de acesso necessário para sua própria segurança. Não é recomendável reutilizar credenciais e senhas em fontes de dados.

Configuração de conexão

Para se conectar à instância do Salesforce, você deve fornecer as informações de configuração necessárias para que o Amazon Bedrock possa acessar e rastrear os dados. Você também deve seguir os Pré-requisitos.

Um exemplo de configuração dessa fonte de dados está incluído nesta seção.

Para obter mais informações sobre a detecção automática dos campos de documento, filtros de inclusão/exclusão, sincronização incremental, credenciais de autenticação de segredos e como eles funcionam, selecione o seguinte:

O conector da fonte de dados detecta e rastreia automaticamente todos os campos de metadados principais dos documentos ou do conteúdo. Por exemplo, o conector da fonte de dados pode rastrear o corpo do documento equivalente aos documentos, o título do documento, a data de criação ou de modificação do documento ou outros campos principais que possam ser aplicados aos documentos.

Importante

Se o conteúdo incluir informações confidenciais, o Amazon Bedrock poderá responder usando informações confidenciais.

Você pode aplicar operadores de filtragem aos campos de metadados para ajudar a aumentar ainda mais a relevância das respostas. Por exemplo, o documento “epoch_modification_time” ou o número de segundos transcorridos desde 1.º de janeiro de 1970, quando o documento foi atualizado pela última vez. Você pode filtrar os dados mais recentes, em que “epoch_modification_time” é maior que um determinado número. Para obter mais informações sobre os operadores de filtragem que podem ser aplicados aos campos de metadados, consulte Metadados e filtragem.

É possível incluir ou excluir o crawling de determinado conteúdo. Por exemplo, é possível especificar um prefixo/padrão de expressão regular para ignorar o crawling de qualquer arquivo que contenha “privado” no nome do arquivo. Também é possível especificar um prefixo de inclusão/padrão de expressão regular para incluir determinadas entidades de conteúdo ou tipos de conteúdo. Se você especificar um filtro de inclusão e de exclusão e ambos corresponderem a um documento, o filtro de exclusão terá precedência e o documento não será rastreado.

Um exemplo de um padrão de expressão regular para excluir ou filtrar campanhas que contenham “private” no nome da campanha: “.*private.*”

É possível aplicar filtros de inclusão/exclusão nos seguintes tipos de conteúdo:

  • Account: número/identificador da conta

  • Attachment: nome do arquivo anexado com sua extensão

  • Campaign: nome da campanha e identificadores associados

  • ContentVersion: versão do documento e identificadores associados

  • Partner: campos de informações do parceiro, inclusive identificadores associados

  • Pricebook2: nome do produto/lista de preços

  • Case: número da consulta/problema do cliente e outros campos de informações, inclusive identificadores associados (observação: podem conter informações pessoais, que você pode optar por excluir ou filtrar).

  • Contact: campos de informações do cliente (observação: podem conter informações pessoais, que você pode optar por excluir ou filtrar).

  • Contract: nome do contrato e identificadores associados.

  • Document: nome do arquivo com a extensão.

  • Idea: campos de informações da ideia e identificadores associados.

  • Lead: novos campos de informações do cliente em potencial (observação: podem conter informações pessoais, que você pode optar por excluir ou filtrar).

  • Opportunity: campos de informações da venda/acordo pendentes e identificadores associados.

  • Product2: campos de informações do produto e identificadores associados.

  • Solution: nome da solução para uma consulta/problema do cliente e identificadores associados.

  • Task: campos de informações da tarefa e identificadores associados.

  • FeedItem: identificador da publicação do feed do chatter.

  • FeedComment: identificador da publicação do feed do chatter à qual os comentários pertencem.

  • Knowledge__kav: título do artigo de conhecimento.

  • User: alias do usuário dentro da organização.

  • CollaborationGroup: nome do grupo do chatter (exclusivo).

O conector da fonte de dados rastreia conteúdo novo, modificado e excluído sempre que a fonte de dados for sincronizada com a base de conhecimento. O Amazon Bedrock pode usar o mecanismo de fonte de dados para rastrear alterações no conteúdo e o conteúdo que foi alterado desde a última sincronização. Ao sincronizar a fonte de dados com a base de conhecimento pela primeira vez, todo o conteúdo é rastreado por padrão.

Para sincronizar a fonte de dados com a base de conhecimento, use a API StartIngestionJob ou selecione a base de conhecimento no console e escolha Sincronizar na seção de visão geral da fonte de dados.

Importante

Todos os dados que você sincroniza na fonte de dados ficam disponíveis para qualquer pessoa com permissões bedrock:Retrieve para recuperá-los. Isso também pode incluir quaisquer dados com permissões de fonte de dados controladas. Para obter mais informações, consulte Knowledge base permissions.

(Para autenticação OAuth 2.0) As credenciais de autenticação secreta no AWS Secrets Manager devem incluir estes pares de chave-valor:

  • consumerKey: ID do cliente da aplicação

  • consumerSecret: segredo do cliente da aplicação

  • authenticationUrl: URL da instância do Salesforce ou a URL da qual solicitar o token de autenticação.

nota

O segredo no AWS Secrets Manager deve usar a mesma região da base de conhecimento.

Console
Conectar uma instância do Salesforce à base de conhecimento
  1. Siga as etapas em Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock e escolha o Salesforce como fonte de dados.

  2. Forneça um nome e uma descrição opcional para a fonte de dados.

  3. Forneça o URL da instância do Salesforce. Por exemplo, https://company.salesforce.com/. A instância deve estar executando uma aplicação conectada ao Salesforce.

  4. Na seção Configurações avançadas, você pode, opcionalmente, configurar o seguinte:

    • Chave do KMS para armazenamento de dados temporário. – Você pode criptografar os dados temporários enquanto converte seus dados em incorporações com a Chave gerenciada pela AWS padrão ou sua própria chave do KMS. Para obter mais informações, consulte Criptografia de armazenamento de dados temporário durante a ingestão de dados.

    • Política de exclusão de dados: você pode excluir as incorporações de vetores da sua fonte de dados que estão armazenadas no armazenamento de vetores por padrão ou optar por reter os dados do armazenamento de vetores.

  5. Forneça as informações de autenticação para se conectar à instância do Salesforce:

    1. Para autenticação OAuth 2.0, acesse o AWS Secrets Manager para adicionar as credenciais de autenticação secreta ou usar um nome do recurso da Amazon (ARN) existente para o segredo criado. O segredo deve conter a chave de consumidor da aplicação conectada ao Salesforce (ID do cliente), a senha do consumidor (senha do cliente) e o URL da instância do Salesforce ou o URL do qual solicitar o token de autenticação. Para obter mais informações, consulte a documentação do Salesforce em Create a Connected App e Configure a Connected App for the OAuth 2.0 Client Credentials.

  6. (Opcional) Na seção Análise e fragmentação de conteúdo, você pode personalizar a forma de analisar e fragmentar seus dados. Consulte os seguintes recursos para saber mais sobre essas personalizações:

  7. Opte por usar filtros/padrões de expressões normais para incluir ou excluir determinado conteúdo. Caso contrário, todo o conteúdo padrão será rastreado.

  8. Continue escolhendo um modelo de incorporação e um armazenamento de vetores. Para ver as etapas restantes, retorne a Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock e continue após a etapa de conexão da fonte de dados.

API

Este é um exemplo de uma configuração para conexão ao Salesforce para a base de conhecimento do Amazon Bedrock. Você configura a fonte de dados usando a API com a AWS CLI ou o SDK compatível, como o Python. Depois de chamar CreateKnowledgeBase, você chama CreateDataSource para criar a fonte de dados com suas informações de conexão em dataSourceConfiguration.

Para saber mais sobre personalizações que você pode aplicar à ingestão incluindo o campo opcional vectorIngestionConfiguration, consulte Personalizar a ingestão para uma fonte de dados.

AWS Command Line Interface

aws bedrock create-data-source \ --name "Salesforce connector" \ --description "Salesforce data source connector for Amazon Bedrock to use content in Salesforce" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://salesforce-bedrock-connector-configuration.json \ --data-deletion-policy "DELETE" \ --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}' salesforce-bedrock-connector-configuration.json { "salesforceConfiguration": { "sourceConfiguration": { "hostUrl": "https://company.salesforce.com/", "authType": "OAUTH2_CLIENT_CREDENTIALS", "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Salesforce" }, "crawlerConfiguration": { "filterConfiguration": { "type": "PATTERN", "patternObjectFilter": { "filters": [ { "objectType": "Campaign", "inclusionFilters": [ ".*public.*" ], "exclusionFilters": [ ".*private.*" ] } ] } } } }, "type": "SALESFORCE" }