1pub const VLLM_ABI_VERSION: u32 = 10;
4pub const vllm_status_VLLM_OK: vllm_status = 0;
5pub const vllm_status_VLLM_ERR_INVALID_ARGUMENT: vllm_status = 1;
6pub const vllm_status_VLLM_ERR_MODEL_LOAD: vllm_status = 2;
7pub const vllm_status_VLLM_ERR_RUNTIME: vllm_status = 3;
8pub const vllm_status_VLLM_ERR_UNKNOWN: vllm_status = 4;
9pub type vllm_status = ::std::os::raw::c_uint;
10#[repr(C)]
11#[derive(Debug, Copy, Clone)]
12pub struct vllm_engine {
13 _unused: [u8; 0],
14}
15#[repr(C)]
16#[derive(Debug, Copy, Clone)]
17pub struct vllm_request {
18 _unused: [u8; 0],
19}
20#[repr(C)]
21#[derive(Debug, Copy, Clone)]
22pub struct vllm_model_params {
23 pub model_path: *const ::std::os::raw::c_char,
24 pub tokenizer_config_path: *const ::std::os::raw::c_char,
25 pub block_size: i32,
26 pub num_blocks: i32,
27 pub max_model_len: i32,
28 pub max_num_seqs: i32,
29 pub tool_parser: *const ::std::os::raw::c_char,
30 pub reasoning_parser: *const ::std::os::raw::c_char,
31 pub speculative_config: *const ::std::os::raw::c_char,
32 pub enable_prefix_caching: i32,
33 pub max_num_batched_tokens: i32,
34 pub scheduling_policy: *const ::std::os::raw::c_char,
35 pub kv_transfer_config: *const ::std::os::raw::c_char,
36 pub enable_jump_forward: i32,
37}
38pub type vllm_logits_processor = ::std::option::Option<
39 unsafe extern "C" fn(
40 token_ids: *const i32,
41 n_token_ids: i32,
42 logits: *mut f32,
43 vocab_size: i32,
44 user_data: *mut ::std::os::raw::c_void,
45 ),
46>;
47#[repr(C)]
48#[derive(Debug, Copy, Clone)]
49pub struct vllm_sampling_params {
50 pub temperature: f32,
51 pub top_p: f32,
52 pub top_k: i32,
53 pub min_p: f32,
54 pub max_tokens: i32,
55 pub seed: u64,
56 pub has_seed: i32,
57 pub presence_penalty: f32,
58 pub frequency_penalty: f32,
59 pub repetition_penalty: f32,
60 pub min_tokens: i32,
61 pub ignore_eos: i32,
62 pub stop: *const *const ::std::os::raw::c_char,
63 pub n_stop: i32,
64 pub structured_json: *const ::std::os::raw::c_char,
65 pub structured_regex: *const ::std::os::raw::c_char,
66 pub structured_choice: *const *const ::std::os::raw::c_char,
67 pub n_structured_choice: i32,
68 pub structured_grammar: *const ::std::os::raw::c_char,
69 pub structured_json_object: i32,
70 pub logits_processor: vllm_logits_processor,
71 pub logits_processor_user_data: *mut ::std::os::raw::c_void,
72}
73#[repr(C)]
74#[derive(Debug, Copy, Clone)]
75pub struct vllm_completion {
76 pub text: *mut ::std::os::raw::c_char,
77 pub finish_reason: *const ::std::os::raw::c_char,
78 pub prompt_tokens: i32,
79 pub completion_tokens: i32,
80}
81unsafe extern "C" {
82 pub fn vllm_model_params_default() -> vllm_model_params;
83}
84unsafe extern "C" {
85 pub fn vllm_sampling_params_default() -> vllm_sampling_params;
86}
87unsafe extern "C" {
88 pub fn vllm_engine_load(
89 params: *const vllm_model_params,
90 out: *mut *mut vllm_engine,
91 ) -> vllm_status;
92}
93unsafe extern "C" {
94 pub fn vllm_engine_free(engine: *mut vllm_engine);
95}
96unsafe extern "C" {
97 pub fn vllm_complete(
98 engine: *mut vllm_engine,
99 prompt: *const ::std::os::raw::c_char,
100 params: *const vllm_sampling_params,
101 out: *mut vllm_completion,
102 ) -> vllm_status;
103}
104pub type vllm_token_callback = ::std::option::Option<
105 unsafe extern "C" fn(
106 delta_text: *const ::std::os::raw::c_char,
107 finished: bool,
108 user_data: *mut ::std::os::raw::c_void,
109 ) -> bool,
110>;
111unsafe extern "C" {
112 pub fn vllm_complete_stream(
113 engine: *mut vllm_engine,
114 prompt: *const ::std::os::raw::c_char,
115 params: *const vllm_sampling_params,
116 cb: vllm_token_callback,
117 user_data: *mut ::std::os::raw::c_void,
118 ) -> vllm_status;
119}
120unsafe extern "C" {
121 pub fn vllm_request_submit(
122 engine: *mut vllm_engine,
123 prompt: *const ::std::os::raw::c_char,
124 params: *const vllm_sampling_params,
125 cb: vllm_token_callback,
126 user_data: *mut ::std::os::raw::c_void,
127 out: *mut *mut vllm_request,
128 ) -> vllm_status;
129}
130unsafe extern "C" {
131 pub fn vllm_request_cancel(request: *mut vllm_request) -> vllm_status;
132}
133unsafe extern "C" {
134 pub fn vllm_request_wait(request: *mut vllm_request) -> vllm_status;
135}
136unsafe extern "C" {
137 pub fn vllm_request_done(request: *const vllm_request) -> bool;
138}
139unsafe extern "C" {
140 pub fn vllm_request_error(request: *const vllm_request) -> *const ::std::os::raw::c_char;
141}
142unsafe extern "C" {
143 pub fn vllm_request_free(request: *mut vllm_request);
144}
145unsafe extern "C" {
146 pub fn vllm_chat(
147 engine: *mut vllm_engine,
148 request_json: *const ::std::os::raw::c_char,
149 out_response_json: *mut *mut ::std::os::raw::c_char,
150 ) -> vllm_status;
151}
152unsafe extern "C" {
153 pub fn vllm_chat_stream(
154 engine: *mut vllm_engine,
155 request_json: *const ::std::os::raw::c_char,
156 cb: vllm_token_callback,
157 user_data: *mut ::std::os::raw::c_void,
158 ) -> vllm_status;
159}
160unsafe extern "C" {
161 pub fn vllm_string_free(s: *mut ::std::os::raw::c_char);
162}
163unsafe extern "C" {
164 pub fn vllm_completion_free(out: *mut vllm_completion);
165}
166unsafe extern "C" {
167 pub fn vllm_last_error() -> *const ::std::os::raw::c_char;
168}
169unsafe extern "C" {
170 pub fn vllm_version() -> *const ::std::os::raw::c_char;
171}
172unsafe extern "C" {
173 pub fn vllm_abi_version() -> i32;
174}