Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions src/app/endpoints/query.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import constants
from auth import get_auth_dependency
from utils.common import retrieve_user_id
from utils.endpoints import check_configuration_loaded
from utils.endpoints import check_configuration_loaded, get_system_prompt
from utils.suid import get_suid

logger = logging.getLogger("app.endpoints.handlers")
Expand Down Expand Up @@ -195,11 +195,7 @@ def retrieve_response(
logger.info("Available shields found: %s", available_shields)

# use system prompt from request or default one
system_prompt = (
query_request.system_prompt
if query_request.system_prompt
else constants.DEFAULT_SYSTEM_PROMPT
)
system_prompt = get_system_prompt(query_request, configuration)
logger.debug("Using system prompt: %s", system_prompt)

# TODO(lucasagomes): redact attachments content before sending to LLM
Expand Down
9 changes: 2 additions & 7 deletions src/app/endpoints/streaming_query.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@
from client import get_async_llama_stack_client
from configuration import configuration
from models.requests import QueryRequest
import constants
from utils.endpoints import check_configuration_loaded
from utils.endpoints import check_configuration_loaded, get_system_prompt
from utils.common import retrieve_user_id
from utils.suid import get_suid

Expand Down Expand Up @@ -265,11 +264,7 @@ async def retrieve_response(
logger.info("Available shields found: %s", available_shields)

# use system prompt from request or default one
system_prompt = (
query_request.system_prompt
if query_request.system_prompt
else constants.DEFAULT_SYSTEM_PROMPT
)
system_prompt = get_system_prompt(query_request, configuration)
logger.debug("Using system prompt: %s", system_prompt)

# TODO(lucasagomes): redact attachments content before sending to LLM
Expand Down
11 changes: 11 additions & 0 deletions src/utils/endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

from fastapi import HTTPException, status

import constants
from models.requests import QueryRequest
from configuration import AppConfig


Expand All @@ -12,3 +14,12 @@ def check_configuration_loaded(configuration: AppConfig) -> None:
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
detail={"response": "Configuration is not loaded"},
)


def get_system_prompt(query_request: QueryRequest, _configuration: AppConfig) -> str:
"""Get the system prompt: the provided one, configured one, or default one."""
return (
query_request.system_prompt
if query_request.system_prompt
else constants.DEFAULT_SYSTEM_PROMPT
)