Kadoblam commited on
Commit
7feb213
·
1 Parent(s): 24e6e9f

Adiciona detecção de idioma e respostas curtas

Browse files
Files changed (1) hide show
  1. app.py +17 -1
app.py CHANGED
@@ -1,7 +1,8 @@
1
  import os
2
- from fastapi import FastAPI, Request
3
  from pydantic import BaseModel
4
  from openai import OpenAI
 
5
 
6
  app = FastAPI()
7
 
@@ -19,11 +20,26 @@ async def root():
19
 
20
  @app.post("/ask")
21
  async def ask_model(query: Query):
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  completion = client.chat.completions.create(
23
  model="Qwen/Qwen3-4B-Thinking-2507:nscale",
24
  messages=[
 
25
  {"role": "user", "content": query.question}
26
  ],
 
27
  )
28
  answer = completion.choices[0].message.content
29
  return {"answer": answer}
 
1
  import os
2
+ from fastapi import FastAPI
3
  from pydantic import BaseModel
4
  from openai import OpenAI
5
+ import langdetect # biblioteca para detectar idioma
6
 
7
  app = FastAPI()
8
 
 
20
 
21
  @app.post("/ask")
22
  async def ask_model(query: Query):
23
+ # Detecta idioma da pergunta (pode instalar via: pip install langdetect)
24
+ try:
25
+ idioma = langdetect.detect(query.question)
26
+ except:
27
+ idioma = "pt" # default para português
28
+
29
+ if idioma == "pt":
30
+ system_prompt = "Responda sempre em português, de forma curta e direta, sem explicações longas."
31
+ elif idioma == "en":
32
+ system_prompt = "Answer always in English, briefly and directly, no long explanations."
33
+ else:
34
+ system_prompt = "Responda no mesmo idioma da pergunta, de forma direta e curta."
35
+
36
  completion = client.chat.completions.create(
37
  model="Qwen/Qwen3-4B-Thinking-2507:nscale",
38
  messages=[
39
+ {"role": "system", "content": system_prompt},
40
  {"role": "user", "content": query.question}
41
  ],
42
+ max_tokens=150 # limita o tamanho da resposta para acelerar
43
  )
44
  answer = completion.choices[0].message.content
45
  return {"answer": answer}