Entropic 2.3.8
Local-first agentic inference engine
Loading...
Searching...
No Matches
i_inference_backend.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
27#pragma once
28
30
31#include <stddef.h>
32#include <stdint.h>
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
42typedef struct entropic_inference_backend* entropic_inference_backend_t;
43
44/* ── Lifecycle ─────────────────────────────────────────── */
45
56 const char* config_json);
57
69
79
89
99
100/* ── Generation ────────────────────────────────────────── */
101
118 const char* messages_json,
119 const char* params_json,
120 char** result_json);
121
143 const char* messages_json,
144 const char* params_json,
145 void (*on_token)(const char* token, size_t len, void* user_data),
146 void* user_data,
147 int* cancel_flag);
148
165 const char* prompt,
166 const char* params_json,
167 char** result_json);
168
169/* ── Utility ───────────────────────────────────────────── */
170
186 const char* text,
187 size_t text_len);
188
196
204void entropic_inference_free(void* ptr);
205
206/* ── Capability + state queries (v1.9.13) ─────────────────── */
207
217 int capability);
218
227
237
252 int seq_id,
253 void** buffer,
254 size_t* buffer_size);
255
269 int seq_id,
270 const void* buffer,
271 size_t buffer_size);
272
282 int seq_id);
283
297 int seq_id,
298 const char* messages_json,
299 const char* params_json,
300 char** result_json);
301
317 int seq_id,
318 const char* messages_json,
319 const char* params_json,
320 void (*on_token)(const char* token, size_t len, void* user_data),
321 void* user_data,
322 int* cancel_flag);
323
324/* ── Inference log control (v2.0.1) ──────────────────── */
325
335void entropic_inference_log_to_file(const char* path);
336
342
343#ifdef __cplusplus
344}
345#endif
346
347/*
348 * Plugin export requirements:
349 *
350 * extern "C" ENTROPIC_EXPORT int entropic_plugin_api_version();
351 * extern "C" ENTROPIC_EXPORT entropic_inference_backend_t
352 * entropic_create_inference_backend();
353 */
Error types for cross-.so error reporting.
entropic_error_t
Error codes returned by all C API functions.
Definition error.h:35
entropic_error_t entropic_inference_generate_streaming_seq(entropic_inference_backend_t backend, int seq_id, const char *messages_json, const char *params_json, void(*on_token)(const char *token, size_t len, void *user_data), void *user_data, int *cancel_flag)
Streaming generation with explicit sequence ID.
struct entropic_inference_backend * entropic_inference_backend_t
Opaque handle to an inference backend instance.
entropic_error_t entropic_inference_unload(entropic_inference_backend_t backend)
Unload model completely (→ COLD).
int entropic_inference_count_tokens(entropic_inference_backend_t backend, const char *text, size_t text_len)
Count tokens in text using model's tokenizer.
entropic_error_t entropic_inference_activate(entropic_inference_backend_t backend)
Activate model on GPU (WARM → ACTIVE).
uint32_t entropic_inference_capabilities(entropic_inference_backend_t backend)
Get all supported capabilities as bitmask.
void entropic_inference_log_silence(void)
Silence all llama/ggml log output.
entropic_error_t entropic_inference_generate_streaming(entropic_inference_backend_t backend, const char *messages_json, const char *params_json, void(*on_token)(const char *token, size_t len, void *user_data), void *user_data, int *cancel_flag)
Generate with streaming token callback.
entropic_error_t entropic_inference_clear_state(entropic_inference_backend_t backend, int seq_id)
Clear/reset model state.
entropic_error_t entropic_inference_generate_seq(entropic_inference_backend_t backend, int seq_id, const char *messages_json, const char *params_json, char **result_json)
Generate with explicit sequence ID.
char * entropic_inference_info(entropic_inference_backend_t backend)
Get backend metadata as JSON.
entropic_error_t entropic_inference_complete(entropic_inference_backend_t backend, const char *prompt, const char *params_json, char **result_json)
Raw text completion without chat template.
entropic_error_t entropic_inference_generate(entropic_inference_backend_t backend, const char *messages_json, const char *params_json, char **result_json)
Generate a response from messages (batch mode).
entropic_error_t entropic_inference_load(entropic_inference_backend_t backend, const char *config_json)
Load a model from config (COLD → WARM).
void entropic_inference_log_to_file(const char *path)
Redirect llama/ggml logs to a file.
void entropic_inference_destroy(entropic_inference_backend_t backend)
Destroy backend instance and free all resources.
void entropic_inference_free(void *ptr)
Free a string allocated by the inference backend.
entropic_error_t entropic_inference_deactivate(entropic_inference_backend_t backend)
Deactivate model (ACTIVE → WARM).
int entropic_inference_state(entropic_inference_backend_t backend)
Query model state (lock-free).
int entropic_inference_supports(entropic_inference_backend_t backend, int capability)
Query backend capability.
entropic_error_t entropic_inference_save_state(entropic_inference_backend_t backend, int seq_id, void **buffer, size_t *buffer_size)
Save model state for a sequence.
entropic_error_t entropic_inference_restore_state(entropic_inference_backend_t backend, int seq_id, const void *buffer, size_t buffer_size)
Restore model state for a sequence.