Skip to main content

rig_core/completion/
mod.rs

1//! Provider-agnostic completion and chat abstractions.
2//!
3//! This module contains the low-level request and response types used by provider
4//! implementations. [`CompletionModel`] is the provider-facing trait implemented
5//! by completion models; runtimes build orchestration on top of this boundary.
6//!
7//! `CompletionRequest` is Rig's canonical request representation. Provider modules
8//! translate it into provider-specific request bodies and convert responses back into
9//! [`CompletionResponse`].
10//!
11//! # Example
12//!
13//! ```no_run
14//! use rig_core::{
15//!     client::{CompletionClient, ProviderClient},
16//!     completion::CompletionModel,
17//!     providers::openai,
18//! };
19//!
20//! # async fn run() -> Result<(), Box<dyn std::error::Error>> {
21//! let client = openai::Client::from_env()?;
22//! let model = client.completion_model(openai::GPT_5_2);
23//! let request = model.completion_request("What is Rig?").build();
24//! let response = model.completion(request).await?;
25//! println!("{:?}", response.choice);
26//! # Ok(())
27//! # }
28//! ```
29
30pub mod message;
31pub mod request;
32
33pub use message::{AssistantContent, Message, MessageError};
34pub use request::*;