summaryrefslogtreecommitdiff
path: root/src/ai_providers/openAI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ai_providers/openAI.cpp')
-rw-r--r--src/ai_providers/openAI.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/ai_providers/openAI.cpp b/src/ai_providers/openAI.cpp
index bbe9f8f..c4526ef 100644
--- a/src/ai_providers/openAI.cpp
+++ b/src/ai_providers/openAI.cpp
@@ -39,7 +39,7 @@ static bool _openAI_query_with_file(char* query, size_t query_length, char* file
size_t body_size = query_length + 200;
char* body = (char*)malloc(body_size);
- snprintf(body, body_size,
+ strops::format(body, body_size,
"{\"model\":\"gpt-5-nano\", \"input\": [ { \"role\": \"user\", \"content\": [ { \"type\": \"input_file\", \"file_id\": \"%s\" }, "
"{ \"type\": \"input_text\", \"text\": \"%s\" } ] } ] }", file_id, query_escaped);
@@ -90,7 +90,7 @@ static bool _openAI_upload_file(char* file_path, char* file_id, size_t file_id_l
//cli.enable_server_certificate_verification(false);
char body[512];
- snprintf(body, sizeof(body), "{\"filename\":\"%s\",\"purpose\":\"user_data\", \"bytes\": %d, \"mime_type\": \"application/pdf\", \"expires_after\": { \"anchor\": \"created_at\", \"seconds\": 3600 } }", filename, sz);
+ strops::format(body, sizeof(body), "{\"filename\":\"%s\",\"purpose\":\"user_data\", \"bytes\": %d, \"mime_type\": \"application/pdf\", \"expires_after\": { \"anchor\": \"created_at\", \"seconds\": 3600 } }", filename, sz);
httplib::Headers headers;
headers.insert(std::make_pair("Authorization", std::string("Bearer ") + api_key));
@@ -111,7 +111,7 @@ static bool _openAI_upload_file(char* file_path, char* file_id, size_t file_id_l
char *buffer = (char*)malloc(part_size);
char completion_body[1048];
- snprintf(completion_body, sizeof(completion_body), "{\"part_ids\": [");
+ strops::format(completion_body, sizeof(completion_body), "{\"part_ids\": [");
int part_number = 0;
while (1) {
@@ -128,7 +128,7 @@ static bool _openAI_upload_file(char* file_path, char* file_id, size_t file_id_l
};
char path[256];
- snprintf(path, sizeof(path), "/v1/uploads/%s/parts?part_number=%d", upload_id, part_number);
+ strops::format(path, sizeof(path), "/v1/uploads/%s/parts?part_number=%d", upload_id, part_number);
httplib::Result part_res = cli.Post(path, part_headers, items);
@@ -142,15 +142,15 @@ static bool _openAI_upload_file(char* file_path, char* file_id, size_t file_id_l
else {
char part_id[128];
strops::get_json_value(part_res->body.c_str(), "id", part_id, sizeof(part_id));
- if (part_number == 0) snprintf(completion_body+strlen(completion_body), sizeof(completion_body)-strlen(completion_body), "\"%s\"", part_id);
- if (part_number != 0) snprintf(completion_body+strlen(completion_body), sizeof(completion_body)-strlen(completion_body), ", \"%s\"", part_id);
+ if (part_number == 0) strops::format(completion_body+strlen(completion_body), sizeof(completion_body)-strlen(completion_body), "\"%s\"", part_id);
+ if (part_number != 0) strops::format(completion_body+strlen(completion_body), sizeof(completion_body)-strlen(completion_body), ", \"%s\"", part_id);
}
logger::info("Uploaded part %d\n", part_number);
part_number++;
}
- snprintf(completion_body+strlen(completion_body), sizeof(completion_body)-strlen(completion_body), "]}");
+ strops::format(completion_body+strlen(completion_body), sizeof(completion_body)-strlen(completion_body), "]}");
free(buffer);
fclose(orig_file);
@@ -174,6 +174,7 @@ static bool _openAI_upload_file(char* file_path, char* file_id, size_t file_id_l
}
importer::ai_provider_impl _chatgpt_api_provider = {
+ "OpenAI",
_openAI_upload_file,
_openAI_query_with_file,
}; \ No newline at end of file