Executar ação RAG
Envia um prompt ou adiciona e remove dados de um espaço RAG no servidor de modelo de IA especificado por uma conta RAG.
Consulte também
Opções
-
Nome da conta RAG é uma expressão de texto da conta RAG usada por esta etapa de script. No arquivo atual, use a etapa de script Etapa de script Configurar conta RAG para configurar a conta e atribuir esse nome a ela antes que a etapa de script seja executada.
-
ID do espaço é uma expressão de texto que especifica o ID exclusivo do espaço RAG para trabalhar na conta RAG especificada.
-
Ação especifica o tipo de operação a ser realizada em um espaço RAG. Essa opção controla a disponibilidade de outras opções na etapa de script. Escolha entre:
-
Adicionar Dados adiciona um documento (dados de texto ou um arquivo PDF) a um espaço RAG.
-
Enviar prompt envia um prompt para consultar um espaço RAG e obter uma resposta gerada por IA.
-
Remover dados remove documentos de um espaço RAG.
-
Opções disponíveis somente quando Ação é Adicionar dados:
-
Dados RAG especifica o documento a ser adicionado ao espaço RAG:
-
Do texto adiciona texto diretamente através de uma expressão de texto.
-
Do arquivo adiciona um arquivo PDF dado um caminho, transferido de forma síncrona.
-
Do arquivo (assíncrono) adiciona um arquivo PDF dado um caminho, transferido de forma assíncrona (melhor para arquivos grandes).
-
Do container adiciona um arquivo PDF de um campo de container, transferido de forma síncrona.
-
Do container (assíncrono) adiciona um arquivo PDF de um campo de container, transferido de forma assíncrona (melhor para arquivos grandes).
-
-
Arquivo de entrada especifica uma lista de um ou mais caminhos para um arquivo PDF. A etapa de script pesquisa a lista e adiciona o primeiro arquivo PDF localizado com sucesso. Os caminhos devem usar um dos prefixos de caminho
de imagem
. Consulte Criação de caminhos de arquivo. -
Campo de container especifica o campo de container que armazena o arquivo PDF a ser adicionado.
Opções disponíveis somente quando Ação é Enviar prompt:
-
O valor para Enviar prompt é uma expressão de texto para o prompt em linguagem natural do usuário ou pergunta.
-
Nome da conta de IA é uma expressão de texto para o nome da conta de IA a ser usada para gerar uma resposta. 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 é o nome do modelo de geração de texto a ser usado. Especifique o nome do modelo como uma expressão de texto. Para modelos compatíveis, consulte Especificações técnicas do FileMaker.
-
Fluxo controla como a resposta é fornecida:
-
Ativado: a resposta é recuperada e entregue de forma incremental (palavra por palavra ou em frases). Isso pode fazer com que o cliente FileMaker pareça mais responsivo.
-
Desativado: toda a resposta é recuperada antes de ser disponibilizada. Isso pode fazer com que o cliente FileMaker pareça não responder enquanto aguarda a resposta completa.
-
-
Nome do modelo de solicitação especifica o nome de um modelo de solicitação personalizado configurado usando a etapa de script Etapa de script Configurar modelo de prompt. Use essa opção para criar um prompt adicional para ajudar a obter uma resposta ideal de um modelo de IA.
-
Destino da resposta especifica o campo ou a variável em que a resposta do modelo deve ser armazenada.
-
Parâmetros é uma expressão de texto para um objeto JSON que consiste em pares chave-valor para parâmetros adicionais que são suportados pelo provedor do modelo. Por exemplo:
{"temperature": 0,7, "seed": 42}
. Consulte a documentação do provedor do modelo para obter nomes de parâmetros suportados e seus intervalos válidos.A chave
context_prompt
é um parâmetro especial que permite injetar instruções ou contexto adicionais no modelo antes do prompt principal. Por exemplo:{"context_prompt": "Treat 'today' as 25/08/2025"}
.
Opções disponíveis somente quando Ação é Remover Dados:
-
Parâmetros é uma expressão de texto para um objeto JSON contendo uma chave
id
cujo valor é uma matriz dos IDs dos documentos a serem removidos do espaço RAG especificado. Por exemplo,{"id" : [2, 3, 5, 7]}
. Para obter os IDs de todos os documentos em um espaço RAG, use a função Função GetRAGSpaceInfo. Consulte Exemplo 3.
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
22.0
Descrição
Esta etapa de script permite criar e gerenciar um cache de conhecimento de documentos (dados de texto e arquivos PDF) no servidor do modelo de IA fornecido com o FileMaker Server. Você pode então alavancar esse cache com uma técnica chamada geração de recuperação aumentada (RAG). Com essa técnica, a etapa de script envia um prompt ou pergunta para um modelo de IA, juntamente com os fatos mais relevantes recuperados do seu cache de conhecimento, melhorando a confiabilidade e a precisão da resposta do modelo.
A opção Ação determina o que esta etapa de script faz:
Ação | Faz isso |
---|---|
Adicionar dados |
Adiciona Dados RAG do documento especificado: texto (como qualquer expressão de texto), um arquivo PDF por caminho ou um arquivo PDF de um campo de container no registro atual ou relacionado. O processo segue estas etapas:
|
Enviar prompt |
Envia o prompt do usuário para o servidor do modelo de IA para obter os dados mais relevantes do espaço RAG especificado e, em seguida, envia o prompt do usuário junto com o modelo de prompt e o conteúdo RAG para o modelo AI. O processo segue estas etapas:
|
Remover dados |
Remove documentos de um espaço RAG. Se especificado na opção Parâmetros, apenas os documentos especificados serão removidos. Caso contrário, todos os documentos no espaço RAG serão removidos. Nota A remoção de documentos de um espaço RAG não pode ser desfeita. Mantenha os documentos originais em outro lugar, caso precise adicioná-los novamente. |
Notas
-
Uma conta RAG deve ser configurada seguindo a Etapa de script Configurar conta RAG antes de usar essa etapa de script.
-
Para ações Enviar prompt, uma conta de IA também deve ser configurada usando a Etapa de script Configurar a conta de IA.
-
Arquivos PDF com criptografia ou proteção por senha não podem ser processados com a ação Adicionar dados.
-
Os espaços RAG são persistentes e retêm seus documentos até serem explicitamente removidos com a ação Remover dados.
-
Se você adicionar um arquivo PDF com o mesmo nome de um arquivo que já está no espaço RAG, o arquivo PDF existente será removido e o novo será adicionado com um novo ID de documento. Esse comportamento é o mesmo se adicionar o arquivo PDF por meio de um caminho ou de um campo de container.
-
Se você especificar um Nome do modelo de solicitação, esta etapa de script usará o modelo configurado por meio da Etapa de script Configurar modelo de prompt. Os modelos de prompt podem usar as constantes como
:question:
(substituído pelo valor Enviar prompt) e:context:
(substituído pelo parâmetrocontext_prompt
em Parâmetros). -
A qualidade das respostas da IA depende do modelo e da relevância e da qualidade dos documentos adicionados ao espaço RAG.
-
No FileMaker WebDirect, quando essa etapa de script usa a ação Adicionar Dados e Dados RAG é Do arquivo ou Do arquivo (assíncrono), a caixa de diálogo Inserir é aberta para o usuário escolher um arquivo PDF para carregar e a opção Arquivo de entrada é ignorada.
Exemplo 1 - Adicionar texto a um espaço RAG
Adiciona conteúdo de texto a um espaço RAG de uma base de conhecimento do cliente.
Configurar conta RAG [ Nome da conta RAG: "customer-support-rag-account" ; Ponto de extremidade: "https://myserver.example.com/llm/v1/" ; Chave de API: "eyJh..." ; Verificar certificados SSL ]
Executar ação RAG [ Nome da conta RAG : "customer-support-rag-account" ; ID do espaço: "knowledge-base" ; Ação: Adicionar dados ; Dados RAG: Do texto ; "As políticas e os procedimentos de suporte do cliente para tratamento de devoluções e trocas..." ]
Exemplo 2- Envie um prompt para consultar um espaço RAG
Envia um prompt para consultar o mesmo espaço RAG em Exemplo 1 e armazena a resposta em um campo.
O script configura a conta RAG e a conta AI para usar o Servidor do modelo de IA fornecido com o FileMaker Server. Quando envia o prompt, o script envia parâmetros personalizados para o modelo para geração de resposta e transmite a resposta para um campo.
Configurar conta RAG [ Nome da Conta RAG: "customer-support-rag-account" ; Ponto de extremidade: "https://myserver.example.com/llm/v1/" ; Chave de API: Global::RAG_API_Key ; Verificar certificados SSL ]
Configurar conta IA [ Nome da Conta: "AI_Model_Server" ; Provedor do modelo: Personalizado ; Ponto de extremidade: "https://myserver.example.com/llm/v1/" ; Chave de API: Global::Text_Gen_API_Key ; Verificar certificados SSL ]
Executar ação RAG [ Nome da Conta RAG: "customer-support-rag" ; ID do espaço: "knowledge-base" ; Ação: Enviar prompt ; Enviar prompt: "Qual é a política de devolução para produtos com defeito?" ; Nome da Conta de IA: "AI_Model_Server" ; Modelo: Global::ModelName ; Fluxo: Ativado ; Destino da resposta: Customer_Support::AI_Response ; Parâmetros: "{\"temperatura\": 0.3, \"max_tokens\": 500}" ]
Um possível resultado no campo Customer_Support::AI_Response começa "A política de devolução para produtos defeituosos permite devolver o item dentro de 14 dias corridos".
Exemplo 3 - Adicione e remova um arquivo PDF de um espaço RAG
Adiciona um arquivo PDF chamado Policies.pdf a um espaço RAG e, em seguida, o remove.
Depois de configurar a conta RAG para usar no servidor do modelo de IA, o script adiciona o arquivo Policies.pdf ao espaço RAG, especificando o caminho do arquivo.
Antes de poder remover o arquivo, o script precisa encontrar o ID do documento atribuído quando o arquivo foi adicionado. Primeiro, o script usa a Função GetRAGSpaceInfo para obter informações sobre o espaço RAG. Então, para a variável $id, ele obtém a matriz valores
e usa um loop Enquanto para encontrar o elemento cuja chave filename
é "Policies.pdf", retornando o valor do id
desse elemento.
Depois de definir $idArrayToRemove para o JSON necessário para especificar o $id, o script chama Executar ação RAG para remover os dados definindo a opção Parâmetros para $idArrayToRemove.
Configurar conta RAG [ Nome da conta RAG: "conta-rag-de-suporte-ao-cliente" ; Ponto de extremidade: "https://myserver.example.com/llm/v1/" ; Chave de API: Global::RAG_API_Key ; Verificar certificados SSL ]
Executar ação RAG [ Nome da conta RAG: "customer-support-rag-account" ; ID do espaço: "knowledge-base" ; Ação: Adicionar dados ; Dados RAG: Do arquivo ; "Policies.pdf" ]
Definir variável [ $ragSpaceInfo ; Valor: GetRAGSpaceInfo ( "customer-support-rag-account" ; "knowledge-base" ) ]
Definir variável [ $id ; Valor:
Let ( [
json = $ragSpaceInfo ;
values = JSONGetElement ( json ; "values" ) ;
arrayCount = ValueCount ( JSONListKeys ( values ; "" ) ) ;
search = While (
[ i = 0 ; result = "" ] ;
i < arrayCount and IsEmpty ( result ) ;
[
filename = JSONGetElement ( values ; "[" & i & "].filename" ) ;
result = Case (
filename = "Policies.pdf" ;
JSONGetElement ( values ; "[" & i & "].id" ) ;
""
) ;
i = i + 1
] ;
result
)
] ;
search
)
]
Definir variável [ $idArrayToRemove ; Valor: "{\"id\": [" & $id & "]}" ]
Executar ação RAG [ Nome da conta RAG: "customer-support-rag-account" ; ID do espaço: "knowledge-base" ; Ação: Remover dados ; Parâmetros: $idArrayToRemove ]