caarleexx commited on
Commit
c9f2610
·
verified ·
1 Parent(s): b242def

Update frontend/app.py

Browse files
Files changed (1) hide show
  1. frontend/app.py +15 -13
frontend/app.py CHANGED
@@ -42,13 +42,15 @@ async def start():
42
 
43
  try:
44
  # 1. Lendo o conteúdo do arquivo do disco (file.path)
 
45
  with open(file.path, "rb") as f:
46
  file_content = f.read()
47
 
48
- # 2. Obtendo o MIME Type
 
49
  mime_type = getattr(file, 'type', 'application/pdf')
50
 
51
- # 3. Criando o payload
52
  files_payload = {"file": (file.name, file_content, mime_type)}
53
 
54
  # 4. Envia o arquivo para o backend
@@ -61,24 +63,24 @@ async def start():
61
  # Se o upload/processamento for bem-sucedido (200 OK)
62
  if response.status_code == 200:
63
  RAG_INITIALIZED = True
64
- # Revertido para content=
65
- await msg.update(
66
- content=f"✅ processado com sucesso! Agora você pode fazer perguntas sobre o conteúdo do documento."
67
- )
68
  else:
69
  RAG_INITIALIZED = False
70
  error_detail = response.json().get('detail', 'Erro desconhecido')
71
- # Revertido para content=
72
  await msg.update(
73
  content=f"❌ Erro ao processar o arquivo. Código: {response.status_code}. Detalhe: {error_detail}"
74
  )
75
 
76
  except httpx.ConnectError:
77
- # Revertido para content=
78
  await msg.update(content="Erro de conexão: Não foi possível se conectar ao backend. Verifique se ele está rodando.")
79
 
80
  except Exception as e:
81
- # Revertido para content=
82
  await msg.update(content=f"Ocorreu um erro: {e}")
83
 
84
  @cl.on_message
@@ -103,7 +105,7 @@ async def main(message: cl.Message):
103
  async with client.stream("POST", CHAT_URL, json={"content": message.content}) as response:
104
  # Se a requisição falhar, mostra um erro
105
  if response.status_code != 200:
106
- # Revertido para content=
107
  await msg.update(content=f"Erro: {response.text}")
108
  return
109
 
@@ -111,14 +113,14 @@ async def main(message: cl.Message):
111
  async for chunk in response.aiter_text():
112
  await msg.stream_token(chunk)
113
 
114
- # Finaliza a mensagem.
115
  await msg.update()
116
 
117
  except httpx.ConnectError:
118
- # Revertido para content=
119
  await msg.update(content="Erro de conexão: Não foi possível se conectar ao backend. Verifique se ele está rodando.")
120
  except Exception as e:
121
- # Revertido para content=
122
  await msg.update(content=f"Ocorreu um erro: {e}")
123
 
124
  #--- END OF FILE app (24).py ---
 
42
 
43
  try:
44
  # 1. Lendo o conteúdo do arquivo do disco (file.path)
45
+ # O Chainlit armazena o arquivo em disco e fornece o caminho (file.path)
46
  with open(file.path, "rb") as f:
47
  file_content = f.read()
48
 
49
+ # 2. Obtendo o MIME Type de forma robusta
50
+ # Usa file.type (padrão Chainlit) ou assume PDF
51
  mime_type = getattr(file, 'type', 'application/pdf')
52
 
53
+ # 3. Criando o payload para httpx. O formato é (filename, file_content_bytes, mime_type)
54
  files_payload = {"file": (file.name, file_content, mime_type)}
55
 
56
  # 4. Envia o arquivo para o backend
 
63
  # Se o upload/processamento for bem-sucedido (200 OK)
64
  if response.status_code == 200:
65
  RAG_INITIALIZED = True
66
+ # Usa content= para forçar o argumento nomeado e evitar TypeError
67
+ #await msg.update(
68
+ # content=f"✅ processado com sucesso! Agora você pode fazer perguntas sobre o conteúdo do documento."
69
+ #)
70
  else:
71
  RAG_INITIALIZED = False
72
  error_detail = response.json().get('detail', 'Erro desconhecido')
73
+ # Usa content= para forçar o argumento nomeado e evitar TypeError
74
  await msg.update(
75
  content=f"❌ Erro ao processar o arquivo. Código: {response.status_code}. Detalhe: {error_detail}"
76
  )
77
 
78
  except httpx.ConnectError:
79
+ # Usa content= para forçar o argumento nomeado e evitar TypeError
80
  await msg.update(content="Erro de conexão: Não foi possível se conectar ao backend. Verifique se ele está rodando.")
81
 
82
  except Exception as e:
83
+ # Usa content= para forçar o argumento nomeado e evitar TypeError
84
  await msg.update(content=f"Ocorreu um erro: {e}")
85
 
86
  @cl.on_message
 
105
  async with client.stream("POST", CHAT_URL, json={"content": message.content}) as response:
106
  # Se a requisição falhar, mostra um erro
107
  if response.status_code != 200:
108
+ # Usa content= para forçar o argumento nomeado e evitar TypeError
109
  await msg.update(content=f"Erro: {response.text}")
110
  return
111
 
 
113
  async for chunk in response.aiter_text():
114
  await msg.stream_token(chunk)
115
 
116
+ # Finaliza a mensagem. Não é necessário argumento para finalizar.
117
  await msg.update()
118
 
119
  except httpx.ConnectError:
120
+ # Usa content= para forçar o argumento nomeado e evitar TypeError
121
  await msg.update(content="Erro de conexão: Não foi possível se conectar ao backend. Verifique se ele está rodando.")
122
  except Exception as e:
123
+ # Usa content= para forçar o argumento nomeado e evitar TypeError
124
  await msg.update(content=f"Ocorreu um erro: {e}")
125
 
126
  #--- END OF FILE app (24).py ---