feat: добавлен тестовый режим X-Test-Mode
This commit is contained in:
@@ -5,7 +5,7 @@ FastAPI endpoints для RAG сервиса.
|
||||
import logging
|
||||
from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, status
|
||||
from fastapi import APIRouter, Depends, Header, HTTPException, status
|
||||
|
||||
from app import __version__
|
||||
from app.api.auth import AuthDep
|
||||
@@ -160,17 +160,33 @@ async def add_positive_example(
|
||||
request: ExampleRequest,
|
||||
service: RAGServiceDep,
|
||||
_auth: AuthDep,
|
||||
x_test_mode: str | None = Header(default=None, alias="X-Test-Mode"),
|
||||
) -> ExampleResponse:
|
||||
"""
|
||||
Добавляет текст как положительный пример (опубликованный пост).
|
||||
|
||||
При наличии заголовка X-Test-Mode: true пример НЕ сохраняется (тестовый режим).
|
||||
|
||||
Args:
|
||||
request: Запрос с текстом
|
||||
service: RAG сервис
|
||||
x_test_mode: Заголовок тестового режима
|
||||
|
||||
Returns:
|
||||
ExampleResponse: Результат добавления
|
||||
"""
|
||||
# Тестовый режим — не сохраняем примеры
|
||||
is_test = x_test_mode and x_test_mode.lower() == "true"
|
||||
|
||||
if is_test:
|
||||
logger.info("Тестовый режим: положительный пример НЕ сохранён")
|
||||
return ExampleResponse(
|
||||
success=True,
|
||||
message="Тестовый режим: пример не сохранён",
|
||||
positive_count=service.vector_store.positive_count,
|
||||
negative_count=service.vector_store.negative_count,
|
||||
)
|
||||
|
||||
try:
|
||||
added = await service.add_positive_example(request.text)
|
||||
|
||||
@@ -209,17 +225,33 @@ async def add_negative_example(
|
||||
request: ExampleRequest,
|
||||
service: RAGServiceDep,
|
||||
_auth: AuthDep,
|
||||
x_test_mode: str | None = Header(default=None, alias="X-Test-Mode"),
|
||||
) -> ExampleResponse:
|
||||
"""
|
||||
Добавляет текст как отрицательный пример (отклоненный пост).
|
||||
|
||||
При наличии заголовка X-Test-Mode: true пример НЕ сохраняется (тестовый режим).
|
||||
|
||||
Args:
|
||||
request: Запрос с текстом
|
||||
service: RAG сервис
|
||||
x_test_mode: Заголовок тестового режима
|
||||
|
||||
Returns:
|
||||
ExampleResponse: Результат добавления
|
||||
"""
|
||||
# Тестовый режим — не сохраняем примеры
|
||||
is_test = x_test_mode and x_test_mode.lower() == "true"
|
||||
|
||||
if is_test:
|
||||
logger.info("Тестовый режим: отрицательный пример НЕ сохранён")
|
||||
return ExampleResponse(
|
||||
success=True,
|
||||
message="Тестовый режим: пример не сохранён",
|
||||
positive_count=service.vector_store.positive_count,
|
||||
negative_count=service.vector_store.negative_count,
|
||||
)
|
||||
|
||||
try:
|
||||
added = await service.add_negative_example(request.text)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user