Commit d20b1e77 authored by Vũ Hoàng Anh's avatar Vũ Hoàng Anh

Update project state

parent d21e9eec
......@@ -15,7 +15,7 @@ from langchain_core.messages import AIMessage, HumanMessage, ToolMessage
from langchain_core.runnables import RunnableConfig
from common.conversation_manager import ConversationManager, get_conversation_manager
from common.langfuse_client import get_callback_handler, langfuse_trace_context
from common.langfuse_client import get_callback_handler
from common.llm_factory import create_llm
from config import DEFAULT_MODEL
......@@ -73,8 +73,6 @@ async def chat_controller(
)
try:
# 🔥 Wrap graph execution với langfuse_trace_context để set user_id cho tất cả observations
with langfuse_trace_context(user_id=user_id, session_id=user_id):
# TỐI ƯU: Chạy Graph
result = await graph.ainvoke(initial_state, config=exec_config)
......@@ -106,7 +104,6 @@ async def chat_controller(
except (json.JSONDecodeError, Exception) as e:
# Nếu AI trả về text thường (hiếm khi xảy ra trong JSON mode) thì ignore
logger.warning(f"Could not parse AI response as JSON: {e}")
pass
# BACKGROUND TASK: Lưu history nhanh gọn
background_tasks.add_task(
......@@ -266,7 +263,6 @@ async def mock_chat_controller(
)
try:
with langfuse_trace_context(user_id=user_id, session_id=user_id):
# Chạy Graph với tools THẬT
result = await graph.ainvoke(initial_state, config=exec_config)
......
......@@ -10,10 +10,8 @@ import httpx
logger = logging.getLogger(__name__)
# URL API Canifa
CANIFA_CUSTOMER_API = "https://vsf2.canifa.com/v1/magento/customer"
# GraphQL Query Body giả lập (để lấy User Info)
CANIFA_QUERY_BODY = [
{
"customer": "customer-custom-query",
......@@ -24,7 +22,6 @@ CANIFA_QUERY_BODY = [
{},
]
async def verify_canifa_token(token: str) -> dict[str, Any] | None:
"""
Verify token với API Canifa (Magento).
......@@ -42,7 +39,7 @@ async def verify_canifa_token(token: str) -> dict[str, Any] | None:
headers = {
"accept": "application/json, text/plain, */*",
"content-type": "application/json",
"Cookie": f"vsf-customer={token}", # Quan trọng: Gửi token dưới dạng Cookie
"Cookie": f"vsf-customer={token}",
}
try:
......
import asyncio
import json
import logging
import asyncio
from datetime import datetime, date
from datetime import datetime
from typing import Any
import psycopg
......@@ -147,8 +147,7 @@ class ConversationManager:
final_query = sql.SQL(" ").join(query_parts)
pool = await self._get_pool()
async with pool.connection() as conn:
async with conn.cursor() as cursor:
async with pool.connection() as conn, conn.cursor() as cursor:
await cursor.execute(final_query, tuple(params))
results = await cursor.fetchall()
......
......@@ -12,6 +12,6 @@ docker restart chatbot-backend && docker logs -f chatbot-backend
docker logs -f chatbot-backend
docker restart chatbot-backend
docker restart canifa_backend
sudo docker compose -f docker-compose.prod.yml up -d --build
......@@ -20,7 +20,7 @@ from common.langfuse_client import get_langfuse_client
from common.middleware import middleware_manager
from config import PORT
# Configure Logging
# Configure LoggingP
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
......@@ -67,12 +67,16 @@ app.include_router(conservation_router)
app.include_router(chatbot_router)
app.include_router(prompt_router)
from api.mock_api_route import router as mock_router
app.include_router(mock_router)
print("✅ Mock API Router mounted at /api/mock")
# --- MOCK API FOR LOAD TESTING ---
try:
from api.mock_api_route import router as mock_router
app.include_router(mock_router)
app.include_router(mock_router, prefix="/api")
print("✅ Mock API Router mounted at /api/mock")
except ImportError:
print("⚠️ Mock Router not found, skipping...")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment