Entropic 2.3.8
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
56 const char* messages_json,
57 const char* params_json,
58 void (*on_token)(const char* token, size_t len, void* user_data),
59 void* token_user_data,
60 int* cancel,
61 void* user_data);
62
72typedef int (*entropic_route_fn)(
73 const char* messages_json,
74 char** result_json,
75 void* user_data);
76
87typedef int (*entropic_complete_fn)(
88 const char* prompt,
89 const char* params_json,
90 char** result_json,
91 void* user_data);
92
104 const char* raw_content,
105 char** cleaned_content,
106 char** tool_calls_json,
107 void* user_data);
108
119 const char* content,
120 const char* tool_calls_json,
121 void* user_data);
122
129typedef void (*entropic_inference_free_fn)(void* ptr);
130
146 const char* tier,
147 char** result,
148 void* user_data);
149
150#ifdef __cplusplus
151}
152#endif
153
154#ifdef __cplusplus
155
156namespace entropic {
157
167struct InferenceInterface {
168 entropic_generate_fn generate = nullptr;
169 entropic_generate_streaming_fn generate_stream = nullptr;
170 entropic_complete_fn complete = nullptr;
171 entropic_route_fn route = nullptr;
172 entropic_parse_tool_calls_fn parse_tool_calls = nullptr;
173 entropic_is_response_complete_fn is_response_complete = nullptr;
174 entropic_inference_free_fn free_fn = nullptr;
175 entropic_get_tool_prompt_fn get_tool_prompt = nullptr;
176 void* backend_data = nullptr;
177 void* orchestrator_data = nullptr;
178 void* adapter_data = nullptr;
179 void* tool_prompt_data = nullptr;
180};
181
182} // namespace entropic
183
184#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_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).