pub struct CompletionRequest {Show 25 fields
pub model: Option<String>,
pub messages: Vec<Message>,
pub tools: Option<Vec<ToolDefinition>>,
pub tool_choice: Option<ToolChoice>,
pub response_format: Option<ResponseFormat>,
pub temperature: Option<f32>,
pub max_tokens: Option<usize>,
pub max_completion_tokens: Option<usize>,
pub top_p: Option<f32>,
pub top_k: Option<u32>,
pub stop: Option<Vec<String>>,
pub frequency_penalty: Option<f32>,
pub presence_penalty: Option<f32>,
pub seed: Option<u64>,
pub reasoning_effort: Option<ReasoningEffort>,
pub logprobs: Option<bool>,
pub logit_bias: Option<HashMap<String, f32>>,
pub stream_include_usage: Option<bool>,
pub parallel_tool_calls: Option<bool>,
pub user: Option<String>,
pub metadata: Option<HashMap<String, Value>>,
pub store: Option<bool>,
pub service_tier: Option<ServiceTier>,
pub thinking: Option<ThinkingConfig>,
pub request_id: String,
}Expand description
统一请求类型 —— 数据平面(发给 LLM 的内容) 所有能力通过 option 字段开启,不需要多个方法
Fields§
§model: Option<String>目标模型。为 None 时由路由层根据 RouteContext 决定。
messages: Vec<Message>§tools: Option<Vec<ToolDefinition>>提供可用工具列表
tool_choice: Option<ToolChoice>控制工具调用行为
response_format: Option<ResponseFormat>要求 LLM 按 JSON Schema 输出
temperature: Option<f32>§max_tokens: Option<usize>§max_completion_tokens: Option<usize>OpenAI o-series 使用 max_completion_tokens 而非 max_tokens
top_p: Option<f32>§top_k: Option<u32>top_k 采样参数(Claude、Gemini 支持)
stop: Option<Vec<String>>§frequency_penalty: Option<f32>§presence_penalty: Option<f32>§seed: Option<u64>随机种子,用于可复现输出(评测、调试场景必需)
reasoning_effort: Option<ReasoningEffort>推理努力程度(OpenAI o-series reasoning_effort / Claude thinking budget)
logprobs: Option<bool>返回 log probabilities(调试、结构化分析场景)
logit_bias: Option<HashMap<String, f32>>token 偏置(调整特定 token 的出现概率)
stream_include_usage: Option<bool>流式模式下是否在末尾返回 usage
parallel_tool_calls: Option<bool>并行工具调用控制(OpenAI parallel_tool_calls)
user: Option<String>终端用户标识(用于监控/滥用检测)
metadata: Option<HashMap<String, Value>>请求级元数据(OpenAI/Anthropic 支持,用于追踪/蒸馏)
store: Option<bool>是否存储请求以供蒸馏/评测(OpenAI store)
service_tier: Option<ServiceTier>服务处理层级(OpenAI/Anthropic)
thinking: Option<ThinkingConfig>思考模式控制(DeepSeek R1 thinking)
request_id: String请求唯一标识(用于 tracing,自动生成)
Implementations§
Trait Implementations§
Source§impl Clone for CompletionRequest
impl Clone for CompletionRequest
Source§fn clone(&self) -> CompletionRequest
fn clone(&self) -> CompletionRequest
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompletionRequest
impl Debug for CompletionRequest
Source§impl Default for CompletionRequest
impl Default for CompletionRequest
Source§impl<'de> Deserialize<'de> for CompletionRequest
impl<'de> Deserialize<'de> for CompletionRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CompletionRequest
impl RefUnwindSafe for CompletionRequest
impl Send for CompletionRequest
impl Sync for CompletionRequest
impl Unpin for CompletionRequest
impl UnsafeUnpin for CompletionRequest
impl UnwindSafe for CompletionRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more