From b278d242d03ba614779243ec9e9495fc95abea3d Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sun, 5 Oct 2025 15:15:55 +0200 Subject: strops format --- src/ai_providers/DeepSeek.cpp | 3 ++- src/ai_providers/openAI.cpp | 15 ++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) (limited to 'src/ai_providers') diff --git a/src/ai_providers/DeepSeek.cpp b/src/ai_providers/DeepSeek.cpp index 5a378dd..4dd4e0a 100644 --- a/src/ai_providers/DeepSeek.cpp +++ b/src/ai_providers/DeepSeek.cpp @@ -50,7 +50,7 @@ static bool _DeepSeek_query_with_file(char* query, size_t query_length, char* fi size_t body_size = file_size + QUERY_BUFFER_SIZE; char* body = (char*)malloc(body_size); - snprintf(body, body_size, + strops::format(body, body_size, "{\"model\":\"deepseek-reasoner\", \"messages\": [ { \"role\": \"user\", \"content\": \"%s\" } ] }", query_escaped); httplib::Headers headers; @@ -117,6 +117,7 @@ static bool _DeepSeek_upload_file(char* file_path, char* file_id, size_t file_id } importer::ai_provider_impl _deepseek_api_provider = { + "DeekSeek", _DeepSeek_upload_file, _DeepSeek_query_with_file, }; \ No newline at end of file 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 -- cgit v1.2.3-70-g09d2