Este guia explica como criar, configurar e integrar ferramentas de IA personalizadas no plugin Discourse AI, permitindo que os administradores estendam as capacidades do bot com funções JavaScript definidas pelo usuário.
Nível de usuário necessário: Administrador
Ferramentas são funcionalidades programáveis que podem ser usadas pelo bot de IA para executar tarefas específicas ou recuperar informações além de apenas respostas baseadas em texto. Essas ferramentas são scripts ou integrações que permitem ao bot interagir com APIs externas, manipular dados ou executar funções adicionais para estender suas capacidades.
Resumo
Esta documentação abrange:
- Criação de uma nova ferramenta de IA personalizada
- Configuração de parâmetros e scripts de ferramentas
- APIs disponíveis para scripts de ferramentas
- Integração de ferramentas personalizadas com personas de IA
- Teste e solução de problemas de ferramentas personalizadas
Criação de uma nova ferramenta de IA personalizada
Para criar uma nova ferramenta de IA:
- Navegue até o Painel de Administração > Plugins > Discourse AI > Ferramentas
- Clique em “Nova Ferramenta” (você pode usar predefinições existentes para aprender sobre as opções)
- Preencha os seguintes campos:
- Nome: O nome da ferramenta como apresentado ao LLM
- Descrição: A descrição da ferramenta como apresentada ao LLM
- Resumo: Resumo do que a ferramenta faz para ajudar os usuários (exibido nos detalhes)
- Parâmetros: Defina as entradas que sua ferramenta precisa como apresentadas ao LLM
- Script: O código JavaScript que alimenta sua ferramenta
- Clique em “Salvar”
Configuração de scripts de ferramentas
APIs disponíveis
Seus scripts de ferramentas têm acesso às seguintes APIs:
-
Requisições HTTP:
http.get(url, options) http.post(url, options)Use estas para interagir com serviços externos. Você pode usar
optionspara especificar cabeçalhos HTTP:http.get(url, { headers: { Auth: "some value" } }) http.post(url, { headers: { Auth: "some value", body: "some body" } }) http.patch(url, { headers: { Auth: "some value", body: "some body" } }) http.delete(url, { headers: ...}) http.put(url, { headers: ... , body: ...}) -
Integração LLM (Modelo de Linguagem):
llm.truncate(text, length)Isso permite que você manipule texto dentro dos limites de tokens do modelo de IA.
-
Integração de upload personalizado (RAG)
index.search(query, { filenames: options, limit: max_fragments_optional }) -
Suporte à criação de upload
upload.create(filename, base_64_content) -
Controle da cadeia de execução
chain.setCustomRaw(raw) - define o corpo da postagem na cadeia.
Funções necessárias
Seu script deve implementar:
invoke(params): A função principal que executa quando a ferramenta é chamada
Opcionalmente, pode implementar:
details(): (Opcional) Fornece informações adicionais sobre a execução da ferramenta
Exemplo de script:
function invoke(params) {
let result = http.get("https://api.example.com/data?query=" + params.query);
return JSON.parse(result.body);
}
function details() {
return "Fetched data from Example API";
}
Limitações e segurança
- Tempo Limite de Execução: As ferramentas têm um tempo limite padrão de 2 segundos
- Requisições HTTP: Máximo de 20 requisições por execução de ferramenta
- Ambiente Sandboxed: Sem acesso ao sistema de arquivos do servidor ou bibliotecas Ruby
Testando sua ferramenta
Você deve testar qualquer ferramenta que construir para garantir que os resultados fornecidos ao LLM correspondam às suas expectativas.
Integrando ferramentas com personas de IA
Para adicionar sua ferramenta personalizada a uma Persona de IA:
- Vá para Painel de Administração > Plugins > Discourse AI > Personas
- Edite uma persona existente ou crie uma nova
- Na seção “Ferramentas”, você verá suas ferramentas personalizadas listadas ao lado das ferramentas integradas
- Selecione sua ferramenta personalizada para adicioná-la à persona
Ferramentas personalizadas em ação
Depois de fornecer a ferramenta personalizada ao seu LLM, ele pode usá-la para aprimorar a conversa.
Solução de problemas
Se sua ferramenta não estiver funcionando como esperado:
- Use a interface de Teste para garantir que ela se comporte como esperado para suas entradas.
- Certifique-se de que seu grupo esteja em
ai_bot_debugging_allowed_groups. Membros deste grupo têm acesso total às transcrições do bot; você pode ver os logs da IA lá. - Se algo inesperado estiver acontecendo, visite
https://NOMEDOSITE/logspara verificar se há erros.





