File size: 3,787 Bytes
2cfa96b
4561404
 
 
 
2cfa96b
4561404
2cfa96b
4561404
 
2cfa96b
 
4561404
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
---
title: AutisMind AI API Backend
emoji: 🧠
colorFrom: green
colorTo: blue
sdk: gradio
python_version: 3.10 # OU 3.11, OU 3.12 (versões mais recentes e estáveis)
app_file: app.py
requirements_file: requirements.txt
command: uvicorn app:app --host 0.0.0.0 --port 7860
---

# AutisMind AI API Backend

Este Hugging Face Space hospeda o servidor Python da API de Inteligência Artificial para o projeto **AutisMind**.

Ele fornece uma API RESTful para gerar respostas de texto em português e realizar análises básicas de conversas, focando no desenvolvimento socioemocional de pessoas neurodivergentes.

### **Modelo de Linguagem Utilizado:**

O modelo de linguagem utilizado é o **`pierreguillou/gpt2-small-portuguese`**, que é baixado dinamicamente do Hugging Face Hub durante a inicialização do Space. Este modelo é otimizado para o idioma português e é leve o suficiente para ser executado no plano gratuito do Hugging Face Spaces.

### **Endpoints da API:**

1.  **`POST /generate-response`**
    * **Função:** Gera uma resposta de texto da IA para uma mensagem do usuário, considerando um histórico de conversa e uma personalidade de personagem. Também realiza uma análise básica da mensagem do usuário.
    * **URL de Exemplo (após o deploy):** `https://SEU_NOME_DE_USUARIO-SEU_NOME_DO_SPACE.hf.space/generate-response`
    * **Corpo da Requisição (JSON):**
        ```json
        {
            "message": "Qual é a sua cor favorita?",
            "history": [
                {
                    "role": "user",
                    "content": "Olá, tudo bem?"
                },
                {
                    "role": "assistant",
                    "content": "Olá! Estou bem, obrigado. Como posso ajudar você hoje?"
                }
            ],
            "persona": "Você é um robô de apoio amigável chamado 'Robô Guia', sempre com uma atitude positiva e prestativa.",
            "chatId": "chat-id-exemplo"
        }
        ```
    * **Exemplo de Resposta (JSON):**
        ```json
        {
            "ai_response": "Como um robô guia, não tenho uma cor favorita como os humanos, mas eu adoro a cor azul, pois me lembra do céu e da vasta quantidade de informações que posso processar!",
            "analysis": {
                "sentiment": "positivo",
                "emotion": "alegria"
            }
        }
        ```

2.  **`GET /health`**
    * **Função:** Verifica o status do servidor da API e se o modelo de IA foi carregado com sucesso.
    * **URL de Exemplo (após o deploy):** `https://SEU_NOME_DE_USUARIO-SEU_NOME_DO_SPACE.hf.space/health`
    * **Exemplo de Resposta (JSON):**
        ```json
        {
            "status": "ok",
            "model_loaded": true
        }
        ```

### **Como Usar:**

1.  **Crie um Space no Hugging Face** com o SDK "Gradio" (conforme instruído, para usar o ambiente Python).
2.  **Clone este repositório** para a sua máquina local.
3.  **Copie os arquivos** `app.py`, `requirements.txt`, `.env` (se tiver outras variáveis) e este `README.md` para o diretório raiz do Space clonado. **Não inclua arquivos de modelo grandes (`.gguf` ou `.bin`)**.
4.  **Faça o `git add .`, `git commit` e `git push`** das suas alterações para o Space.
5.  O Hugging Face irá construir e iniciar sua API. Monitore a aba "Logs" para verificar o progresso e o status.
6.  Uma vez que o Space esteja "Running", use as URLs fornecidas acima para integrar com seu servidor Express e front-end.

---

**Lembre-se de:**

* Substituir `SEU_NOME_DE_USUARIO` e `SEU_NOME_DO_SPACE` pelas informações reais do seu Space nas URLs de exemplo.
* Verificar a `python_version` no cabeçalho YAML (`3.10` é um bom padrão, mas confirme a sua com `python3 --version` no terminal).