48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
"""Memory 服务接口 - 基于 API Key 认证"""
|
|
import uuid
|
|
|
|
from fastapi import APIRouter, Depends, Request, Body
|
|
from sqlalchemy.orm import Session
|
|
|
|
from app.db import get_db
|
|
from app.core.response_utils import success
|
|
from app.core.logging_config import get_business_logger
|
|
from app.core.api_key_auth import require_api_key
|
|
from app.schemas.api_key_schema import ApiKeyAuth
|
|
|
|
router = APIRouter(prefix="/memory", tags=["V1 - Memory API"])
|
|
logger = get_business_logger()
|
|
|
|
|
|
@router.get("")
|
|
async def get_memory_info():
|
|
"""获取记忆服务信息(占位)"""
|
|
return success(data={}, msg="Memory API - Coming Soon")
|
|
|
|
|
|
# /v1/memory/{resource_id}/chat
|
|
@router.post("/{resource_id}/chat")
|
|
@require_api_key(scopes=["memory"])
|
|
async def chat_with_agent_demo(
|
|
resource_id: uuid.UUID,
|
|
request: Request,
|
|
api_key_auth: ApiKeyAuth = None,
|
|
db: Session = Depends(get_db),
|
|
message: str = Body(..., description="聊天消息内容"),
|
|
):
|
|
"""
|
|
Agent 聊天接口demo
|
|
|
|
scopes: 所需的权限范围列表["app", "rag", "memory"]
|
|
|
|
Args:
|
|
resource_id: 如果是应用的apikey传的是应用id; 如果是服务的apikey传的是工作空间id
|
|
message: 请求参数
|
|
request: 声明请求
|
|
api_key_auth: 包含验证后的API Key 信息
|
|
db: db_session
|
|
"""
|
|
logger.info(f"API Key Auth: {api_key_auth}")
|
|
logger.info(f"Resource ID: {resource_id}")
|
|
logger.info(f"Message: {message}")
|
|
return success(data={"received": True}, msg="消息已接收") |