Skip to content

Commit

Permalink
ensure typing + naming
Browse files Browse the repository at this point in the history
  • Loading branch information
pablonyx committed Sep 16, 2024
1 parent b7b4cda commit e37da8e
Show file tree
Hide file tree
Showing 9 changed files with 24 additions and 27 deletions.
2 changes: 1 addition & 1 deletion backend/danswer/configs/app_configs.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
os.environ.get("POSTGRES_PASSWORD") or "password"
)
POSTGRES_HOST = os.environ.get("POSTGRES_HOST") or "localhost"
POSTGRES_PORT = os.environ.get("POSTGRES_PORT") or "5433"
POSTGRES_PORT = os.environ.get("POSTGRES_PORT") or "5432"
POSTGRES_DB = os.environ.get("POSTGRES_DB") or "postgres"

# defaults to False
Expand Down
22 changes: 8 additions & 14 deletions backend/danswer/one_shot_answer/answer_question.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@
from collections.abc import Iterator
from typing import cast

from fastapi import HTTPException
from sqlalchemy.orm import Session

from danswer.auth.users import is_user_admin
from danswer.chat.chat_utils import reorganize_citations
from danswer.chat.models import CitationInfo
from danswer.chat.models import DanswerAnswerPiece
Expand Down Expand Up @@ -113,18 +111,6 @@ def stream_answer_objects(
query_msg = query_req.messages[-1]
history = query_req.messages[:-1]

temporary_persona: Persona | None = None
if query_req.persona_config is not None:
if not is_user_admin(user):
raise HTTPException(
status_code=403, detail="User is not authorized to create a persona"
)

new_persona = create_temporary_persona(
db_session=db_session, persona_config=query_req.persona_config, user=user
)
temporary_persona = new_persona

chat_session = create_chat_session(
db_session=db_session,
description="", # One shot queries don't need naming as it's never displayed
Expand All @@ -135,7 +121,15 @@ def stream_answer_objects(
danswerbot_flow=danswerbot_flow,
)

temporary_persona: Persona | None = None
if query_req.persona_config is not None:
new_persona = create_temporary_persona(
db_session=db_session, persona_config=query_req.persona_config, user=user
)
temporary_persona = new_persona

persona = temporary_persona if temporary_persona else chat_session.persona

llm, fast_llm = get_llms_for_persona(persona=persona)

llm_tokenizer = get_tokenizer(
Expand Down
2 changes: 1 addition & 1 deletion backend/danswer/server/query_and_chat/chat_backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ def get_chat_session(
chat_session_id=session_id,
description=chat_session.description,
persona_id=chat_session.persona_id,
persona_name=chat_session.persona.name,
persona_name=chat_session.persona.name if chat_session.persona else None,
current_alternate_model=chat_session.current_alternate_model,
messages=[
translate_db_message_to_chat_message_detail(
Expand Down
2 changes: 1 addition & 1 deletion backend/danswer/server/query_and_chat/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ class ChatSessionDetailResponse(BaseModel):
chat_session_id: int
description: str
persona_id: int | None = None
persona_name: str
persona_name: str | None
messages: list[ChatMessageDetail]
time_created: datetime
shared_status: ChatSessionSharedStatus
Expand Down
3 changes: 2 additions & 1 deletion backend/ee/danswer/server/query_and_chat/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ def create_temporary_persona(
) -> Persona:
if not is_user_admin(user):
raise HTTPException(
status_code=403, detail="User is not authorized to create a persona"
status_code=403,
detail="User is not authorized to create a persona in one shot queries",
)

"""Create a temporary Persona object from the provided configuration."""
Expand Down
14 changes: 8 additions & 6 deletions backend/ee/danswer/server/query_history/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ class ChatSessionMinimal(BaseModel):
name: str | None
first_user_message: str
first_ai_message: str
persona_name: str
persona_name: str | None
time_created: datetime
feedback_type: QAFeedbackType | Literal["mixed"] | None

Expand All @@ -97,7 +97,7 @@ class ChatSessionSnapshot(BaseModel):
user_email: str
name: str | None
messages: list[MessageSnapshot]
persona_name: str
persona_name: str | None
time_created: datetime


Expand All @@ -111,7 +111,7 @@ class QuestionAnswerPairSnapshot(BaseModel):
retrieved_documents: list[AbridgedSearchDoc]
feedback_type: QAFeedbackType | None
feedback_text: str | None
persona_name: str
persona_name: str | None
user_email: str
time_created: datetime

Expand Down Expand Up @@ -145,7 +145,7 @@ def from_chat_session_snapshot(
for ind, (user_message, ai_message) in enumerate(message_pairs)
]

def to_json(self) -> dict[str, str]:
def to_json(self) -> dict[str, str | None]:
return {
"chat_session_id": str(self.chat_session_id),
"message_pair_num": str(self.message_pair_num),
Expand Down Expand Up @@ -235,7 +235,9 @@ def fetch_and_process_chat_session_history_minimal(
name=chat_session.description,
first_user_message=first_user_message,
first_ai_message=first_ai_message,
persona_name=chat_session.persona.name,
persona_name=chat_session.persona.name
if chat_session.persona
else None,
time_created=chat_session.time_created,
feedback_type=feedback_type,
)
Expand Down Expand Up @@ -300,7 +302,7 @@ def snapshot_from_chat_session(
for message in messages
if message.message_type != MessageType.SYSTEM
],
persona_name=chat_session.persona.name,
persona_name=chat_session.persona.name if chat_session.persona else None,
time_created=chat_session.time_created,
)

Expand Down
2 changes: 1 addition & 1 deletion deployment/docker_compose/docker-compose.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ services:
- POSTGRES_USER=${POSTGRES_USER:-postgres}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-password}
ports:
- "5433:5432"
- "5432:5432"
volumes:
- db_volume:/var/lib/postgresql/data

Expand Down
2 changes: 1 addition & 1 deletion deployment/docker_compose/docker-compose.gpu-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ services:
- POSTGRES_USER=${POSTGRES_USER:-postgres}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-password}
ports:
- "5433:5432"
- "5432:5432"
volumes:
- db_volume:/var/lib/postgresql/data

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ services:
- POSTGRES_USER=${POSTGRES_USER:-postgres}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-password}
ports:
- "5433"
- "5432"
volumes:
- db_volume:/var/lib/postgresql/data

Expand Down

0 comments on commit e37da8e

Please sign in to comment.