caiocampos-hotmart commited on
Commit
fcba0d8
·
1 Parent(s): a6981fd

chore: improve logs

Browse files
Files changed (2) hide show
  1. Dockerfile +4 -0
  2. app.py +18 -18
Dockerfile CHANGED
@@ -8,6 +8,10 @@ ENV PATH="/home/user/.local/bin:$PATH"
8
  ENV CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS"
9
  ENV FORCE_CMAKE=1
10
 
 
 
 
 
11
  WORKDIR /app
12
 
13
  COPY --chown=user ./requirements.txt requirements.txt
 
8
  ENV CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS"
9
  ENV FORCE_CMAKE=1
10
 
11
+ # Forçar logs em tempo real
12
+ ENV PYTHONUNBUFFERED=1
13
+ ENV PYTHONIOENCODING=utf-8
14
+
15
  WORKDIR /app
16
 
17
  COPY --chown=user ./requirements.txt requirements.txt
app.py CHANGED
@@ -22,25 +22,25 @@ class LocalLLMAgent:
22
  model_path = "./llama-2-7b-chat.Q4_K_M.gguf"
23
 
24
  if not os.path.exists(model_path):
25
- print("📥 Baixando modelo Llama-2-7B-Chat (Q4_K_M)...")
26
- print(" Isso pode levar alguns minutos...")
27
  model_path = hf_hub_download(
28
  repo_id="TheBloke/Llama-2-7B-Chat-GGUF",
29
  filename="llama-2-7b-chat.Q4_K_M.gguf",
30
  local_dir="./"
31
  )
32
- print("✅ Modelo baixado com sucesso!")
33
  else:
34
- print("📁 Modelo já existe, carregando...")
35
 
36
  # Configura para usar todas as CPUs disponíveis
37
  n_threads = multiprocessing.cpu_count()
38
- print(f"🔧 Configurando llama-cpp-python:")
39
- print(f" - CPUs disponíveis: {n_threads}")
40
- print(f" - Threads: {n_threads}")
41
- print(f" - Contexto: 2048 tokens")
42
 
43
- print("🚀 Inicializando modelo...")
44
  self.llm = Llama(
45
  model_path=model_path,
46
  chat_format="llama-2",
@@ -49,7 +49,7 @@ class LocalLLMAgent:
49
  n_threads_batch=n_threads,
50
  verbose=False
51
  )
52
- print(f"✅ Modelo carregado! Usando {n_threads} threads")
53
  self.messages = [
54
  {"role": "system", "content": "Responda sempre em português brasileiro de forma natural e conversacional."}
55
  ]
@@ -77,18 +77,18 @@ agent = None
77
 
78
  @app.on_event("startup")
79
  async def startup_event():
80
- print("=== INICIANDO LLM AGENT API ===")
81
- print(f"CPUs disponíveis: {multiprocessing.cpu_count()}")
82
- print(f"Memória total: {round(psutil.virtual_memory().total / (1024**3), 2)} GB")
83
 
84
  global agent
85
  agent = LocalLLMAgent()
86
 
87
- print("✅ API pronta para uso!")
88
- print("Endpoints disponíveis:")
89
- print(" - POST /chat")
90
- print(" - GET /health")
91
- print(" - GET /system")
92
 
93
  @app.post("/chat", response_model=ChatResponse)
94
  async def chat_endpoint(request: ChatRequest):
 
22
  model_path = "./llama-2-7b-chat.Q4_K_M.gguf"
23
 
24
  if not os.path.exists(model_path):
25
+ print("📥 Baixando modelo Llama-2-7B-Chat (Q4_K_M)...", flush=True)
26
+ print(" Isso pode levar alguns minutos...", flush=True)
27
  model_path = hf_hub_download(
28
  repo_id="TheBloke/Llama-2-7B-Chat-GGUF",
29
  filename="llama-2-7b-chat.Q4_K_M.gguf",
30
  local_dir="./"
31
  )
32
+ print("✅ Modelo baixado com sucesso!", flush=True)
33
  else:
34
+ print("📁 Modelo já existe, carregando...", flush=True)
35
 
36
  # Configura para usar todas as CPUs disponíveis
37
  n_threads = multiprocessing.cpu_count()
38
+ print(f"🔧 Configurando llama-cpp-python:", flush=True)
39
+ print(f" - CPUs disponíveis: {n_threads}", flush=True)
40
+ print(f" - Threads: {n_threads}", flush=True)
41
+ print(f" - Contexto: 2048 tokens", flush=True)
42
 
43
+ print("🚀 Inicializando modelo...", flush=True)
44
  self.llm = Llama(
45
  model_path=model_path,
46
  chat_format="llama-2",
 
49
  n_threads_batch=n_threads,
50
  verbose=False
51
  )
52
+ print(f"✅ Modelo carregado! Usando {n_threads} threads", flush=True)
53
  self.messages = [
54
  {"role": "system", "content": "Responda sempre em português brasileiro de forma natural e conversacional."}
55
  ]
 
77
 
78
  @app.on_event("startup")
79
  async def startup_event():
80
+ print("=== INICIANDO LLM AGENT API ===", flush=True)
81
+ print(f"CPUs disponíveis: {multiprocessing.cpu_count()}", flush=True)
82
+ print(f"Memória total: {round(psutil.virtual_memory().total / (1024**3), 2)} GB", flush=True)
83
 
84
  global agent
85
  agent = LocalLLMAgent()
86
 
87
+ print("✅ API pronta para uso!", flush=True)
88
+ print("Endpoints disponíveis:", flush=True)
89
+ print(" - POST /chat", flush=True)
90
+ print(" - GET /health", flush=True)
91
+ print(" - GET /system", flush=True)
92
 
93
  @app.post("/chat", response_model=ChatResponse)
94
  async def chat_endpoint(request: ChatRequest):