Inserir incorporação no Conjunto encontrado

Para cada registro no conjunto encontrado, envia dados de um campo de origem para um modelo de incorporação e insere a representação retornada do vetor em um campo de destino.

Opções

  • Nome da conta é uma expressão de texto para o nome da conta de IA a ser usada. No arquivo atual, use a etapa de script Etapa de script Configurar a conta de IA para configurar a conta e atribuir esse nome a ela antes que a etapa de script seja executada.

  • Modelo de incorporação é o nome do modelo que gera vetores de incorporação. Especifique o nome do modelo como uma expressão de texto. Para modelos compatíveis, consulte Especificações técnicas do FileMaker.

  • Campo de origem é o campo de texto ou container cujos valores esta etapa de script envia para o modelo para conversão em vetores de incorporação. Se o campo estiver vazio, nada será enviado para o modelo e o campo de destino permanecerá inalterado.

  • Campo alvo especifica o campo no qual inserir os vetores de incorporação retornados. Se você especificar um campo de texto, os dados retornados serão armazenados como texto. Se você especificar um campo de contêiner, os dados retornados serão armazenados como dados binários, que podem ser menores do que quando armazenados como texto e podem melhorar os processamentos adicionais realizados com os vetores de incorporação.

  • Substituir o conteúdo de destino substitui o conteúdo do campo de destino, se houver. Quando essa opção está desativada, os resultados são adicionados ao campo de destino somente se este estiver vazio; caso contrário, o campo permanecerá inalterado. É útil ativar esta opção se o conteúdo do Campo de origem muda com frequência.

  • Continuar com erro continua processando o conjunto encontrado mesmo quando erros são encontrados em alguns registros. Com esta opção selecionada, os registros para os quais ocorreu um erro permanecem vazios, tornando-os mais fáceis de encontrar e corrigir. Se não for selecionado, a etapa de script será interrompida quando ocorrer um erro.

  • Mostrar resumo exibe uma caixa de diálogo após conclusão da inserção de vetores de incorporação. A caixa de diálogo resume o número de registros atualizados, ignorados ou com erro.

  • Parâmetros é uma expressão de texto para um objeto JSON que pode incluir:

    • Parâmetros específicos do FileMaker que especificam limites no tamanho, número e frequência das solicitações enviadas ao modelo. Use-os para otimizar seu script dependendo da quantidade de dados, do modelo em uso, dos limites de token do provedor de modelo e das especificações técnicas (núcleos, RAM etc.) da máquina em que o modelo é executado.

    • Parâmetros específicos do provedor do modelo que são passados diretamente para o provedor do modelo. Consulte a documentação do provedor de modelos para obter os parâmetros e valores suportados pelo modelo que você está usando. Esses parâmetros não são suportados quando a conta de IA especifica Personalizado para a opção Provedor do modelo.

    Consulte a Descrição para obter detalhes.

Compatibilidade

Produto Compatível
FileMaker Pro Sim
FileMaker Go Sim
FileMaker WebDirect Sim
FileMaker Server Sim
FileMaker Cloud Sim
FileMaker Data API Sim
Publicação na Web personalizada Sim

Originada na versão 

21.0

Descrição

Para cada registro no conjunto encontrado atual, esta etapa de script envia o valor do Campo de origem para o modelo especificado para conversão em vetores de incorporação que são salvos no Campo alvo.

Um exemplo de como você pode usar vetores de incorporação é com a Etapa de script Realizar pesquisa semântica, que pode consultar os dados vetoriais produzidos por esta etapa de script ou pela etapa de script Inserir incorporação.

Para vetores de incorporação de imagem e texto, você pode usar os modelos suportados pelo Claris AI Model Server. Consulte Configurar serviços de IA na Ajuda do FileMaker Server.

Para a opção Parâmetros, você pode usar as chaves e valores abaixo específicas do FileMaker em um objeto JSON para ajustar o comportamento desta etapa de script, se necessário. Se uma chave não for especificada ou se a opção Parâmetros não for usada, os valores padrão serão usados.

Chave de parâmetro

Descrição

Valor padrão

Intervalo de valores

Apenas OpenAI

MaxRecPerCall

Número máximo de registros a serem processados com cada chamada de API

20

1 a 500

MaxRetryPerWorker

Número máximo de novas tentativas em caso de falha da chamada de API

5

1 a 100

MaxWaitPerRetry

Tempo máximo para esperar entre as chamadas de API do OpenAI (em milissegundos). É usado apenas quando a OpenAI recebe muitas solicitações por minuto. Nesse caso, esta etapa de script espera até MaxWaitPerRetry entre as chamadas de API da OpenAI. Se o tempo de espera exceder esse máximo, esta etapa de script será interrompida e retornará um erro.

60,000

20 a 3.600.000

Sim

TruncateTokenLimit

Número de tokens para truncar o Campo de origem quando TruncateEnabled está ativado.

8.185

0 a 100.000

Sim

TruncateEnabled

1 (verdadeiro) trunca a entrada do Campo de origem de acordo com TruncateTokenLimit antes de enviá-lo para a OpenAI.

Nota  Realizar busca semântica pode fornecer resultados menos precisos se a entrada for truncada.

1

0 ou 1

Sim

RetryOnError

