Skip to main content

Module completion

Module completion 

Source
Expand description

Provider-agnostic completion requests and responses. A provider’s wire translates CompletionRequest into its own request and normalizes the reply as CompletionResponse; a Model sends it.

use rig_core::{Model, completion::CompletionRequest, providers::openai::OpenAI};

let model = OpenAI::from_env()?.with_http(http).completion("gpt-4o");
let request = CompletionRequest::new("What is Rig?");
let response = model.call(request).await?;
println!("{:?}", response.choice);

Re-exports§

pub use cache_cost::CacheCost;
pub use cache_cost::CacheRates;
pub use handle::ModelRef;
pub use history::Accepts;
pub use history::LaterSystem;
pub use history::Media;
pub use history::Pairing;
pub use history::Place;
pub use history::Replay;
pub use history::ReplayTarget;
pub use history::adapt;
pub use message::AssistantContent;
pub use message::AssistantMessage;
pub use message::Message;
pub use message::MessageError;
pub use options::CacheRetention;
pub use options::Effort;
pub use options::GenerationOptions;
pub use options::OnUnsupported;
pub use options::Reasoning;
pub use options::ServiceTier;
pub use options::UnsupportedOption;
pub use options::Verbosity;
pub use provider_options::ExtensionOptions;
pub use provider_options::OptionsError;
pub use provider_options::ProviderExtension;
pub use provider_options::ProviderOptions;
pub use provider_options::ReplyExtras;
pub use provider_options::SHARED;
pub use request::*;

Modules§

cache_cost
What prompt caching cost and saved, priced the same way on every provider.
handle
Serializable model labels resolved to live handles by a runtime.
history
Shaping a conversation for the model it is sent to. adapt is the one place history meets its target: a turn the same model produced keeps its provider items, any other turn replays from its canonical fields, failed turns are skipped, and every tool call gets an answer.
message
options
Portable generation options: provider-neutral knobs a request sets once and every completion wire maps to its own JSON, or refuses. They hold only what CompletionRequest has no field for, so temperature, max_tokens, tool_choice and output_schema stay on the request.
provider_options
Typed per-provider request options and reply extras. A provider’s ProviderExtension marker names its key, its serialize-only Options and its Extras view of a reply. ProviderOptions holds entries for several providers at once, and each wire reads only the entry named by its own provider.
request
Completion requests, normalized responses, and provider model contracts.