Skip to content

Commit e5ec8c6

Browse files
committed
LCORE-3229: Updated models docs
1 parent b6c0b73 commit e5ec8c6

7 files changed

Lines changed: 1597 additions & 1546 deletions

File tree

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ doc: generate-documentation ## Generate or regenerated content of the whole /doc
212212
devel-doc: ## Generate documentation for developers
213213
scripts/gen_doc.py
214214

215-
docs/models: docs/models/requests.puml docs/models/responses.puml docs/models/database.puml docs/models/common.puml ## Generate documentation about models
215+
docs/models: docs/models/requests.puml docs/models/responses.puml docs/models/database.puml docs/models/common.puml docs/models/requests.svg docs/models/responses.svg docs/models/database.svg docs/models/common.svg ## Generate documentation about models
216216
rm -f docs/models/packages.puml
217217

218218
docs/models/requests.puml: ## Generate PlantUML class diagram for requests data models

docs/models/common.puml

Lines changed: 87 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,24 @@ class "AgentTurnAccumulator" as src.models.common.agents.turn_accumulator.AgentT
1010
seen_docs : set[tuple[str, str]]
1111
text_parts : list[str]
1212
tool_round : int
13-
turn_summary : TurnSummary
13+
turn_summary
1414
vector_store_ids : Final[list[str]]
1515
increment_round_if_pending() -> None
1616
}
1717
class "Attachment" as src.models.common.query.Attachment {
18-
attachment_type : Optional[str]
19-
content : Optional[str]
20-
content_type : Optional[str]
18+
attachment_type : str
19+
content : str
20+
content_type : str
2121
model_config : dict
22+
validate_image_attachment() -> Self
2223
}
2324
class "ConversationData" as src.models.common.conversation.ConversationData {
2425
conversation_id : str
2526
last_message_timestamp : float
2627
topic_summary : Optional[str]
2728
}
2829
class "ConversationDetails" as src.models.common.conversation.ConversationDetails {
29-
conversation_id : Optional[str]
30+
conversation_id : str
3031
created_at : Optional[str]
3132
last_message_at : Optional[str]
3233
last_used_model : Optional[str]
@@ -35,13 +36,13 @@ class "ConversationDetails" as src.models.common.conversation.ConversationDetail
3536
topic_summary : Optional[str]
3637
}
3738
class "ConversationTurn" as src.models.common.conversation.ConversationTurn {
38-
completed_at : Optional[str]
39-
messages : Optional[list[Message]]
40-
model : Optional[str]
41-
provider : Optional[str]
42-
started_at : Optional[str]
43-
tool_calls : Optional[list[ToolCallSummary]]
44-
tool_results : Optional[list[ToolResultSummary]]
39+
completed_at : str
40+
messages : list[Message]
41+
model : str
42+
provider : str
43+
started_at : str
44+
tool_calls : list[ToolCallSummary]
45+
tool_results : list[ToolResultSummary]
4546
}
4647
class "EndEventData" as src.models.common.agents.stream_payloads.EndEventData {
4748
input_tokens : int
@@ -86,39 +87,39 @@ class "InterruptedStreamPayload" as src.models.common.agents.stream_payloads.Int
8687
create() -> Self
8788
}
8889
class "MCPListToolsSummary" as src.models.common.turn_summary.MCPListToolsSummary {
89-
server_label : Optional[str]
90-
tools : Optional[list[ToolInfoSummary]]
90+
server_label : str
91+
tools : list[ToolInfoSummary]
9192
}
9293
class "MCPServerAuthInfo" as src.models.common.mcp.MCPServerAuthInfo {
93-
client_auth_headers : Optional[list[str]]
94-
name : Optional[str]
94+
client_auth_headers : list[str]
95+
name : str
9596
}
9697
class "MCPServerInfo" as src.models.common.mcp.MCPServerInfo {
97-
name : Optional[str]
98-
provider_id : Optional[str]
99-
source : Optional[str]
100-
url : Optional[str]
98+
name : str
99+
provider_id : str
100+
source : str
101+
url : str
101102
}
102103
class "Message" as src.models.common.conversation.Message {
103-
content : Optional[str]
104+
content : str
104105
referenced_documents : Optional[list[ReferencedDocument]]
105-
type : Optional[Literal['user', 'assistant', 'system', 'developer']]
106+
type : Literal['user', 'assistant', 'system', 'developer']
106107
}
107108
class "ProviderHealthStatus" as src.models.common.health.ProviderHealthStatus {
108109
message : Optional[str]
109-
provider_id : Optional[str]
110-
status : Optional[str]
110+
provider_id : str
111+
status : str
111112
}
112113
class "RAGChunk" as src.models.common.turn_summary.RAGChunk {
113114
attributes : Optional[dict[str, Any]]
114-
content : Optional[str]
115+
content : str
115116
score : Optional[float]
116117
source : Optional[str]
117118
}
118119
class "RAGContext" as src.models.common.turn_summary.RAGContext {
119-
context_text : Optional[str]
120-
rag_chunks : Optional[list[RAGChunk]]
121-
referenced_documents : Optional[list[ReferencedDocument]]
120+
context_text : str
121+
rag_chunks : list[RAGChunk]
122+
referenced_documents : list[ReferencedDocument]
122123
}
123124
class "ReferencedDocument" as src.models.common.turn_summary.ReferencedDocument {
124125
doc_title : Optional[str]
@@ -127,12 +128,12 @@ class "ReferencedDocument" as src.models.common.turn_summary.ReferencedDocument
127128
source : Optional[str]
128129
}
129130
class "ResponseGeneratorContext" as src.models.common.responses.contexts.ResponseGeneratorContext {
130-
client : AsyncLlamaStackClient
131+
client
131132
conversation_id : str
132-
inline_rag_context : RAGContext
133+
inline_rag_context
133134
model_id : str
134135
moderation_result
135-
query_request : QueryRequest
136+
query_request
136137
rag_id_mapping : dict[str, str]
137138
request_id : str
138139
skip_userid_check : bool
@@ -141,24 +142,24 @@ class "ResponseGeneratorContext" as src.models.common.responses.contexts.Respons
141142
vector_store_ids : list[str]
142143
}
143144
class "ResponsesApiParams" as src.models.common.responses.responses_api_params.ResponsesApiParams {
144-
conversation : Optional[str]
145+
conversation : str
145146
extra_headers : Optional[dict[str, str]]
146147
include : Optional[list[IncludeParameter]]
147-
input : Optional[ResponseInput]
148+
input
148149
instructions : Optional[str]
149150
max_infer_iters : Optional[int]
150151
max_output_tokens : Optional[int]
151152
max_tool_calls : Optional[int]
152153
metadata : Optional[dict[str, str]]
153-
model : Optional[str]
154-
omit_conversation : Optional[bool]
154+
model : str
155+
omit_conversation : bool
155156
parallel_tool_calls : Optional[bool]
156157
previous_response_id : Optional[str]
157158
prompt : Optional[Prompt]
158159
reasoning : Optional[Reasoning]
159160
safety_identifier : Optional[str]
160-
store : Optional[bool]
161-
stream : Optional[bool]
161+
store : bool
162+
stream : bool
162163
temperature : Optional[float]
163164
text : Optional[Text]
164165
tool_choice : Optional[ToolChoice]
@@ -167,40 +168,40 @@ class "ResponsesApiParams" as src.models.common.responses.responses_api_params.R
167168
model_dump() -> dict[str, Any]
168169
}
169170
class "ResponsesContext" as src.models.common.responses.contexts.ResponsesContext {
170-
auth : Optional[tuple[str, str, bool, str]]
171+
auth : tuple[str, str, bool, str]
171172
background_tasks : Optional[BackgroundTasks]
172-
client : Optional[AsyncLlamaStackClient]
173+
client
173174
compacted_original_input : Optional[ResponseInput]
174-
endpoint_path : Optional[str]
175-
filter_server_tools : Optional[bool]
176-
generate_topic_summary : Optional[bool]
177-
inline_rag_context : Optional[RAGContext]
178-
input_text : Optional[str]
179-
model_config : ConfigDict
180-
moderation_result : Optional[ShieldModerationResult]
181-
rh_identity_context : Optional[tuple[str, str]]
182-
started_at : Optional[datetime]
175+
endpoint_path : str
176+
filter_server_tools : bool
177+
generate_topic_summary : bool
178+
inline_rag_context
179+
input_text : str
180+
model_config
181+
moderation_result
182+
rh_identity_context : tuple[str, str]
183+
started_at : datetime
183184
user_agent : Optional[str]
184185
}
185186
class "ResponsesConversationContext" as src.models.common.responses.responses_conversation_context.ResponsesConversationContext {
186-
conversation : Optional[str]
187-
generate_topic_summary : Optional[bool]
188-
model_config : ConfigDict
187+
conversation : str
188+
generate_topic_summary : bool
189+
model_config
189190
user_conversation : Optional[UserConversation]
190191
}
191192
class "ShieldModerationBlocked" as src.models.common.moderation.ShieldModerationBlocked {
192193
decision : Literal['blocked']
193194
message : str
194195
moderation_id : str
195-
refusal_response : OpenAIResponseMessage
196+
refusal_response
196197
}
197198
class "ShieldModerationPassed" as src.models.common.moderation.ShieldModerationPassed {
198199
decision : Literal['passed']
199200
}
200201
class "SolrVectorSearchRequest" as src.models.common.query.SolrVectorSearchRequest {
201202
filters : Optional[dict[str, Any]]
202203
mode : Optional[Literal['semantic', 'hybrid', 'lexical']]
203-
model_config : ConfigDict
204+
model_config
204205
coerce_legacy_plain_dict(data: Any) -> Any
205206
}
206207
class "StartEventData" as src.models.common.agents.stream_payloads.StartEventData {
@@ -213,7 +214,7 @@ class "StartStreamPayload" as src.models.common.agents.stream_payloads.StartStre
213214
create() -> Self
214215
}
215216
class "StreamPayloadBase" as src.models.common.agents.stream_payloads.StreamPayloadBase {
216-
model_config : ConfigDict
217+
model_config
217218
serialize_json() -> str
218219
serialize_text() -> str
219220
}
@@ -228,42 +229,42 @@ class "TokenStreamPayload" as src.models.common.agents.stream_payloads.TokenStre
228229
serialize_text() -> str
229230
}
230231
class "ToolCallStreamPayload" as src.models.common.agents.stream_payloads.ToolCallStreamPayload {
231-
data : ToolCallSummary
232+
data
232233
event : Literal['tool_call']
233234
serialize_text() -> str
234235
}
235236
class "ToolCallSummary" as src.models.common.turn_summary.ToolCallSummary {
236-
args : Optional[dict[str, Any]]
237-
id : Optional[str]
238-
name : Optional[str]
239-
type : Optional[str]
237+
args : dict[str, Any]
238+
id : str
239+
name : str
240+
type : str
240241
}
241242
class "ToolInfoSummary" as src.models.common.turn_summary.ToolInfoSummary {
242243
description : Optional[str]
243244
input_schema : Optional[dict[str, Any]]
244-
name : Optional[str]
245+
name : str
245246
}
246247
class "ToolResultStreamPayload" as src.models.common.agents.stream_payloads.ToolResultStreamPayload {
247-
data : ToolResultSummary
248+
data
248249
event : Literal['tool_result']
249250
serialize_text() -> str
250251
}
251252
class "ToolResultSummary" as src.models.common.turn_summary.ToolResultSummary {
252-
content : Optional[str]
253-
id : Optional[str]
254-
round : Optional[int]
255-
status : Optional[str]
256-
type : Optional[str]
253+
content : str
254+
id : str
255+
round : int
256+
status : str
257+
type : str
257258
}
258259
class "Transcript" as src.models.common.transcripts.Transcript {
259-
attachments : Optional[list[dict[str, Any]]]
260+
attachments : list[dict[str, Any]]
260261
llm_response : str
261262
metadata
262263
query_is_valid : bool
263-
rag_chunks : Optional[list[dict[str, Any]]]
264+
rag_chunks : list[dict[str, Any]]
264265
redacted_query : str
265-
tool_calls : Optional[list[dict[str, Any]]]
266-
tool_results : Optional[list[dict[str, Any]]]
266+
tool_calls : list[dict[str, Any]]
267+
tool_results : list[dict[str, Any]]
267268
truncated : bool
268269
}
269270
class "TranscriptMetadata" as src.models.common.transcripts.TranscriptMetadata {
@@ -281,16 +282,16 @@ class "TurnCompleteStreamPayload" as src.models.common.agents.stream_payloads.Tu
281282
create() -> Self
282283
}
283284
class "TurnSummary" as src.models.common.turn_summary.TurnSummary {
284-
id : Optional[str]
285+
id : str
285286
llm_response : str
286-
next_chunk_id : Optional[int]
287-
output_items : Optional[list[OpenAIResponseOutput]]
288-
partial_tokens : Optional[list[str]]
289-
rag_chunks : Optional[list[RAGChunk]]
290-
referenced_documents : Optional[list[ReferencedDocument]]
291-
token_usage : Optional[TokenCounter]
292-
tool_calls : Optional[list[ToolCallSummary]]
293-
tool_results : Optional[list[ToolResultSummary]]
287+
next_chunk_id : int
288+
output_items : list[OpenAIResponseOutput]
289+
partial_tokens : list[str]
290+
rag_chunks : list[RAGChunk]
291+
referenced_documents : list[ReferencedDocument]
292+
token_usage
293+
tool_calls : list[ToolCallSummary]
294+
tool_results : list[ToolResultSummary]
294295
}
295296
src.models.common.agents.stream_payloads.EndStreamPayload --|> src.models.common.agents.stream_payloads.StreamPayloadBase
296297
src.models.common.agents.stream_payloads.ErrorStreamPayload --|> src.models.common.agents.stream_payloads.StreamPayloadBase
@@ -300,11 +301,11 @@ src.models.common.agents.stream_payloads.TokenStreamPayload --|> src.models.comm
300301
src.models.common.agents.stream_payloads.ToolCallStreamPayload --|> src.models.common.agents.stream_payloads.StreamPayloadBase
301302
src.models.common.agents.stream_payloads.ToolResultStreamPayload --|> src.models.common.agents.stream_payloads.StreamPayloadBase
302303
src.models.common.agents.stream_payloads.TurnCompleteStreamPayload --|> src.models.common.agents.stream_payloads.StreamPayloadBase
303-
src.models.common.agents.stream_payloads.EndStreamPayload --> src.models.common.agents.stream_payloads.EndEventData : data
304-
src.models.common.agents.stream_payloads.ErrorStreamPayload --> src.models.common.agents.stream_payloads.ErrorEventData : data
305-
src.models.common.agents.stream_payloads.InterruptedStreamPayload --> src.models.common.agents.stream_payloads.InterruptedEventData : data
306-
src.models.common.agents.stream_payloads.StartStreamPayload --> src.models.common.agents.stream_payloads.StartEventData : data
307-
src.models.common.agents.stream_payloads.TokenStreamPayload --> src.models.common.agents.stream_payloads.TokenChunkData : data
308-
src.models.common.agents.stream_payloads.TurnCompleteStreamPayload --> src.models.common.agents.stream_payloads.TokenChunkData : data
309-
src.models.common.transcripts.Transcript --> src.models.common.transcripts.TranscriptMetadata : metadata
304+
src.models.common.agents.stream_payloads.EndEventData --* src.models.common.agents.stream_payloads.EndStreamPayload : data
305+
src.models.common.agents.stream_payloads.ErrorEventData --* src.models.common.agents.stream_payloads.ErrorStreamPayload : data
306+
src.models.common.agents.stream_payloads.InterruptedEventData --* src.models.common.agents.stream_payloads.InterruptedStreamPayload : data
307+
src.models.common.agents.stream_payloads.StartEventData --* src.models.common.agents.stream_payloads.StartStreamPayload : data
308+
src.models.common.agents.stream_payloads.TokenChunkData --* src.models.common.agents.stream_payloads.TokenStreamPayload : data
309+
src.models.common.agents.stream_payloads.TokenChunkData --* src.models.common.agents.stream_payloads.TurnCompleteStreamPayload : data
310+
src.models.common.transcripts.TranscriptMetadata --* src.models.common.transcripts.Transcript : metadata
310311
@enduml

0 commit comments

Comments
 (0)