Struct Annotated LlmResponse

View as Markdown

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