Quando um erro é encontrado em um grupo de registros, um valor de 1 (verdadeiro) tenta novamente os registros no grupo individualmente, inserindo dados para aqueles que não têm erro e pulando os registros que têm. Um valor de 0 (falso) ignora todo o grupo de registros que tem um erro e não gera dados.

* Desativado por padrão para todos os provedores de modelos especificados na conta de IA, exceto Personalizado, para o qual RetryOnError está ativado por padrão.

Nota  A ativação deste parâmetro substitui a opção Continuar com erro.

0*

0 ou 1

Nota  Ao usar a Função JSONSetElement para criar o objeto JSON, use a constante JSONNumber para o parâmetro tipo.

Por exemplo, este objeto JSON define estas chaves na opção Parâmetros:

Copiar
{
    "MaxRecPerCall" : 40,
    "MaxRetryPerWorker" : 10
}

Os parâmetros listados na tabela acima são parâmetros específicos do FileMaker que gerenciam o processamento de vários registros. Esses parâmetros são processados e removidos antes de passar quaisquer outros parâmetros incluídos no objeto JSON diretamente para o provedor do modelo.

Notas

  • Para automatizar a atualização regular do Campo de destino em um arquivo FileMaker Pro hospedado, você pode configurar uma programação no host para executar seu script do FileMaker sem a interação do usuário. Veja as programações de script do FileMaker na Ajuda do FileMaker Server ou na Ajuda do FileMaker Cloud.

Exemplo 1

Configura uma conta de IA, vai para o layout de Detalhes da reunião, mostra todos os registros e, em seguida, obtém os vetores de incorporação para o texto no campo Reuniões::Anotação e o armazena como dados binários no campo de contêiner Reuniões::Incorporação_de_anotação. Como a opção Substituir o conteúdo de destino está ativada, Reuniões::Incorporação_de_anotação é atualizado mesmo que já contenha dados.

Copiar
Configurar a conta de IA [ Nome da conta: "minha-conta" ; Provedor de modelos: OpenAI ; Chave de API: "sk-RZCtpWT..." ]

Ir para layout [ "Detalhes da reunião" (Reuniões) ; Animação: Nenhum ]
Mostrar todos os registros

Inserir a incorporação no conjunto encontrado [ Nome da conta: "minha-conta" ; Modelo de incorporação: "text-embedding-3-small" ; Campo de origem: Reuniões::Anotação; Campo alvo: Reuniões::Incorporação_de_anotação ; Substituir o conteúdo de destino ]

Exemplo 2

Configura uma conta de IA, vai para o layout de Detalhes da reunião e, em seguida, encontra os registros nos quais o campo Reuniões::Título contém "Status". Para este conjunto encontrado, obtém os vetores de incorporação para o texto no campo Reuniões::Anotação e o armazena como dados binários no campo de contêiner Reuniões::Incorporação_de_anotação se não houver dados presentes (Substituir o conteúdo de destino está desativado). Também define a opção Parâmetros para aumentar os registros por chamada, o número de tentativas e o tempo entre novas tentativas, bem como para diminuir o limite de tokens.

Copiar
Configurar a conta de IA [ Nome da conta: "minha-conta" ; Provedor de modelos: OpenAI ; Chave de API: "sk-RZCtpWT..." ]

Ir para layout [ "Detalhes da reunião" (Reuniões) ; Animação: Nenhum ]
Entrar em Modo de busca [ Pausar: Desativado ]
Definir campo [ Reuniões::Status ; "Concluído" ]
Realizar busca [ ]

Inserir a incorporação no conjunto encontrado [ Nome da conta: "minha-conta" ; Modelo de incorporação: "text-embedding-3-small" ; Campo de origem: Reuniões::Anotação ; Campo alvo: Reuniões::Incorporação_de_anotação ; 
Parâmetros: JSONSetElement ( "" ;
    ["MaxRecPerCall" ; 40 ; JSONNumber] ; 
    ["MaxRetryPerWorker" ; 10 ; JSONNumber] ; 
    ["MaxWaitPerRetry" ; 300000 ; JSONNumber] ;
    ["TruncateTokenLimit" ; 4000 ; JSONNumber] ;
    ["TruncateEnabled" ; 1 ; JSONNumber]
) ]

Exemplo 3

Configura uma conta de IA para um provedor de modelo personalizado, vai para o layout Detalhes da reunião, mostra todos os registros e, em seguida, para cada registro, usa um modelo de incorporação de imagem para obter vetores de incorporação para a imagem no campo de container Reuniões::Imagem e armazena-o como dados binários no campo de container Reuniões::Incorporação_Imagem. Se um erro for encontrado ao obter vetores de incorporação para um registro, a etapa de script continua para o próximo registro.

Copiar
Configurar a conta de IA [ Nome da conta: "minha-conta" ; Provedor de modelos: Personalizado; Ponto de extremidade: "https://myserver.example.com/llm/v1/" ; Verificar certificados SSL ; Chave de API: Global::Chave_API ]
        
Ir para layout [ "Detalhes da reunião" (Reuniões) ; Animação: Nenhum ]
Mostrar todos os registros

Inserir incorporação no conjunto encontrado [ Nome da conta: "minha-conta" ; Modelo de incorporação: Global::ModelName ; Campo de origem: Reuniões::Imagem ; Campo de destino: Reuniões::Incorporação_Imagem ; Substituir o conteúdo de destino ; Continuar com erro ]