Skip to main content

vllm_cpp_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3pub 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}