Entropic 2.9.4
Local-first agentic inference engine
Loading...
Searching...
No Matches
i_inference_callbacks.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
19#pragma once
20
21#include <stddef.h>
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
37typedef int (*entropic_generate_fn)(
38 const char* messages_json,
39 const char* params_json,
40 char** result_json,
41 void* user_data);
42
63 const char* messages_json,
64 const char* params_json,
65 char** result_json,
66 int* cancel,
67 void* user_data);
68
82 const char* messages_json,
83 const char* params_json,
84 void (*on_token)(const char* token, size_t len, void* user_data),
85 void* token_user_data,
86 int* cancel,
87 void* user_data);
88
98typedef int (*entropic_route_fn)(
99 const char* messages_json,
100 char** result_json,
101 void* user_data);
102
113typedef int (*entropic_complete_fn)(
114 const char* prompt,
115 const char* params_json,
116 char** result_json,
117 void* user_data);
118
130 const char* raw_content,
131 char** cleaned_content,
132 char** tool_calls_json,
133 void* user_data);
134
145 const char* content,
146 const char* tool_calls_json,
147 void* user_data);
148
155typedef void (*entropic_inference_free_fn)(void* ptr);
156
172 const char* tier,
173 char** result,
174 void* user_data);
175
176#ifdef __cplusplus
177}
178#endif
179
180#ifdef __cplusplus
181
182namespace entropic {
183
193struct InferenceInterface {
194 entropic_generate_fn generate = nullptr;
195 entropic_generate_with_cancel_fn generate_cancellable = nullptr;
196 entropic_generate_streaming_fn generate_stream = nullptr;
197 entropic_complete_fn complete = nullptr;
198 entropic_route_fn route = nullptr;
199 entropic_parse_tool_calls_fn parse_tool_calls = nullptr;
200 entropic_is_response_complete_fn is_response_complete = nullptr;
201 entropic_inference_free_fn free_fn = nullptr;
202 entropic_get_tool_prompt_fn get_tool_prompt = nullptr;
203 void* backend_data = nullptr;
204 void* orchestrator_data = nullptr;
205 void* adapter_data = nullptr;
206 void* tool_prompt_data = nullptr;
207};
208
209} // namespace entropic
210
211#endif
int(* entropic_route_fn)(const char *messages_json, char **result_json, void *user_data)
Route messages to determine tier.
int(* entropic_is_response_complete_fn)(const char *content, const char *tool_calls_json, void *user_data)
Check if a response is complete (no pending work).
int(* entropic_generate_with_cancel_fn)(const char *messages_json, const char *params_json, char **result_json, int *cancel, void *user_data)
Generate a response with cancellation support.
int(* entropic_generate_fn)(const char *messages_json, const char *params_json, char **result_json, void *user_data)
Generate a response (batch mode).
int(* entropic_complete_fn)(const char *prompt, const char *params_json, char **result_json, void *user_data)
Raw text completion without chat template.
int(* entropic_generate_streaming_fn)(const char *messages_json, const char *params_json, void(*on_token)(const char *token, size_t len, void *user_data), void *token_user_data, int *cancel, void *user_data)
Generate a response with streaming.
int(* entropic_get_tool_prompt_fn)(const char *tier, char **result, void *user_data)
Get formatted tool prompt for a tier.
void(* entropic_inference_free_fn)(void *ptr)
Free a string allocated by the inference layer.
int(* entropic_parse_tool_calls_fn)(const char *raw_content, char **cleaned_content, char **tool_calls_json, void *user_data)
Parse tool calls from raw model output.
Activate model on GPU (WARM → ACTIVE).