Documentação da API GOgenier
O histórico vazio inicia uma sessão, para manter a sessão, é necessário sempre reenviar o histórico retornado na chamada anterior.
Exemplo de request:
curl --location 'https://app.genier.ai/{TENANT}/api/agent/agent_{agent_id}' \ --header 'Authorization: {GOgenier API Key}' \ --header 'Content-Type: application/json' \ --data '{ "history": [], "query": "Bom dia", "tts": true|false }'
Se TTS for passado, o áudio será retornado como MP3 data via base64.
Exemplo de retorno:
{ "entity": true, "entity_content": { "address": "Rua tapajos 152", "name": "Tom Jones", "phone": "11 99887722" }, "history": [ { "input": "Bom dia, preciso dos meus dados, sou o TOM", "output": "Aqui estão seus dados, Tom: Espero que isso ajude! Se precisar de mais alguma coisa, é só me avisar. ?" } ], "response": "Aqui estão seus dados, Tom: Espero que isso ajude! Se precisar de mais alguma coisa, é só me avisar. ?", "tts_audio_mp3_encoded_base64": "", "status": 0 }
Cada pergunta gera uma ou mais respostas sem manter o contexto anterior.
curl --location 'https://app.genier.ai/{TENANT}/api/generate' \ --header 'Authorization: {GOgenier API Key}' \ --header 'Content-Type: application/json' \ --data '{ "model": "{model_id}", "query": "Uma pergunta aqui", "ret_sources": "false|true" }'
Exemplo de retorno:
{ "documents": {}, "response": "Não foi possível recuperar conteúdo.", "session": {session_id} }
É usado para manter a memória, receba o session na primeira chamada e reutilize para manter o contexto.
curl --location 'https://app.genier.ai/{TENANT}/api/generate_mem' \ --header 'Authorization: {GOgenier API Key}' \ --header 'Content-Type: application/json' \ --data '{ "model": "{model_id}", "query": "Uma pergunta aqui", "session": , "ret_sources": false }'
Exemplo de retorno:
{ "documents": [], "response": "Estou bem e pronto para responder às suas perguntas sobre os produtos da empresa e a Fortics, com base nas informações que me foram fornecidas. Como posso ajudar?\n", "session": {session_id} }
É usado para fazer busca de conteúdos e saber quais documentos foram afetados.
curl --location 'https://app.genier.ai/{TENANT}/api/search' \ --header 'Authorization: {GOgenier API Key}' \ --header 'Content-Type: application/json' \ --data '{ "model": "{model_id}", "query": "Uma pergunta aqui" }'
Exemplo de retorno:
{ "documents": {}, "total_docs": 0 }
Faça transcrição de áudio e vídeo para textos.
curl --location 'https://app.genier.ai/{TENANT}/api/stt_transcribe' \ --header 'Authorization: {GOgenier API Key}' \ --header 'Content-Type: multipart/form-data' \ --form 'file=@"/home/user/Documentos/audio.ogg"'
Exemplo de retorno:
{ "result": "transcrição do audio", "source": "http://10.128.0.63:30708/static/data/9e7d7e6f-7ea5-410a-9db5-dd0bc12f9641.flac" }
Converta textos em fala.
curl -X POST 'https://app.genier.ai/{TENANT}/api/tts' \ --header 'Authorization: {GOgenier API Key}' \ -H "Content-Type: application/json" \ -d '{ "query": "Este é um exemplo de síntese de texto para fala." }'
Agentes multi modal podem receber as entradas em áudio ou texto e receber o retorno também nos dois formatos.
Formato texto:
curl -X POST 'https://app.genier.ai/{TENANT}/api/agent_mm/agent_{agent_id}' \ -H 'Authorization: {GOgenier API Key}' \ -H 'Content-Type: application/json' \ -d '{ "history": [], "text": "Olá", "tts": true }'
Formato áudio:
curl -X POST 'https://app.genier.ai/{TENANT}api/agent_mm/agent_{agent_id}' \ -H 'Authorization: {GOgenier API Key}' \ -F 'history=[];type=application/json' \ -F 'audio=@/caminho/do/audio/audio.mp3' \ -F 'tts=true'
Exemplo de retorno:
{ "entity": false, "entity_content": {}, "history": [ { "input": "Olá", "output": "Olá! Eu sou a agente de consultório. Durante as interações a seguir, fale após o beep o que deseja em 10 segundos ou pressione cerquilha para confirmar. Como posso ajudar você hoje?" } ], "response": "Olá! Eu sou a agente de consultório. Durante as interações a seguir, fale após o beep o que deseja em 10 segundos ou pressione cerquilha para confirmar. Como posso ajudar você hoje?", "status": 0, "tts_audio_mp3_encoded_base64": "retorno do audio em base64" }
Cadastre um admin no banco de dados. Para acessar as rotas de banco de dados autenticado, basta gerar o token de admin conforme o exemplo:
curl --location 'https://app.genier.ai/{TENANT}/godb/api/admins/auth-with-password' \ --header 'Content-Type: application/json' \ --header 'Cookie: _9451f=2b943671967f49df' \ --data-raw '{ "identity": "[email protected]", "password": "1234567890" }'
Exemplo de retorno:
{ "admin": { "id": "njlh69u2slliy0f", "created": "2024-09-12 08:55:37.507Z", "updated": "2024-09-12 08:55:37.507Z", "avatar": 1, "email": "[email protected]" }, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjczNDA5NDYsImlkIjoibmpsaDY5dTJzbGxpeTBmIiwidHlwZSI6ImFkbWluIn0.fVe6JUKJ1X5jY6nd7jIvLNafGFxBx9mwZFPxBPcTql4" }