← Back to C-Kernel-Engine Docs Doxygen Source Documentation
 
Loading...
Searching...
No Matches
ck_session_v8.h
Go to the documentation of this file.
1#ifndef CK_SESSION_V8_H
2#define CK_SESSION_V8_H
3
4#include <stddef.h>
5#include <stdint.h>
6
7#include "ck_model_abi_v8.h"
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#define CK_SESSION_ABI_V8_VERSION UINT32_C(1)
14
15typedef struct CKSessionV8 CKSessionV8;
16
28
37
42 /* Requests reset generated recurrent/KV state by default. Set this only
43 * when the caller deliberately continues the preceding request. */
44 CK_SESSION_REQUEST_CONTINUE_STATE = UINT32_C(1) << 3
45};
46
47typedef struct CKSessionConfigV8 {
48 uint32_t struct_size;
49 uint32_t abi_version;
50 const char *model_library_path;
51 const char *weights_path;
52 const char *manifest_path;
54 int32_t num_threads;
56 uint64_t reserved[8];
58
60 uint32_t struct_size;
61 uint32_t abi_version;
62 const char *system_text;
63 const char *user_text;
64 int32_t max_tokens;
65 /* Sampling is a host policy applied after the generated model's mandatory
66 * generation policy (for example Whisper timestamp masking). */
68 float top_p;
69 uint32_t flags;
70 uint32_t reserved0;
71 uint64_t reserved[8];
73
85
86/* Return zero to continue generation. A non-zero result requests a clean stop. */
88 void *user_data,
89 int32_t token_id,
90 const char *utf8_text,
91 size_t utf8_length,
92 int32_t sequence_index);
93
95
98 CKSessionV8 **session_out);
99
101
103 const CKSessionV8 *session,
104 CKModelRuntimeDescriptorV8 *descriptor,
105 size_t descriptor_size);
106
107/* Size-query convention: pass output=NULL/capacity=0 to receive the required
108 * element or byte count. The returned count excludes a text NUL terminator. */
110 CKSessionV8 *session,
111 const char *text,
112 int32_t *output,
113 int32_t capacity);
114
116 CKSessionV8 *session,
117 const int32_t *tokens,
118 int32_t token_count,
119 char *output,
120 int32_t capacity);
121
123 CKSessionV8 *session,
124 const char *system_text,
125 const char *user_text,
126 char *output,
127 int32_t capacity);
128
130 CKSessionV8 *session,
131 const CKSessionGenerateRequestV8 *request,
133 void *user_data,
135
138const char *ck_session_v8_last_error(const CKSessionV8 *session);
139
140#ifdef __cplusplus
141}
142#endif
143
144#endif
const char * ck_session_v8_last_error(const CKSessionV8 *session)
int ck_session_v8_open(const CKSessionConfigV8 *config, CKSessionV8 **session_out)
void ck_session_v8_close(CKSessionV8 *session)
int(* ck_session_token_callback_v8)(void *user_data, int32_t token_id, const char *utf8_text, size_t utf8_length, int32_t sequence_index)
int ck_session_v8_decode(CKSessionV8 *session, const int32_t *tokens, int32_t token_count, char *output, int32_t capacity)
struct CKSessionV8 CKSessionV8
int ck_session_v8_get_model_descriptor(const CKSessionV8 *session, CKModelRuntimeDescriptorV8 *descriptor, size_t descriptor_size)
void ck_session_v8_cancel(CKSessionV8 *session)
int ck_session_v8_format_chat(CKSessionV8 *session, const char *system_text, const char *user_text, char *output, int32_t capacity)
CKSessionStatusV8
@ CK_SESSION_V8_ERROR_LOAD
@ CK_SESSION_V8_OK
@ CK_SESSION_V8_ERROR_BUFFER_TOO_SMALL
@ CK_SESSION_V8_ERROR_INIT
@ CK_SESSION_V8_ERROR_CAPABILITY
@ CK_SESSION_V8_ERROR_ABI
@ CK_SESSION_V8_ERROR_RUNTIME
@ CK_SESSION_V8_ERROR_INVALID_ARGUMENT
@ CK_SESSION_V8_ERROR_BUSY
uint32_t ck_session_v8_get_abi_version(void)
int ck_session_v8_reset(CKSessionV8 *session)
int ck_session_v8_generate(CKSessionV8 *session, const CKSessionGenerateRequestV8 *request, ck_session_token_callback_v8 callback, void *user_data, CKSessionGenerateResultV8 *result)
CKSessionStopReasonV8
@ CK_SESSION_STOP_CANCELLED
@ CK_SESSION_STOP_RUNTIME_ERROR
@ CK_SESSION_STOP_CALLBACK
@ CK_SESSION_STOP_EOS
@ CK_SESSION_STOP_NONE
@ CK_SESSION_STOP_TOKEN_LIMIT
int ck_session_v8_encode(CKSessionV8 *session, const char *text, int32_t *output, int32_t capacity)
CKSessionRequestFlagsV8
@ CK_SESSION_REQUEST_CONTINUE_STATE
@ CK_SESSION_REQUEST_TIMESTAMPS
@ CK_SESSION_REQUEST_RAW_PROMPT
@ CK_SESSION_REQUEST_IGNORE_EOS
const char * weights_path
uint64_t reserved[8]
const char * model_library_path
uint64_t required_capabilities
const char * manifest_path
const char * text
Definition tokenizer.h:564
const CKBPEConfig * config
Definition true_bpe.h:179