Entropic 2.9.5
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
146 const char* messages_json,
147 const char* params_json,
148 char** result_json,
149 int* cancel_flag);
150
172 const char* messages_json,
173 const char* params_json,
174 void (*on_token)(const char* token, size_t len, void* user_data),
175 void* user_data,
176 int* cancel_flag);
177
194 const char* prompt,
195 const char* params_json,
196 char** result_json);
197
198/* ── Utility ───────────────────────────────────────────── */
199
215 const char* text,
216 size_t text_len);
217
225
233void entropic_inference_free(void* ptr);
234
235/* ── Capability + state queries (v1.9.13) ─────────────────── */
236
246 int capability);
247
256
266
281 int seq_id,
282 void** buffer,
283 size_t* buffer_size);
284
298 int seq_id,
299 const void* buffer,
300 size_t buffer_size);
301
311 int seq_id);
312
326 int seq_id,
327 const char* messages_json,
328 const char* params_json,
329 char** result_json);
330
346 int seq_id,
347 const char* messages_json,
348 const char* params_json,
349 void (*on_token)(const char* token, size_t len, void* user_data),
350 void* user_data,
351 int* cancel_flag);
352
353/* ── Inference log control (v2.0.1) ──────────────────── */
354
364void entropic_inference_log_to_file(const char* path);
365
371
372#ifdef __cplusplus
373}
374#endif
375
376/*
377 * Plugin export requirements:
378 *
379 * extern "C" ENTROPIC_EXPORT int entropic_plugin_api_version();
380 * extern "C" ENTROPIC_EXPORT entropic_inference_backend_t
381 * entropic_create_inference_backend();
382 */
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_generate_with_cancel(entropic_inference_backend_t backend, const char *messages_json, const char *params_json, char **result_json, int *cancel_flag)
Generate a response (batch mode) with mid-decode cancellation.
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.