Files
didactyl/src/llm.h
T

36 lines
1.1 KiB
C

#ifndef OPEN_WING_LLM_H
#define OPEN_WING_LLM_H
#include "config.h"
typedef struct {
char* id;
char* name;
char* arguments_json;
} llm_tool_call_t;
typedef struct {
char* content;
llm_tool_call_t* tool_calls;
int tool_call_count;
char* finish_reason;
} llm_response_t;
int llm_init(const llm_config_t* config);
char* llm_chat(const char* system_prompt, const char* user_message);
int llm_chat_with_tools(const char* system_prompt,
const char* user_message,
const char* tools_json,
llm_response_t* out_response);
int llm_chat_with_tools_messages(const char* messages_json,
const char* tools_json,
const char* tool_choice,
llm_response_t* out_response);
void llm_response_free(llm_response_t* response);
int llm_get_config(llm_config_t* out_config);
int llm_set_config(const llm_config_t* config);
char* llm_list_models_json(const char* base_url_override);
char* llm_get_json_path(const char* base_url_override, const char* path);
void llm_cleanup(void);
#endif