diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-02-18 15:14:13 +0100 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-02-18 15:14:13 +0100 |
| commit | e0de42af0b2c51ed9607a477cbdb556f44bac4f7 (patch) | |
| tree | bc1832b01354a96d13dd3f8b46d60f904e28889a /vectordb.h | |
| parent | 3145e2d2f565c5da599dd50e9c70b9e9ff3d5965 (diff) | |
| download | llmnpc-e0de42af0b2c51ed9607a477cbdb556f44bac4f7.tar.gz | |
Update to VectorDB
Diffstat (limited to 'vectordb.h')
| -rw-r--r-- | vectordb.h | 39 |
1 files changed, 34 insertions, 5 deletions
@@ -3,9 +3,15 @@ #include "llama.h" -#define VDB_MAX_DOCS 1000 -#define VDB_EMBED_SIZE 768 -#define VDB_MAX_TEXT 1024 +#include <errno.h> + +#define VDB_MAX_DOCS 1000 +#define VDB_EMBED_SIZE 768 +#define VDB_MAX_TEXT 1024 + +#define VDB_MAGIC 0x31424456u /* "VDB1" */ +#define VDB_VERSION 1u +#define VDB_TOKENS 512 typedef struct { float embedding[VDB_EMBED_SIZE]; @@ -18,6 +24,27 @@ typedef struct { struct llama_context *embed_ctx; } VectorDB; +typedef struct { + uint32_t magic; + uint32_t version; + uint32_t embed_size; + uint32_t max_text; + uint32_t count; +} VdbFileHeader; + +typedef enum { + VDB_SUCCESS = 0, + VDB_OPEN_ERR = 9001, + VDB_CLOSE_ERR = 9002, + VDB_HEADER_WRITE_ERR = 9003, + VDB_HEADER_READ_ERR = 9004, + VDB_MAGIC_MISMATCH_ERR = 9005, + VDB_EMBED_MISMATCH_ERR = 9006, + VDB_COUNT_TOO_LARGE_ERR = 9007, + VDB_DOC_WRITE_ERR = 9008, + VDB_DOC_READ_ERR = 9009, +} VectorDBErrorCode; + void vdb_init(VectorDB *db, struct llama_context *embed_ctx); void vdb_free(VectorDB *db); @@ -26,7 +53,9 @@ void vdb_add_document(VectorDB *db, const char *text); void vdb_embed_query(VectorDB *db, const char *text, float *out_embedding); void vdb_search(VectorDB *db, float *query_embedding, int top_k, int *results); -int vdb_save(const VectorDB *db, const char *path); -int vdb_load(VectorDB *db, const char *path); +VectorDBErrorCode vdb_save(const VectorDB *db, const char *path); +VectorDBErrorCode vdb_load(VectorDB *db, const char *path); + +const char* vdb_error(VectorDBErrorCode err); #endif |
