def recorder_add_llm_request_event(
request_body: BaseRequestBody,
json_schema: dict,
event_id: str
):
llm_request_event = Event(
id=event_id,
object_name=_EVENT_OBJECT_NAME,
callable_name='Request',
type=EventType.REQUEST,
token_usage=request_body.token_usage,
attributes=[
EventAttribute(
key='Model',
value=request_body.model
),
EventAttribute(
key='Temperature',
value=request_body.get_temperature()
),
EventAttribute(
key='Max Context Tokens',
value=request_body.get_total_context_length()
),
EventAttribute(
key='JSON Schema',
value=json.dumps(json_schema, indent=4),
is_dropdown=True,
)
]
)
for message in request_body.messages:
llm_request_event.add_attribute(EventAttribute(
key=message.role,
value=message.content,
is_card=True,
))
Recorder.add_event(llm_request_event)