Anteriormente, o Amazon Managed Service for Apache Flink era conhecido como Amazon Kinesis Data Analytics for Apache Flink.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Planos de incorporação vetorial em tempo real - Perguntas frequentes
Leia as perguntas frequentes a seguir sobre esquemas de incorporação vetorial em tempo real. Para obter mais informações sobre esquemas de incorporação vetorial em tempo real, consulte Planos de incorporação vetorial em tempo real.
Perguntas frequentes
Quais são minhas ações após a conclusão da implantação da AWS CloudFormation pilha?
Qual deve ser a estrutura dos dados no (s) tópico (s) de origem do Amazon MSK?
Posso usar regex para configurar nomes de tópicos do Amazon MSK?
Qual é o tamanho máximo de uma mensagem que pode ser lida em um tópico do Amazon MSK?
Qual é a aparência da saída no OpenSearch índice configurado?
Posso especificar campos de metadados para adicionar ao documento armazenado no OpenSearch índice?
Posso implantar vários aplicativos de incorporação vetorial em tempo real em um único Conta da AWS?
Quais modelos de incorporação são compatíveis com o aplicativo?
Posso ajustar o desempenho do meu aplicativo com base na minha carga de trabalho?
O que é sink.os.bulkFlushIntervalMillis e como faço para configurá-lo?
Como faço para ler registros no meu armazenamento de dados vetoriais?
Esse aplicativo move meus dados para fora do meu Conta da AWS?
Quais AWS recursos esse plano cria?
Para encontrar recursos implantados em sua conta, navegue até o AWS CloudFormation console e identifique o nome da pilha que começa com o nome que você forneceu para o aplicativo Managed Service for Apache Flink. Escolha a guia Recursos para verificar os recursos que foram criados como parte da pilha. A seguir estão os principais recursos que a pilha cria:
-
Serviço gerenciado de incorporação vetorial em tempo real para o aplicativo Apache Flink
-
Bucket Amazon S3 para armazenar o código-fonte do aplicativo de incorporação vetorial em tempo real
-
CloudWatch grupo de registros e fluxo de registros para armazenar registros
-
Funções Lambda para buscar e criar recursos
-
Funções e políticas do IAM para Lambdas, serviço gerenciado para o aplicativo Apache Flink e acesso ao Amazon Bedrock e ao Amazon Service OpenSearch
-
Política de acesso a dados para Amazon OpenSearch Service
-
Endpoints VPC para acessar o Amazon Bedrock e o Amazon Service OpenSearch
Quais são minhas ações após a conclusão da implantação da AWS CloudFormation pilha?
Depois que a implantação da AWS CloudFormation pilha for concluída, acesse o console do Managed Service for Apache Flink e encontre seu plano de Managed Service para o aplicativo Apache Flink. Escolha a guia Configurar e confirme se todas as propriedades de tempo de execução estão configuradas corretamente. Eles podem transbordar para a próxima página. Quando você tiver certeza das configurações, escolha Executar. O aplicativo começará a ingerir mensagens do seu tópico.
Para verificar novos lançamentos, consulte https://github.com/awslabs/real-time-vectorization-of-streaming-data/releases
Qual deve ser a estrutura dos dados no (s) tópico (s) de origem do Amazon MSK?
Atualmente, oferecemos suporte a dados de origem estruturados e não estruturados.
-
Os dados não estruturados são indicados por in.
STRING
source.msk.data.type
Os dados são lidos no estado em que se encontram na mensagem recebida. -
Atualmente, oferecemos suporte a dados JSON estruturados, indicados por in.
JSON
source.msk.data.type
Os dados devem estar sempre no formato JSON. Se o aplicativo receber um JSON malformado, o aplicativo falhará. -
Ao usar JSON como tipo de dados de origem, certifique-se de que cada mensagem em todos os tópicos de origem seja um JSON válido. Se você assinar um ou mais tópicos que não contenham objetos JSON com essa configuração, o aplicativo falhará. Se um ou mais tópicos tiverem uma combinação de dados estruturados e não estruturados, recomendamos que você configure os dados de origem como não estruturados no aplicativo Managed Service for Apache Flink.
Posso especificar partes de uma mensagem para incorporar?
-
Para dados de entrada não estruturados onde estão
source.msk.data.type
STRING
, o aplicativo sempre incorporará a mensagem inteira e armazenará a mensagem inteira no índice configurado OpenSearch . -
Para dados de entrada estruturados onde estão
source.msk.data.type
JSON
, você pode configurarembed.input.config.json.fieldsToEmbed
para especificar qual campo no objeto JSON deve ser selecionado para incorporação. Isso só funciona para campos JSON de nível superior e não funciona com mensagens aninhadas JSONs e com mensagens contendo uma matriz JSON. Use .* para incorporar todo o JSON.
Posso ler dados de vários tópicos do Amazon MSK?
Sim, você pode ler dados de vários tópicos do Amazon MSK com esse aplicativo. Os dados de todos os tópicos devem ser do mesmo tipo (STRING ou JSON) ou isso pode causar falha no aplicativo. Os dados de todos os tópicos são sempre armazenados em um único OpenSearch índice.
Posso usar regex para configurar nomes de tópicos do Amazon MSK?
source.msk.topic.names
não suporta uma lista de regex. Oferecemos suporte para uma lista separada por vírgulas de nomes de tópicos ou .*
regex para incluir todos os tópicos.
Qual é o tamanho máximo de uma mensagem que pode ser lida em um tópico do Amazon MSK?
O tamanho máximo de uma mensagem que pode ser processada é limitado pelo limite de InvokeModel corpo do Amazon Bedrock, atualmente definido como 25.000.000. Para obter mais informações, consulte InvokeModel.
Que tipo de OpenSearch é compatível?
Oferecemos suporte tanto para OpenSearch domínios quanto para coleções. Se você estiver usando uma OpenSearch coleção, certifique-se de usar uma coleção de vetores e criar um índice vetorial para usar neste aplicativo. Isso permitirá que você use os recursos OpenSearch do banco de dados vetoriais para consultar seus dados. Para saber mais, consulte a explicação dos recursos de banco de dados vetoriais do Amazon OpenSearch Service
Por que preciso usar uma coleção de pesquisa vetorial, um índice vetorial e adicionar um campo vetorial na minha coleção OpenSearch Serverless?
O tipo de coleção de pesquisa vetorial no OpenSearch Serverless fornece um recurso de pesquisa por similaridade que é escalável e de alto desempenho. Ele simplifica a criação de experiências modernas de pesquisa aumentada de aprendizado de máquina (ML) e aplicativos generativos de inteligência artificial (IA). Para obter mais informações, consulte Trabalhando com coleções de pesquisa vetorial.
O que devo definir como dimensão do meu campo vetorial?
Defina a dimensão do campo vetorial com base no modelo de incorporação que você deseja usar. Consulte a tabela a seguir e confirme esses valores na respectiva documentação.
Nome do modelo de incorporação vetorial Amazon Bedrock | Suporte de dimensão de saída oferecido pelo modelo |
---|---|
Incorporações de texto Amazon Titan V1 |
1.536 |
Incorporador de Texto do Amazon Titan v2 |
1.024 (padrão), 384, 256 |
Amazon Titan Multimodal Embeddings G1 |
1.024 (padrão), 384, 256 |
Cohere Embed English |
1,024 |
Cohere Embed Multilíngue |
1,024 |
Qual é a aparência da saída no OpenSearch índice configurado?
Cada documento no OpenSearch índice contém os seguintes campos:
-
original_data: os dados que foram usados para gerar incorporações. Para o tipo STRING, é a mensagem inteira. Para o objeto JSON, é o objeto JSON que foi usado para incorporações. Pode ser o JSON inteiro na mensagem ou campos especificados no JSON. Por exemplo, se o nome fosse selecionado para ser incorporado nas mensagens recebidas, a saída teria a seguinte aparência:
"original_data": "{\"name\":\"John Doe\"}"
-
embedded_data: uma matriz vetorial flutuante de incorporações gerada pelo Amazon Bedrock
-
data: carimbo de data/hora UTC em que o documento foi armazenado OpenSearch
Posso especificar campos de metadados para adicionar ao documento armazenado no OpenSearch índice?
Não, atualmente, não oferecemos suporte à adição de campos adicionais ao documento final armazenado no OpenSearch índice.
Devo esperar entradas duplicadas no OpenSearch índice?
Dependendo de como você configurou seu aplicativo, talvez você veja mensagens duplicadas no índice. Um motivo comum é a reinicialização do aplicativo. O aplicativo é configurado por padrão para começar a ler a partir da mensagem mais antiga no tópico de origem. Quando você altera a configuração, o aplicativo reinicia e processa todas as mensagens no tópico novamente. Para evitar o reprocessamento, consulte Como faço para usar source.msk.starting.offset
Posso enviar dados para vários OpenSearch índices?
Não, o aplicativo suporta o armazenamento de dados em um único OpenSearch índice. Para configurar a saída de vetorização para vários índices, você deve implantar um serviço gerenciado separado para aplicativos Apache Flink.
Posso implantar vários aplicativos de incorporação vetorial em tempo real em um único Conta da AWS?
Sim, você pode implantar vários serviços gerenciados de incorporação vetorial em tempo real para aplicativos Apache Flink em um único, Conta da AWS se cada aplicativo tiver um nome exclusivo.
Vários aplicativos de incorporação vetorial em tempo real podem usar a mesma fonte ou coletor de dados?
Sim, você pode criar vários serviços gerenciados de incorporação vetorial em tempo real para aplicativos Apache Flink que leem dados do mesmo tópico ou armazenam dados no mesmo índice.
O aplicativo oferece suporte à conectividade entre contas?
Não, para que o aplicativo seja executado com sucesso, o cluster Amazon MSK e a OpenSearch coleção devem estar no mesmo Conta da AWS local em que você está tentando configurar seu serviço gerenciado para o aplicativo Apache Flink.
O aplicativo oferece suporte à conectividade entre regiões?
Não, o aplicativo só permite que você implante um serviço gerenciado para o aplicativo Apache Flink com um cluster Amazon MSK e uma OpenSearch coleção na mesma região do serviço gerenciado para o aplicativo Apache Flink.
Meu cluster e minha OpenSearch coleção do Amazon MSK podem estar em redes diferentes VPCs ou em sub-redes?
Sim, oferecemos suporte ao cluster e à OpenSearch coleção do Amazon MSK em diferentes redes VPCs e sub-redes, desde que estejam na mesma. Conta da AWS Consulte (Solução geral de problemas do MSF) para verificar se a configuração está correta.
Quais modelos de incorporação são compatíveis com o aplicativo?
Atualmente, o aplicativo oferece suporte a todos os modelos compatíveis com o Bedrock. Isso inclui:
-
Amazon Titan Embeddings G1 - Text
-
Incorporador de Texto do Amazon Titan v2
-
Amazon Titan Multimodal Embeddings G1
-
Cohere Embed English
-
Cohere Embed Multilíngue
Posso ajustar o desempenho do meu aplicativo com base na minha carga de trabalho?
Sim. A produtividade do aplicativo depende de vários fatores, todos os quais podem ser controlados pelos clientes:
-
AWS MSF KPUs: O aplicativo é implantado com fator de paralelismo padrão 2 e paralelismo por KPU 1, com o escalonamento automático ativado. No entanto, recomendamos que você configure o escalonamento para o aplicativo Managed Service for Apache Flink de acordo com suas cargas de trabalho. Para obter mais informações, consulte Revise os recursos do aplicativo Apache Flink do Managed Service.
-
Amazon Bedrock: Com base no modelo sob demanda selecionado do Amazon Bedrock, diferentes cotas podem ser aplicadas. Analise as cotas de serviço no Bedrock para ver a carga de trabalho que o serviço será capaz de suportar. Para obter mais informações, consulte Cotas para o Amazon Bedrock.
-
Amazon OpenSearch Service: Além disso, em algumas situações, você pode perceber que esse OpenSearch é o gargalo em seu funil. Para obter informações sobre escalabilidade, consulte OpenSearch Dimensionamento de domínios do OpenSearch Amazon Service.
Quais tipos de autenticação do Amazon MSK são compatíveis?
Só oferecemos suporte ao tipo de autenticação IAM MSK.
O que é sink.os.bulkFlushIntervalMillis
e como faço para configurá-lo?
Ao enviar dados para o Amazon OpenSearch Service, o intervalo de descarga em massa é o intervalo no qual a solicitação em massa é executada, independentemente do número de ações ou do tamanho da solicitação. O valor padrão é definido como 1 milissegundo.
Embora definir um intervalo de liberação possa ajudar a garantir que os dados sejam indexados em tempo hábil, também pode aumentar a sobrecarga se definido como muito baixo. Considere seu caso de uso e a importância da indexação oportuna ao escolher um intervalo de liberação.
Quando eu implantar meu aplicativo Managed Service for Apache Flink, a partir de qual ponto do tópico do Amazon MSK ele começará a ler as mensagens?
O aplicativo começará a ler mensagens do tópico do Amazon MSK no deslocamento especificado pela source.msk.starting.offset
configuração definida na configuração de tempo de execução do aplicativo. Se não source.msk.starting.offset
for definido explicitamente, o comportamento padrão do aplicativo é começar a ler a partir da primeira mensagem disponível no tópico.
Como eu usosource.msk.starting.offset
?
ource.msk.starting.offset
Defina explicitamente s como um dos valores a seguir, com base no comportamento desejado:
-
MAIS ANTIGO: A configuração padrão, que lê o deslocamento mais antigo na partição. Essa é uma boa escolha, especialmente se:
-
Você criou tópicos e aplicativos para consumidores do Amazon MSK recentemente.
-
Você precisa reproduzir os dados para poder criar ou reconstruir o estado. Isso é relevante ao implementar o padrão de fornecimento de eventos ou ao inicializar um novo serviço que requer uma visão completa do histórico de dados.
-
-
MAIS RECENTE: O aplicativo Managed Service for Apache Flink lerá as mensagens do final da partição. Recomendamos essa opção se você se preocupa apenas com a produção de novas mensagens e não precisa processar dados históricos. Nessa configuração, o consumidor ignorará as mensagens existentes e lerá somente as novas mensagens publicadas pelo produtor upstream.
-
COMPROMETIDO: O aplicativo Managed Service for Apache Flink começará a consumir mensagens da compensação confirmada do grupo consumidor. Se a compensação confirmada não existir, a estratégia de redefinição MAIS ANTIGA será usada.
Quais estratégias de fragmentação são suportadas?
Estamos usando a biblioteca langchainmaxSegmentSizeInChars
Oferecemos suporte aos cinco tipos de fragmentação a seguir:
-
SPLIT_BY_CHARACTER
: caberá o máximo de caracteres possível em cada pedaço, onde o comprimento de cada pedaço não for maior que. maxSegmentSize InChars Não se importa com espaços em branco, então pode cortar palavras. -
SPLIT_BY_WORD
: Encontrará caracteres de espaço em branco para agrupar. Nenhuma palavra é cortada. -
SPLIT_BY_SENTENCE
: Os limites das frases são detectados usando a biblioteca Apache OpenNLP com o modelo de frase em inglês. -
SPLIT_BY_LINE
: Encontrará novos caracteres de linha para dividir. -
SPLIT_BY_PARAGRAPH
: Encontrará novos caracteres de linha consecutivos para dividir.
As estratégias de divisão recuam de acordo com a ordem anterior, para onde as estratégias maiores de fragmentação, como retornam. SPLIT_BY_PARAGRAPH
SPLIT_BY_CHARACTER
Por exemplo, ao usarSPLIT_BY_LINE
, se uma linha for muito longa, a linha será subfragmentada por frase, onde cada pedaço caberá no máximo de frases possível. Se houver alguma frase muito longa, ela será dividida no nível da palavra. Se uma palavra for muito longa, ela será dividida por caractere.
Como faço para ler registros no meu armazenamento de dados vetoriais?
-
Quando
source.msk.data.type
éSTRING
-
original_data: toda a string original da mensagem do Amazon MSK.
-
embedded_data: vetor de incorporação criado
chunk_data
se não estiver vazio (fragmentação aplicada) ou criado a partiroriginal_data
de se nenhuma fragmentação tiver sido aplicada. -
chunk_data: presente somente quando os dados originais foram fragmentados. Contém a parte da mensagem original que foi usada para criar a incorporação.
embedded_data
-
-
Quando
source.msk.data.type
éJSON
-
original_data: todo o JSON original da mensagem do Amazon MSK após a aplicação da filtragem da chave JSON.
-
embedded_data: vetor de incorporação criado
chunk_data
se não estiver vazio (fragmentação aplicada) ou criado a partiroriginal_data
de se nenhuma fragmentação tiver sido aplicada. -
chunk_key: presente somente quando os dados originais foram fragmentados. Contém a chave JSON de onde vem o fragmento.
original_data
Por exemplo, pode ser semelhantejsonKey1.nestedJsonKeyA
a chaves ou metadados aninhados no exemplo de.original_data
-
chunk_data: presente somente quando os dados originais foram fragmentados. Contém a parte da mensagem original que foi usada para criar a incorporação.
embedded_data
-
Sim, você pode ler dados de vários tópicos do Amazon MSK com esse aplicativo. Os dados de todos os tópicos devem ser do mesmo tipo (STRING ou JSON) ou isso pode causar falha no aplicativo. Os dados de todos os tópicos são sempre armazenados em um único OpenSearch índice.
Onde posso encontrar novas atualizações no código-fonte?
Posso fazer uma alteração no AWS CloudFormation modelo e atualizar o aplicativo Managed Service for Apache Flink?
Não, fazer uma alteração no AWS CloudFormation modelo não atualiza o aplicativo Managed Service for Apache Flink. Qualquer nova alteração AWS CloudFormation implica que uma nova pilha precisa ser implantada.
Vou AWS monitorar e manter o aplicativo em meu nome?
Não, não AWS monitorará, escalará, atualizará ou corrigirá este aplicativo em seu nome.
Esse aplicativo move meus dados para fora do meu Conta da AWS?
Todos os dados lidos e armazenados pelo aplicativo Managed Service for Apache Flink permanecem na sua conta Conta da AWS e nunca saem da sua conta.