Skip to content

Commit 1024b82

Browse files
committed
fix vercel server logs
1 parent a30aed9 commit 1024b82

File tree

1 file changed

+30
-10
lines changed
  • eval_protocol/quickstart/svg_agent/vercel_svg_server/api

1 file changed

+30
-10
lines changed

eval_protocol/quickstart/svg_agent/vercel_svg_server/api/init.py

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import json
99
import os
1010
import logging
11+
import sys
1112
from http.server import BaseHTTPRequestHandler
1213
from openai import OpenAI
1314
from dotenv import load_dotenv
@@ -16,9 +17,32 @@
1617

1718
load_dotenv()
1819

19-
# Attach Fireworks tracing handler to root logger
20-
fireworks_handler = FireworksTracingHttpHandler()
21-
logging.getLogger().addHandler(fireworks_handler)
20+
# Configure logging so INFO and below go to stdout, WARNING+ to stderr.
21+
# This avoids Vercel marking INFO logs as [error] (stderr).
22+
root_logger = logging.getLogger()
23+
root_logger.handlers.clear()
24+
root_logger.setLevel(logging.INFO)
25+
26+
27+
class _InfoOnly(logging.Filter):
28+
def filter(self, record: logging.LogRecord) -> bool:
29+
return record.levelno <= logging.INFO
30+
31+
32+
formatter = logging.Formatter("%(levelname)s:%(name)s:%(message)s")
33+
34+
stdout_handler = logging.StreamHandler(sys.stdout)
35+
stdout_handler.addFilter(_InfoOnly())
36+
stdout_handler.setFormatter(formatter)
37+
root_logger.addHandler(stdout_handler)
38+
39+
stderr_handler = logging.StreamHandler(sys.stderr)
40+
stderr_handler.setLevel(logging.WARNING)
41+
stderr_handler.setFormatter(formatter)
42+
root_logger.addHandler(stderr_handler)
43+
44+
# Attach Fireworks tracing handler to root logger (non-stream HTTP sink)
45+
root_logger.addHandler(FireworksTracingHttpHandler())
2246

2347

2448
class handler(BaseHTTPRequestHandler):
@@ -46,19 +70,15 @@ def do_POST(self):
4670
# Prepare completion arguments
4771
completion_kwargs = {
4872
"messages": req.messages,
49-
**req.completion_params,
73+
"model": req.completion_params.get("model"),
74+
"temperature": req.completion_params.get("temperature"),
75+
"max_tokens": req.completion_params.get("max_tokens"),
5076
}
5177

5278
# Add tools if present
5379
if req.tools:
5480
completion_kwargs["tools"] = req.tools
5581

56-
# Add completion parameters if they exist
57-
# if hasattr(req, 'completion_params') and req.completion_params:
58-
# # Filter out any model override
59-
# params = {k: v for k, v in req.completion_params.items() if k != 'model'}
60-
# completion_kwargs.update(params)
61-
6282
# Get API key (prefer request api_key, fallback to environment)
6383
api_key = req.api_key or os.environ.get("FIREWORKS_API_KEY")
6484
if not api_key:

0 commit comments

Comments
 (0)