This commit is contained in:
parent
276c708826
commit
16ef624551
|
|
@ -52,22 +52,39 @@ async def run_analysis(
|
||||||
|
|
||||||
Requires OpenAI API key to be provided in the request.
|
Requires OpenAI API key to be provided in the request.
|
||||||
"""
|
"""
|
||||||
logger.info(f"Received analysis request for {request.ticker} on {request.analysis_date}")
|
try:
|
||||||
|
logger.info(f"Received analysis request for {request.ticker} on {request.analysis_date}")
|
||||||
# Run analysis with all provided parameters including API keys
|
|
||||||
result = await service.run_analysis(
|
# Run analysis with all provided parameters including API keys
|
||||||
ticker=request.ticker,
|
result = await service.run_analysis(
|
||||||
analysis_date=request.analysis_date,
|
ticker=request.ticker,
|
||||||
openai_api_key=request.openai_api_key,
|
analysis_date=request.analysis_date,
|
||||||
openai_base_url=request.openai_base_url,
|
openai_api_key=request.openai_api_key,
|
||||||
alpha_vantage_api_key=request.alpha_vantage_api_key,
|
openai_base_url=request.openai_base_url,
|
||||||
analysts=request.analysts,
|
alpha_vantage_api_key=request.alpha_vantage_api_key,
|
||||||
research_depth=request.research_depth,
|
analysts=request.analysts,
|
||||||
deep_think_llm=request.deep_think_llm,
|
research_depth=request.research_depth,
|
||||||
quick_think_llm=request.quick_think_llm,
|
deep_think_llm=request.deep_think_llm,
|
||||||
)
|
quick_think_llm=request.quick_think_llm,
|
||||||
|
)
|
||||||
return result
|
|
||||||
|
# Check if result contains error
|
||||||
|
if result.get("status") == "error":
|
||||||
|
logger.error(f"Analysis failed: {result.get('error')}")
|
||||||
|
raise HTTPException(
|
||||||
|
status_code=500,
|
||||||
|
detail=f"Analysis failed: {result.get('error', 'Unknown error')}"
|
||||||
|
)
|
||||||
|
|
||||||
|
return result
|
||||||
|
except HTTPException:
|
||||||
|
raise
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"Unexpected error during analysis: {str(e)}", exc_info=True)
|
||||||
|
raise HTTPException(
|
||||||
|
status_code=500,
|
||||||
|
detail=f"Analysis failed: {str(e)}"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@router.get("/tickers")
|
@router.get("/tickers")
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,8 @@ async def global_exception_handler(request, exc):
|
||||||
status_code=500,
|
status_code=500,
|
||||||
content={
|
content={
|
||||||
"error": "Internal server error",
|
"error": "Internal server error",
|
||||||
"detail": str(exc) if settings.debug else "An unexpected error occurred",
|
"detail": str(exc), # Always return detailed error for user debugging
|
||||||
|
"type": type(exc).__name__,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue