edited requirements

Merge request reports

Loading
+1 −0
Changes for ai_agent/routes/debug.py: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
import io
import sys

import objgraph  # type: ignore[import-untyped]
from fastapi import APIRouter
from fastapi.responses import PlainTextResponse
+7 −3
Changes for ai_agent/routes/groq.py: 7 added lines, 3 removed lines.
Original line number Diff line number Diff line
import logging
from typing import Annotated

from fastapi import APIRouter, Body, Query
from fastapi.responses import JSONResponse, StreamingResponse

@@ -6,12 +8,14 @@ from ai_agent.memory import RedisShortTermMemory
from ai_agent.sub_agents.groq_agent import create_groq_agent
from ai_agent.utils import stream_agent_response

logger = logging.getLogger(__name__)

router = APIRouter()
memory_store = RedisShortTermMemory()


@router.post("/groq-mcp")
async def groq_query(payload: dict | None = Body(default=None)):
async def groq_query(payload: Annotated[dict | None, Body()] = None):
    query = payload.get("query") if payload else None
    session_id = payload.get("session_id") if payload else None

@@ -28,7 +32,7 @@ async def groq_query(payload: dict | None = Body(default=None)):
            response["session_id"] = session_id
        return response
    except Exception as e:
        logging.error("Error in groq_query", exc_info=True)
        logger.exception("Error in groq_query")
        return JSONResponse(status_code=500, content={"error": str(e)})
    finally:
        await agent.close()
@@ -64,6 +68,6 @@ async def groq_stream(
            },
        )
    except Exception as e:
        logging.error("Error in groq_stream", exc_info=True)
        logger.exception("Error in groq_stream")
        await agent.close()
        return JSONResponse(status_code=500, content={"error": str(e)})
+6 −4
Changes for ai_agent/sub_agents/groq_agent.py: 6 added lines, 4 removed lines.
Original line number Diff line number Diff line
import os
import logging
import os

from dotenv import load_dotenv
from ai_agent.prompts import CONVERSATION_MEMORY_PROMPT
from langchain_groq import ChatGroq
from mcp_use import MCPAgent, MCPClient  # type: ignore[import-untyped]

from ai_agent.prompts import CONVERSATION_MEMORY_PROMPT

load_dotenv()
logging.getLogger("mcp_use").setLevel(logging.ERROR)

@@ -14,7 +16,7 @@ logger = logging.getLogger(__name__)
def require_env(name: str) -> str:
    value = os.getenv(name)
    if value is None or not value.strip():
        raise EnvironmentError(f"{name} environment variable is not set")
        raise OSError(f"{name} environment variable is not set")
    return value.strip()


@@ -23,7 +25,7 @@ async def create_groq_agent():
    try:
        mcp_server_url = require_env("MCP_SERVER_URL")
        groq_api_key = require_env("GROQ_API_KEY")
    except EnvironmentError as e:
    except OSError as e:
        logger.error("Groq agent configuration error: %s", e)
        raise

+1 −1
Changes for ai_agent/README.md: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ MCP_SERVER_URL=http://127.0.0.1:8004/mcp

# --- Groq ---
GROQ_API_KEY=your_groq_api_key_here
GROQ_MODEL_NAME=qwen/qwen3-32b
GROQ_MODEL_NAME=qwen/qwen3.8-27b

# --- Optional short-term memory (Redis) ---
REDIS_URL=redis://127.0.0.1:6379/0
+4 −3
Changes for ai_agent/app.py: 4 added lines, 3 removed lines.
Original line number Diff line number Diff line
import os
import logging
from dotenv import load_dotenv
import os

import uvicorn
from dotenv import load_dotenv
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware

from ai_agent.routes.groq import router as groq_router
from ai_agent.routes.debug import router as debug_router
from ai_agent.routes.groq import router as groq_router

load_dotenv()

Loading
Loading