mirror of
https://github.com/ikawrakow/ik_llama.cpp.git
synced 2026-02-24 07:04:11 +00:00
Remove hardcoded extension and add error handling to extension loading
This commit is contained in:
@@ -1410,6 +1410,11 @@ bool gpt_params_find_arg(int argc, char ** argv, const std::string & arg, gpt_pa
|
||||
params.sql_save_file = argv[i];
|
||||
return true;
|
||||
}
|
||||
if (arg == "--sqlite-zstd-ext-file") {
|
||||
CHECK_ARG
|
||||
params.sqlite_zstd_ext_file = argv[i];
|
||||
return true;
|
||||
}
|
||||
if (arg == "--chat-template") {
|
||||
CHECK_ARG
|
||||
if (!llama_chat_verify_template(argv[i])) {
|
||||
|
||||
@@ -243,6 +243,7 @@ struct gpt_params {
|
||||
|
||||
std::string slot_save_path;
|
||||
std::string sql_save_file;
|
||||
std::string sqlite_zstd_ext_file;
|
||||
|
||||
float slot_prompt_similarity = 0.5f;
|
||||
|
||||
|
||||
@@ -37,10 +37,6 @@ struct DatabaseHandle {
|
||||
sqlite::database db;
|
||||
|
||||
DatabaseHandle(const std::string& path) : db(path) {
|
||||
|
||||
sqlite3_enable_load_extension(db.connection().get(), 1);
|
||||
db << "SELECT load_extension('/home/saood06/mikupadStuff/libsqlite_zstd.so')";
|
||||
|
||||
db << "CREATE TABLE IF NOT EXISTS sessions (key TEXT PRIMARY KEY, data TEXT)";
|
||||
db << "CREATE TABLE IF NOT EXISTS templates (key TEXT PRIMARY KEY, data TEXT)";
|
||||
db << "CREATE TABLE IF NOT EXISTS names (key TEXT PRIMARY KEY, data TEXT)";
|
||||
@@ -2937,7 +2933,23 @@ int main(int argc, char ** argv) {
|
||||
ctx_server.slot_prompt_similarity = params.slot_prompt_similarity;
|
||||
|
||||
auto db_handle = std::make_shared<DatabaseHandle>(params.sql_save_file);
|
||||
|
||||
if (!params.sqlite_zstd_ext_file.empty()) {
|
||||
auto* conn = db_handle->db.connection().get();
|
||||
sqlite3_enable_load_extension(conn, 1);
|
||||
char* errmsg = nullptr;
|
||||
const int rc = sqlite3_load_extension(
|
||||
conn,
|
||||
params.sqlite_zstd_ext_file.c_str(),
|
||||
nullptr,
|
||||
&errmsg
|
||||
);
|
||||
if(rc != SQLITE_OK) {
|
||||
const std::string err = errmsg ? errmsg : "Unknown extension error";
|
||||
sqlite3_free(errmsg);
|
||||
LOG_WARNING("Failed to load extension", {{"err", err}});
|
||||
}
|
||||
sqlite3_enable_load_extension(conn, 0);
|
||||
}
|
||||
// load the model
|
||||
if (!ctx_server.load_model(params)) {
|
||||
state.store(SERVER_STATE_ERROR);
|
||||
|
||||
Reference in New Issue
Block a user