"vscode:/vscode.git/clone" did not exist on "cdf5c83d406748c717fafabe09c3026a971b2d48"
dyn_ext_server.h 3.16 KB
Newer Older
1
2
#include <stdlib.h>

3
#include "ext_server.h"
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

#ifdef __cplusplus
extern "C" {
#endif
struct dynamic_llama_server {
  void *handle;
  void (*llama_server_init)(ext_server_params_t *sparams,
                            ext_server_resp_t *err);
  void (*llama_server_start)();
  void (*llama_server_stop)();
  void (*llama_server_completion)(const char *json_req,
                                  ext_server_resp_t *resp);
  void (*llama_server_completion_next_result)(const int task_id,
                                              ext_server_task_result_t *result);
  void (*llama_server_completion_cancel)(const int task_id,
                                         ext_server_resp_t *err);
  void (*llama_server_release_task_result)(ext_server_task_result_t *result);
  void (*llama_server_tokenize)(const char *json_req, char **json_resp,
                                ext_server_resp_t *err);
  void (*llama_server_detokenize)(const char *json_req, char **json_resp,
                                  ext_server_resp_t *err);
  void (*llama_server_embedding)(const char *json_req, char **json_resp,
                                 ext_server_resp_t *err);
  void (*llama_server_release_json_resp)(char **json_resp);
};

30
void dyn_init(const char *libPath, struct dynamic_llama_server *s,
31
32
33
                       ext_server_resp_t *err);

// No good way to call C function pointers from Go so inline the indirection
34
void dyn_llama_server_init(struct dynamic_llama_server s,
35
36
37
                                    ext_server_params_t *sparams,
                                    ext_server_resp_t *err);

38
void dyn_llama_server_start(struct dynamic_llama_server s);
39

40
void dyn_llama_server_stop(struct dynamic_llama_server s);
41

42
void dyn_llama_server_completion(struct dynamic_llama_server s,
43
44
45
                                          const char *json_req,
                                          ext_server_resp_t *resp);

46
void dyn_llama_server_completion_next_result(
47
48
49
    struct dynamic_llama_server s, const int task_id,
    ext_server_task_result_t *result);

50
void dyn_llama_server_completion_cancel(struct dynamic_llama_server s,
51
52
53
                                                 const int task_id,
                                                 ext_server_resp_t *err);

54
void dyn_llama_server_release_task_result(
55
56
    struct dynamic_llama_server s, ext_server_task_result_t *result);

57
void dyn_llama_server_tokenize(struct dynamic_llama_server s,
58
59
60
                                        const char *json_req, char **json_resp,
                                        ext_server_resp_t *err);

61
void dyn_llama_server_detokenize(struct dynamic_llama_server s,
62
63
64
65
                                          const char *json_req,
                                          char **json_resp,
                                          ext_server_resp_t *err);

66
void dyn_llama_server_embedding(struct dynamic_llama_server s,
67
68
                                         const char *json_req, char **json_resp,
                                         ext_server_resp_t *err);
69
void dyn_llama_server_release_json_resp(struct dynamic_llama_server s,
70
71
72
73
74
                                                 char **json_resp);

#ifdef __cplusplus
}
#endif