Zangari IA

Widget
--
RAG-Z API
--
Contextos
--
Embeddings
--

1. Embed Basico (qualquer site)

Cole este snippet antes do </body> do seu site. O widget aparece como um balao no canto inferior direito.

<script>
  window.ChatWidgetConfig = {
    apiUrl: "http://72.60.151.187:8011",
    position: "bottom-right",
    primaryColor: "#e74c3c",
    title: "Assistente Zangari",
    welcomeMessage: "Ola! Como posso ajudar?",
    defaultContext: "zangari_website"  // contexto publico
  };
</script>
<script src="http://72.60.151.187:8011/widget.js"></script>

2. Com Autenticacao (area logada)

Para usuarios autenticados via BDforAll, passe o token JWT. O widget acessa contextos restritos do condominio do usuario.

<script>
  window.ChatWidgetConfig = {
    apiUrl: "http://72.60.151.187:8011",
    authToken: token_do_usuario,  // JWT do BDforAll
    defaultContext: "cond_0391",  // contexto do condominio
    title: "Assistente do Condominio",
    primaryColor: "#2563eb",
  };
</script>
<script src="http://72.60.151.187:8011/widget.js"></script>

3. API REST Direta

Use a API REST do RAG-Z diretamente para integrar com backends, n8n, apps mobile, etc.

EndpointMetodoAuthDescricao
/healthGETPublicoStatus do servico
/api/queryPOSTPublicoConsulta RAG (pergunta + contexto)
/api/query/hierarchicalPOSTPublicoConsulta com hierarquia legal
/api/contextsGETPublicoLista todos os contextos
/api/contextsPOSTAPI KeyCriar contexto
/api/contexts/{name}DELETEAPI KeyDeletar contexto
/api/indexPOSTAPI KeyUpload + indexacao de documentos
/api/contexts/{name}/exportGETAPI KeyExportar contexto (JSON)
/api/contexts/{name}/importPOSTAPI KeyImportar contexto (JSON)

4. Exemplos de Uso

Consulta simples:

curl -X POST http://72.60.151.187:8002/api/query \
  -H "Content-Type: application/json" \
  -d '{
    "question": "Qual o horario da piscina?",
    "context": "cond_0391"
  }'

Indexar documento (requer API Key):

curl -X POST http://72.60.151.187:8002/api/index \
  -H "X-API-Key: SUA_API_KEY" \
  -F "files=@regulamento.pdf" \
  -F "context=cond_0391"

Consulta via JavaScript (frontend):

const resp = await fetch("http://72.60.151.187:8002/api/query", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    question: "Qual o valor do condominio?",
    context: "cond_0391",
    llm_provider: "openai"
  })
});
const data = await resp.json();
console.log(data.answer);

5. Widget API (Console do Navegador)

ChatWidget.open();                     // Abrir chat
ChatWidget.close();                    // Fechar chat
ChatWidget.sendMessage("Ola!");       // Enviar mensagem
ChatWidget.clearSession();             // Limpar historico
👇