rocm_shim.h 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #include <stdlib.h>
  2. #include "server.h"
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. struct rocm_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 rocm_shim_init(const char *libPath, struct rocm_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 rocm_shim_llama_server_init(struct rocm_llama_server s,
  31. ext_server_params_t *sparams,
  32. ext_server_resp_t *err);
  33. void rocm_shim_llama_server_start(struct rocm_llama_server s);
  34. void rocm_shim_llama_server_stop(struct rocm_llama_server s);
  35. void rocm_shim_llama_server_completion(struct rocm_llama_server s,
  36. const char *json_req,
  37. ext_server_resp_t *resp);
  38. void rocm_shim_llama_server_completion_next_result(
  39. struct rocm_llama_server s, const int task_id,
  40. ext_server_task_result_t *result);
  41. void rocm_shim_llama_server_completion_cancel(struct rocm_llama_server s,
  42. const int task_id,
  43. ext_server_resp_t *err);
  44. void rocm_shim_llama_server_release_task_result(
  45. struct rocm_llama_server s, ext_server_task_result_t *result);
  46. void rocm_shim_llama_server_tokenize(struct rocm_llama_server s,
  47. const char *json_req, char **json_resp,
  48. ext_server_resp_t *err);
  49. void rocm_shim_llama_server_detokenize(struct rocm_llama_server s,
  50. const char *json_req, char **json_resp,
  51. ext_server_resp_t *err);
  52. void rocm_shim_llama_server_embedding(struct rocm_llama_server s,
  53. const char *json_req, char **json_resp,
  54. ext_server_resp_t *err);
  55. void rocm_shim_llama_server_release_json_resp(struct rocm_llama_server s,
  56. char **json_resp);
  57. #ifdef __cplusplus
  58. }
  59. #endif