dyn_ext_server.h 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #include <stdlib.h>
  2. #include "ext_server.h"
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. struct dynamic_llama_server {
  7. void *handle;
  8. void (*llama_server_init)(ext_server_params_t *sparams,
  9. ext_server_resp_t *err);
  10. void (*llama_server_start)();
  11. void (*llama_server_stop)();
  12. void (*llama_server_completion)(const char *json_req,
  13. ext_server_resp_t *resp);
  14. void (*llama_server_completion_next_result)(const int task_id,
  15. ext_server_task_result_t *result);
  16. void (*llama_server_completion_cancel)(const int task_id,
  17. ext_server_resp_t *err);
  18. void (*llama_server_release_task_result)(ext_server_task_result_t *result);
  19. void (*llama_server_tokenize)(const char *json_req, char **json_resp,
  20. ext_server_resp_t *err);
  21. void (*llama_server_detokenize)(const char *json_req, char **json_resp,
  22. ext_server_resp_t *err);
  23. void (*llama_server_embedding)(const char *json_req, char **json_resp,
  24. ext_server_resp_t *err);
  25. void (*llama_server_release_json_resp)(char **json_resp);
  26. };
  27. void dyn_init(const char *libPath, struct dynamic_llama_server *s,
  28. ext_server_resp_t *err);
  29. // No good way to call C function pointers from Go so inline the indirection
  30. void dyn_llama_server_init(struct dynamic_llama_server s,
  31. ext_server_params_t *sparams,
  32. ext_server_resp_t *err);
  33. void dyn_llama_server_start(struct dynamic_llama_server s);
  34. void dyn_llama_server_stop(struct dynamic_llama_server s);
  35. void dyn_llama_server_completion(struct dynamic_llama_server s,
  36. const char *json_req,
  37. ext_server_resp_t *resp);
  38. void dyn_llama_server_completion_next_result(
  39. struct dynamic_llama_server s, const int task_id,
  40. ext_server_task_result_t *result);
  41. void dyn_llama_server_completion_cancel(struct dynamic_llama_server s,
  42. const int task_id,
  43. ext_server_resp_t *err);
  44. void dyn_llama_server_release_task_result(
  45. struct dynamic_llama_server s, ext_server_task_result_t *result);
  46. void dyn_llama_server_tokenize(struct dynamic_llama_server s,
  47. const char *json_req, char **json_resp,
  48. ext_server_resp_t *err);
  49. void dyn_llama_server_detokenize(struct dynamic_llama_server s,
  50. const char *json_req,
  51. char **json_resp,
  52. ext_server_resp_t *err);
  53. void dyn_llama_server_embedding(struct dynamic_llama_server s,
  54. const char *json_req, char **json_resp,
  55. ext_server_resp_t *err);
  56. void dyn_llama_server_release_json_resp(struct dynamic_llama_server s,
  57. char **json_resp);
  58. #ifdef __cplusplus
  59. }
  60. #endif