Struct Annotated LlmResponse
Generated from cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-ffi.
pub struct AnnotatedLlmResponse {
pub id: Option<String>,
pub model: Option<String>,
pub message: Option<MessageContent>,
pub tool_calls: Option<Vec<ResponseToolCall>>,
pub finish_reason: Option<FinishReason>,
pub usage: Option<Usage>,
pub api_specific: Option<ApiSpecificResponse>,
pub extra: Map<String, Json>,
}
Structured view of an LLM response, produced by a response codec from raw JSON API output.
The extra field captures any top-level keys not modeled by the known fields, ensuring lossless round-trip through serde.
Fields
id: Option<String>
Response ID from the API (e.g., “chatcmpl-abc123”, “resp_abc123”, “msg_abc123”).
model: Option<String>
The model that actually served the request (may differ from requested model).
message: Option<MessageContent>
The assistant’s response content, reusing MessageContent from request types.
tool_calls: Option<Vec<ResponseToolCall>>
Tool calls requested by the model, normalized across APIs.
Uses ResponseToolCall (arguments as Json) NOT the request-side ToolCall (arguments as String).
finish_reason: Option<FinishReason>
Why generation stopped, normalized across APIs.
usage: Option<Usage>
Token usage statistics.
api_specific: Option<ApiSpecificResponse>
API-specific response data that cannot be normalized across providers.
extra: Map<String, Json>
Catch-all for unmodeled top-level fields, ensuring lossless round-trip.
Implementations
impl AnnotatedLlmResponse
impl AnnotatedLlmResponse
response_text
pub fn response_text(&self) -> Option<&str>
Extract the text content of the response message.
For MessageContent::Text, returns the string directly. For MessageContent::Parts, returns the text of the first super::request::ContentPart::Text part. Returns None if message is None.
has_tool_calls
pub fn has_tool_calls(&self) -> bool
Check if the response contains any tool calls.
Returns true if tool_calls is Some with at least one element.
Trait Implementations
impl Clone for AnnotatedLlmResponse
impl Clone for AnnotatedLlmResponse
clone
fn clone(&self) -> AnnotatedLlmResponse
clone_from
fn clone_from(&mut self, source: &Self)
impl Debug for AnnotatedLlmResponse
impl Debug for AnnotatedLlmResponse
fmt
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl<'de> Deserialize<'de> for AnnotatedLlmResponse
impl<'de> Deserialize<'de> for AnnotatedLlmResponse
deserialize
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl PartialEq for AnnotatedLlmResponse
impl PartialEq for AnnotatedLlmResponse
eq
fn eq(&self, other: &AnnotatedLlmResponse) -> bool
ne
fn ne(&self, other: &Rhs) -> bool
impl Serialize for AnnotatedLlmResponse
impl Serialize for AnnotatedLlmResponse
serialize
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where
__S: Serializer,
impl StructuralPartialEq for AnnotatedLlmResponse
impl StructuralPartialEq for AnnotatedLlmResponse