Skip to content

Commit 1977699

Browse files
committed
Add enums for structured data mode
1 parent 977454a commit 1977699

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

text_2_sql/text_2_sql_core/src/text_2_sql_core/payloads/__init__.py

Whitespace-only changes.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from pydantic import BaseModel, Field
2+
3+
4+
class Source(BaseModel):
5+
sql_query: str
6+
sql_rows: list[dict]
7+
markdown_table: str
8+
9+
10+
class AnswerWithSources(BaseModel):
11+
answer: str
12+
sources: list[str] = Field(default_factory=list)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from pydantic import BaseModel, RootModel, Field
2+
from enum import StrEnum
3+
from typing import Literal
4+
5+
6+
class RequestType(StrEnum):
7+
DISAMBIGUATION = "disambiguation"
8+
CLARIFICATION = "clarification"
9+
10+
11+
class ClarificationRequest(BaseModel):
12+
type: Literal[RequestType.CLARIFICATION]
13+
question: str
14+
other_user_choices: list[str]
15+
16+
17+
class DismabiguationRequest(BaseModel):
18+
type: Literal[RequestType.DISAMBIGUATION]
19+
question: str
20+
matching_columns: list[str]
21+
matching_filter_values: list[str]
22+
other_user_choices: list[str]
23+
24+
25+
class UserInformationRequest(RootModel):
26+
root: DismabiguationRequest = Field(..., discriminator="type")

0 commit comments

Comments
 (0)