Crate xai_openapi

Crate xai_openapi 

Source
Expand description

Rust types for the xAI API.

This crate provides type definitions for interacting with the xAI API, including support for Grok models via chat completions, embeddings, image generation, and more.

§Overview

The types in this crate are organized by API endpoint:

  • chat - Chat completions API (/v1/chat/completions)
  • responses - Responses API (/v1/responses)
  • embeddings - Embeddings API (/v1/embeddings)
  • images - Image generation API (/v1/images/generations)
  • models - Models API (/v1/models, /v1/language-models, etc.)
  • messages - Anthropic-compatible messages API (/v1/messages)
  • search - Document search API (/v1/documents/search)
  • tokenize - Tokenization API (/v1/tokenize-text)

§Features

  • std (default) - Enable std library support. Uses std::collections::HashMap.
  • When std is disabled (no_std), uses hashbrown::HashMap and requires alloc.

§Example

use xai_openapi::chat::{ChatRequest, Message};

let request = ChatRequest {
    model: Some("grok-3".to_string()),
    messages: vec![Message::User {
        content: "Hello!".into(),
        name: None,
    }],
    ..Default::default()
};

Re-exports§

pub use chat::ChatRequest;
pub use chat::ChatResponse;
pub use chat::Message;
pub use common::Content;
pub use common::ImageUrl;
pub use common::StreamOptions;
pub use embeddings::EmbeddingRequest;
pub use embeddings::EmbeddingResponse;
pub use images::GenerateImageRequest;
pub use images::GeneratedImageResponse;
pub use messages::MessageRequest;
pub use messages::MessageResponse;
pub use models::LanguageModel;
pub use models::ListModelsResponse;
pub use models::Model;
pub use responses::ModelRequest;
pub use responses::ModelResponse;
pub use tools::FunctionDefinition;
pub use tools::Tool;
pub use tools::ToolCall;
pub use tools::ToolChoice;
pub use usage::Usage;

Modules§

chat
Chat completions API types for /v1/chat/completions endpoint.
common
Common types shared across multiple xAI API endpoints.
embeddings
Embedding API types for /v1/embeddings endpoint.
images
Image generation API types for /v1/images/generations and /v1/images/edits endpoints.
messages
Anthropic-compatible messages API types for /v1/messages endpoint.
models
Model information types for /v1/models and related endpoints.
responses
Responses API types for /v1/responses endpoint.
search
Document search API types for /v1/documents/search endpoint.
tokenize
Tokenization API types for /v1/tokenize-text endpoint.
tools
Tool and function call types for xAI API.
usage
Token usage tracking types for xAI API responses.

Structs§

HashMap
A hash map implemented with quadratic probing and SIMD lookup.