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 adicionais disponíveis quando Ação é Adicionar dados:
-
Dados RAG especifica o documento a ser adicionado ao espaço RAG:
-
Do texto adiciona texto diretamente por meio de uma expressão de texto, transferida de forma síncrona.
-
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.
-
Detectar texto vertical melhora a extração de texto de arquivos PDF que contêm texto vertical comumente encontrado em obras literárias japonesas, jornais, documentos governamentais e artigos acadêmicos. Esta opção não está disponível quando Dados RAG é Do texto.
-
Tokens por trecho de texto é uma expressão numérica que especifica quantos tokens devem ser incluídos em cada trecho de texto ao adicionar texto ou arquivos PDF ao espaço RAG. Os valores válidos vão de 75 a 512. Se não for especificado ou definido como 0, o valor configurado para o servidor do modelo de IA no Admin Console é usado (200 tokens por padrão).
-
Destino da resposta especifica o campo ou a variável na qual armazenar um objeto JSON retornado pelo servidor do modelo de IA sobre o documento adicionado. Veja a Descrição.
Opções adicionais disponíveis 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 pode incluir:
-
Parâmetros do cliente FileMaker que são processados e removidos antes de enviar a solicitação:
CURLOPT_TIMEOUTdefine um tempo máximo (em segundos) para a solicitação ser concluída. O valor deve ser um inteiro não negativo. Por exemplo:{"CURLOPT_TIMEOUT": 30}. Se não houver resposta neste momento, o cliente FileMaker cancelará a solicitação e esta etapa de script retornará o código de erro 1629 ("O tempo limite para conexão se esgotou"). -
Parâmetros do servidor do modelo de IA que substituem as configurações definidas no Admin Console apenas durante a etapa de script. Se não for especificado, os valores definidos no Admin Console serão usados. 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.
Consulte a Descrição para obter detalhes.
-
Parâmetros específicos do provedor de modelo que são passados diretamente para o provedor de modelo junto com o prompt. Por exemplo:
{"temperatura": 0.7, "seed": 42}.Nota Consulte a documentação do provedor de modelos para obter os parâmetros e valores suportados pelo modelo que você está usando.
-
Opções adicionais disponíveis quando Ação é Remover dados:
-
Parâmetros é uma expressão de texto para um objeto JSON contendo uma chave
idcujo valor é uma matriz dos IDs dos documentos a serem removidos do espaço RAG especificado. Por exemplo:Copiar{"id" : ["5f7677a0-3258-55a3-bc86-737005cb3574", "f95d4266-66cd-5b50-a01b-07a4dd66c501"]}Os IDs de documentos retornados em Destino da resposta quando o documento é adicionado podem ser armazenados e posteriormente usados para remover um documento. Ou, para obter os IDs de todos os documentos em um espaço RAG, use a função Função GetRAGSpaceInfo.
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 que você crie e gerencie um cache de conhecimento de documentos (dados de texto e arquivos PDF) no Claris AI Model 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 Adicionar dados
Esta ação 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:
-
A etapa de script envia o documento para o servidor do modelo de IA.
Se adicionar um arquivo PDF, a etapa de script enviará o arquivo de forma síncrona ou assíncrona, dependendo da opção Dados RAG. Se o envio for sincronizado, o script não continuará para a próxima etapa até que a transferência de arquivo seja concluída. Se o envio for enviado de forma assíncrona, o script passará para a próxima etapa enquanto a transferência de arquivos estiver em andamento (melhor para arquivos grandes), permitindo que o cliente FileMaker permaneça responsivo à interação do usuário.
-
O servidor do modelo de IA atribui um ID ao documento e depois o processa:
-
Se o documento for um arquivo PDF, o servidor extrai apenas texto do arquivo PDF. O texto extraído é então processado da mesma maneira que o texto adicionado usando a opção Do texto.
-
O servidor divide o texto em trechos com base na opção Tokens por trecho de texto (se especificado) ou no tamanho do trecho configurado no Admin Console.
Se o texto estiver no formato JSONL (Linhas JSON), em que cada linha é um objeto JSON válido, o servidor detecta automaticamente esse formato e trata cada linha como uma unidade semântica separada: cada linha é dividida separadamente e nunca são mescladas. Isso ajuda a melhorar a precisão da recuperação para dados estruturados, como aqueles adicionados a partir de uma tabela do FileMaker, em que cada registro pode ser formatado como uma única linha JSON, garantindo que os limites do registro sejam preservados.
-
Em seguida, obtém os vetores de incorporação para todos os trechos usando o modelo de incorporação de texto configurado para RAG no servidor.
-
-
Se um Destino da resposta for especificado, o servidor do modelo de IA retornará um objeto JSON contendo o ID do documento e os metadados do documento adicionado. Isso permite que você armazene o ID do documento para uso posterior (como para remover o documento).
O objeto JSON retornado contém as seguintes chaves:
-
id: o ID do documento atribuído pelo servidor do modelo de IA como um Identificador universalmente único (UUID) hexadecimal. Para saber mais sobre o formato de ID, veja Notas. -
modelo: o modelo de incorporação usado pelo servidor do modelo de IA para gerar vetores de incorporação para o documento. -
rag_space_id: o ID do espaço RAG ao qual o documento foi adicionado. -
resultadoouerro:-
resultado: o status do documento adicionado quando não há erro. Para documentos transferidos de forma síncrona com sucesso, o valor é"ok". Para documentos transferidos de forma assíncrona, o valor é uma string que inclui o ID do espaço e o nome do arquivo armazenado em cache, porque o processo ainda não está completo. -
erro: uma string de mensagem de erro quando o servidor do modelo de IA encontra um erro.
-
-
texto ou arquivo, dependendo da opção para Dados RAG:
-
texto: o texto do documento quando adicionado usando a opção Do texto para Dados RAG. -
arquivo: o nome do arquivo PDF quando adicionado usando as opções de arquivo ou container para Dados RAG.
-
-
uso: informações de uso do token quando um documento é transferido de forma síncrona. O objeto JSON retornado é{"prompt_tokens":<número>, "total_tokens":<número>}, ondeprompt_tokensé o número de tokens na entrada (os trechos de texto que foram incorporados) etotal_tokensé o número total de tokens processados. Se o servidor do modelo de IA estiver configurado para não registrar o uso de tokens, nenhuma contagem de tokens será retornada.
Nota Para documentos transferidos de forma assíncrona, as chaves
rag_space_id,modeloeusoretornam"N/A"porque esses valores não estão disponíveis até que o processamento seja concluído. -
Ação Enviar prompt
Esta ação 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:
-
A etapa de script envia o prompt especificado por Enviar prompt e o ID do espaço para o servidor do modelo de IA especificado por Nome da conta RAG.
-
O servidor do modelo de IA recebe vetores de incorporação para o prompt, realiza uma pesquisa semântica para o prompt no espaço RAG especificado e, em seguida, retorna os resultados do RAG para a etapa de script.
Os resultados do RAG são os N trechos principais do documento mais relevantes obtidos do espaço RAG como texto (N pode ser configurado no Admin Console ou substituído pela opção Parâmetros, conforme mostrado abaixo).
-
A etapa de script envia o prompt, o modelo de prompt, os Parâmetros do modelo e os resultados do RAG para o modelo especificado por Nome da conta de IA e Modelo.
-
O modelo retorna uma resposta que a etapa de script armazena em Destino da resposta.
Parâmetros do servidor do modelo de IA
Para a opção Parâmetros, você pode usar as chaves e valores abaixo, que são específicos para o servidor do modelo de IA, para ajustar o comportamento desta etapa de script. Se especificado, esses valores substituem aqueles definidos no Admin Console. Isso é útil quando diferentes prompts exigem diferentes níveis de precisão ou tamanho de contexto (por exemplo, consultar um grande conjunto de documentos em vez de um pequeno). Se uma chave não for especificada, os valores configurados no Admin Console serão usados.
|
Chave de parâmetro |
Descrição |
Intervalo de valores |
|
|
Pontuação mínima de similaridade por cosseno para os resultados RAG serem incluídos no contexto. Valores mais altos retornam menos resultados, porém mais relevantes. |
-1 a 100 |
|
|
Número inteiro máximo de trechos de documentos mais relevantes a serem incluídos no contexto enviado ao modelo de IA. Um valor de 0 não inclui conteúdo RAG. |
1 a 100 |
Por exemplo, este objeto JSON define estas chaves na opção Parâmetros:
{
"similarity_threshold" : .5,
"num_top_ranked_results" : 10
}
Ação Remover dados
Esta ação 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.
-
Documentos adicionados a um espaço RAG antes da versão 26.0.1 do servidor do modelo de IA têm IDs de documentos numéricos (por exemplo,
1,2,3). A partir da versão 26.0.1, os IDs de documentos são strings UUID (por exemplo,"5f7677a0-3258-55a3-bc86-737005cb3574"). Ao trabalhar com espaços RAG que contêm documentos adicionados antes e depois da alteração do formato de ID, os scripts devem lidar com os dois formatos de ID de documento.Consulte Exemplo 3.
-
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 constantes como
:pergunta:(substituída pelo valor Enviar prompt) e:contexto:(substituída pelos trechos de documentos do espaço RAG). -
Para a opção Tokens por trecho de texto:
-
Tamanhos maiores de trechos preservam mais contexto, mas podem reduzir a precisão da recuperação. Tamanhos menores de trechos melhoram a precisão, mas podem perder contexto. Considere usar valores maiores (por exemplo, 250 a 300) para idiomas como japonês, chinês ou coreano, nos quais a tokenização produz menos caracteres por token, portanto, uma contagem fixa de tokens cobre significativamente menos texto.
-
Para alterar o tamanho do trecho dos documentos existentes em um espaço RAG, você deve remover os documentos do espaço RAG e adicioná-los novamente com um novo tamanho de trecho.
-
Se você especificar um valor fora do intervalo válido, esta etapa de script retornará o código de erro 887 ("Ação de espaço RAG inválida").
-
-
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 tanto a conta RAG quanto a conta de IA para usar o servidor do modelo de IA.
A variável $parameters inclui similarity_threshold definido como 0,6 para garantir que apenas resultados RAG altamente relevantes sejam incluídos, e num_top_ranked_results definido como 5 para limitar o contexto aos 5 principais trechos de documentos mais relevantes, substituindo os padrões configurados no Admin Console. Também inclui CURLOPT_TIMEOUT para cancelar a solicitação após 30 segundos se não houver resposta.
Ao enviar o prompt, o script envia os parâmetros temperatura e max_tokens 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 ]
Definir variável [ $parameters ; Valor:
JSONSetElement ( "{}" ;
[ "temperatura" ; .3 ; JSONNumber ] ;
[ "max_tokens" ; 500 ; JSONNumber ] ;
[ "similarity_threshold" ; .6 ; JSONNumber ] ;
[ "num_top_ranked_results" ; 5 ; JSONNumber ]
)
]
Executar ação RAG [ Nome da Conta RAG: : "customer-support-rag-account" ; 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: $parameters ]
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 - Adicionar e remover 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. O ID do documento é retornado por Destino da resposta e armazenado em $ragAddResponse. Por exemplo:
{
"arquivo": "Policies.pdf",
"id": "f95d4266-66cd-5b50-a01b-07a4dd66c501",
"modelo": "multi-qa-MiniLM-L6-cos-v1",
"rag_space_id": "knowledge-base",
"resultado": "ok",
"uso": {
"prompt_tokens": 3803,
"total_tokens": 3803
}
}
Primeiro, o script obtém o ID do documento de $ragAddResponse e o armazena em $id. Ele também obtém o tipo de dados do ID usando a função Função JSONGetElementType e o armazena em $idType. O tipo de dados será JSONString para UUIDs ou JSONNumber para IDs numéricos (veja Notas para obter detalhes sobre os formatos de ID).
Em seguida, o script constrói a variável $idArrayToRemove como um objeto JSON com uma chave id cujo valor é uma matriz contendo o ID do documento a ser removido. Ao adicionar o ID à matriz, o script usa $idType para preservar o tipo de dados original de $ragAddResponse. Essa abordagem garante que o script funcione corretamente, independentemente do formato de ID que o servidor do modelo de IA usa.
Por fim, o script chama Executar ação RAG para remover os dados definindo a opção Parâmetros como $idArrayToRemove.
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 ]
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" ; Destino da resposta: $ragAddResponse ]
Definir variável [ $id ; Valor: JSONGetElement ( $ragAddResponse ; "id" ) ]
Definir variável [ $idType ; Valor: JSONGetElementType ( $ragAddResponse ; "id" ) ]
Definir variável [ $idArrayToRemove ; Valor:
JSONSetElement ( "{}" ; "id" ;
JSONSetElement ( "[]" ; 0 ; $id ; $idType ) ;
JSONArray
)
]
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 ]
Exemplo 4 - Adicione documentos com diferentes tamanhos de trechos
Adiciona documentação em inglês e japonês ao mesmo espaço RAG, usando diferentes tamanhos de trechos otimizados para cada idioma.
O script usa um tamanho de trecho menor (150 tokens) para documentação técnica em inglês para permitir a recuperação precisa de detalhes técnicos específicos.
Para documentação regulatória em japonês, o script usa um tamanho de trecho maior (300 tokens) porque a tokenização em japonês produz segmentos de texto mais curtos por token, exigindo mais tokens para preservar o contexto adequado. O script também seleciona a opção Detectar texto vertical para melhorar a extração de texto vertical deste arquivo PDF.
Configurar conta RAG [ Nome da conta RAG: "product-docs-rag-account" ; 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: "product-docs-rag-account" ; ID do espaço: "product-knowledge" ; Ação: Adicionar dados ; Dados RAG: Do arquivo ; "TechnicalSpecs_EN.pdf" ; Tokens por trecho de texto: 150 ]
Executar ação RAG [Nome da conta RAG: "product-docs-rag-account" ; ID do espaço: "product-knowledge" ; Ação: Adicionar dados ; Dados RAG: Do arquivo ; "Regulations_JA.pdf" ; Detectar texto vertical ; Tokens por trecho de texto: 300 ]
Exemplo 5 - Adicionar registros como texto JSONL
Adiciona registros de perguntas frequentes de uma tabela do FileMaker a um espaço RAG usando o formato JSONL, em que cada linha representa um registro completo de perguntas frequentes.
O script percorre os registros na tabela de perguntas frequentes e constrói uma string de texto JSONL em que cada linha é um objeto JSON que contém o ID da pergunta, a pergunta e a resposta. Quando esse texto formatado em JSONL é adicionado ao espaço RAG, o servidor do modelo de IA detecta automaticamente o formato e trata cada linha (cada registro de perguntas frequentes) como uma unidade semântica separada, preservando os limites do registro e melhorando a precisão da recuperação.
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 ]
Definir variável [ $jsonlText ; Valor: "" ]
Ir para layout [ "Perguntas frequentes" (Perguntas frequentes) ; Animação: Nenhuma ]
Ir para registro/solicitação/página [Primeiro]
Loop [Flush: Sempre ]
Definir variável [ $jsonLine ; Valor:
JSONSetElement ( "{}" ;
[ "id" ; Perguntas frequentes::IDpergunta ; JSONString ] ;
[ "pergunta" ; PerguntasFrequentes::Pergunta ; JSONString ] ;
[ "resposta" ; PerguntasFrequentes::Resposta ; JSONString ]
)
]
Definir variável [ $jsonlText ; Valor: $jsonlText & $jsonLine & ¶ ]
Ir para registro/solicitação/página [ Próximo ; Sair depois do último: Ativado ]
End Loop
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 ; $jsonlText ; Destino da resposta: $ragResponse ]
A variável $jsonlText resultante contém texto formatado em JSONL como:
{"id":"001","pergunta":"Qual é a sua política de devolução?","resposta":"Os itens podem ser devolvidos dentro de 30 dias..."}
{"id":"002",”pergunta":"Como faço para rastrear meu pedido?","resposta":"Você pode rastrear seu pedido usando o número de rastreamento..."}
{"id":"003","pergunta":"Você envia internacionalmente?","resposta":"Sim, enviamos para mais de 100 países em todo o mundo..."}
Se uma linha for curta o suficiente, o servidor do modelo de IA a torna um único trecho. Se uma linha exceder o limite de tokens por trecho de texto, a linha será dividida em vários trechos. Como as linhas nunca são mescladas, ao consultar o espaço RAG, os trechos recuperados conterão apenas conteúdo de um único registro de perguntas frequentes, facilitando a identificação de qual registro forneceu as informações relevantes.