-
Notifications
You must be signed in to change notification settings - Fork 421
/
Copy pathbedrock_agent.py
38 lines (27 loc) · 1.21 KB
/
bedrock_agent.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from typing import Dict, List, Optional
from pydantic import BaseModel, Field
class BedrockAgentModel(BaseModel):
name: str
id_: str = Field(..., alias="id")
alias: str
version: str
class BedrockAgentPropertyModel(BaseModel):
name: str
type_: str = Field(..., alias="type")
value: str
class BedrockAgentRequestMediaModel(BaseModel):
properties: List[BedrockAgentPropertyModel]
class BedrockAgentRequestBodyModel(BaseModel):
content: Dict[str, BedrockAgentRequestMediaModel]
class BedrockAgentEventModel(BaseModel):
message_version: str = Field(..., alias="messageVersion")
input_text: str = Field(..., alias="inputText")
session_id: str = Field(..., alias="sessionId")
action_group: str = Field(..., alias="actionGroup")
api_path: str = Field(..., alias="apiPath")
http_method: str = Field(..., alias="httpMethod")
session_attributes: Dict[str, str] = Field({}, alias="sessionAttributes")
prompt_session_attributes: Dict[str, str] = Field({}, alias="promptSessionAttributes")
agent: BedrockAgentModel
parameters: Optional[List[BedrockAgentPropertyModel]] = None
request_body: Optional[BedrockAgentRequestBodyModel] = Field(None, alias="requestBody")