Guias
...
Extensão
Extensão Baseada em API
Ferramenta de Dados Externos
5min
as ferramentas de dados externos são usadas para buscar dados adicionais de fontes externas após o usuário final enviar os dados e, em seguida, montar esses dados em prompts como informações contextuais adicionais para o llm o paragraph fornece uma ferramenta padrão para chamadas de api externas, confira a ferramenta de dados externos para detalhes para desenvolvedores que implantam o paragraph localmente, para atender a necessidades mais personalizadas ou para evitar o desenvolvimento de um servidor de api adicional, você pode inserir diretamente a lógica personalizada da ferramenta de dados externos na forma de um plugin baseado no serviço do paragraph após estender ferramentas personalizadas, suas opções de ferramentas personalizadas serão adicionadas à lista de tipos de ferramentas disponíveis, e os membros da equipe poderão usar essas ferramentas personalizadas para buscar dados externos início rápido aqui está um exemplo de como estender uma ferramenta de dados externos para busca de clima, com os seguintes passos inicializar o diretório para adicionar um tipo personalizado "busca de clima", você precisa criar o diretório e os arquivos relevantes em api/core/external data tool └── api └── core └── external data tool └── weather search ├── init py ├── weather search py └── schema json adicionar especificações de componentes de frontend o arquivo schema json define as especificações dos componentes de frontend, detalhado em extensão baseada em api { "label" { "en us" "weather search" }, "form schema" \[ { "type" "select", "label" { "en us" "temperature unit" }, "variable" "temperature unit", "required" true, "options" \[ { "label" { "en us" "fahrenheit" }, "value" "fahrenheit" }, { "label" { "en us" "centigrade" }, "value" "centigrade" } ], "default" "centigrade", "placeholder" "please select temperature unit" } ] } adicionar classe de implementação template de código weather search py , onde você pode implementar a lógica de negócios específica nota o nome da variável da classe deve ser o nome do tipo personalizado, consistente com o nome do diretório e do arquivo, e deve ser único from typing import optional from core external data tool base import externaldatatool class weathersearch(externaldatatool) """ o nome do tipo personalizado deve ser único, mantendo o mesmo nome do diretório e do arquivo """ name str = "weather search" @classmethod def validate config(cls, tenant id str, config dict) > none """ validação do schema json será chamado quando o usuário salvar a configuração exemplo config = { "temperature unit" "centigrade" } \ param tenant id id do workspace \ param config variáveis do formulário de configuração \ return """ if not config get('temperature unit') raise valueerror('temperature unit is required') def query(self, inputs dict, query optional\[str] = none) > str """ consulta a ferramenta de dados externos \ param inputs entradas do usuário \ param query a consulta do aplicativo de chat \ return o resultado da consulta da ferramenta """ city = inputs get('city') temperature unit = self config get('temperature unit') if temperature unit == 'fahrenheit' return f'tempo em {city} é 32°f' else return f'tempo em {city} é 0°c' depurar a extensão agora, você pode selecionar o tipo de extensão de ferramenta de dados externos "busca de clima" personalizado na interface de orquestração do aplicativo do paragraph para depuração template de classe de implementação from typing import optional from core external data tool base import externaldatatool class weathersearch(externaldatatool) """ o nome do tipo personalizado deve ser único, mantendo o mesmo nome do diretório e do arquivo """ name str = "weather search" @classmethod def validate config(cls, tenant id str, config dict) > none """ validação do schema json será chamado quando o usuário salvar a configuração \ param tenant id id do workspace \ param config variáveis do formulário de configuração \ return """ \# implemente sua própria lógica aqui def query(self, inputs dict, query optional\[str] = none) > str """ consulta a ferramenta de dados externos \ param inputs entradas do usuário \ param query a consulta do aplicativo de chat \ return o resultado da consulta da ferramenta """ \# implemente sua própria lógica aqui return "seus próprios dados " introdução detalhada ao desenvolvimento de classe de implementação validate config método de validação do formulário schema json , chamado quando o usuário clica em "publicar" para salvar a configuração parâmetros de formulário config {{variable}} variáveis personalizadas do formulário query implementação da consulta de dados definida pelo usuário, o resultado retornado será substituído na variável especificada inputs variáveis passadas pelo usuário final query conteúdo atual da conversa do usuário final, um parâmetro fixo para aplicações de conversação