|
Groonga
|
#include <groonga/progress.h>

Go to the source code of this file.
Macros | |
| #define | GRN_LANGUAGE_MODEL_LOADER_N_GPU_LAYERS_DEFAULT 999 |
| The default N GPU layers to use in language model. In general, we use GPU as much as possible by default. | |
Typedefs | |
| typedef struct grn_language_model_ | grn_language_model |
| Language model. | |
| typedef struct grn_language_model_inferencer_ | grn_language_model_inferencer |
| Language model inferencer. | |
| typedef struct grn_language_model_loader_ | grn_language_model_loader |
| Language model loader. | |
| #define GRN_LANGUAGE_MODEL_LOADER_N_GPU_LAYERS_DEFAULT 999 |
The default N GPU layers to use in language model. In general, we use GPU as much as possible by default.
This value is same as n_gpu_layers of llama_model_default_params().
| typedef struct grn_language_model_ grn_language_model |
Language model.
You need to use \ref grn_language_model_loader_load to load \ref grn_language_model.
| typedef struct grn_language_model_inferencer_ grn_language_model_inferencer |
Language model inferencer.
You need to use \ref grn_language_model_open_inferencer to open \ref grn_language_model_inferencer.
| typedef struct grn_language_model_loader_ grn_language_model_loader |
Language model loader.
| GRN_API grn_rc grn_language_model_close | ( | grn_ctx * | ctx, |
| grn_language_model * | model | ||
| ) |
Close a language model.
| ctx | The context object. |
| model | The model to close. |
| GRN_API uint32_t grn_language_model_get_n_embedding_dimensions | ( | grn_ctx * | ctx, |
| grn_language_model * | model | ||
| ) |
Get the number of dimensions of embedding generated by this model.
| ctx | The context object. |
| model | The model. |
See `ctx->rc` for error details.
| GRN_API grn_rc grn_language_model_inferencer_close | ( | grn_ctx * | ctx, |
| grn_language_model_inferencer * | inferencer | ||
| ) |
Close a language model inferencer.
| ctx | The context object. |
| inferencer | The inferencer to close. |
| GRN_API grn_rc grn_language_model_inferencer_set_input_column_value_prefix | ( | grn_ctx * | ctx, |
| grn_language_model_inferencer * | inferencer, | ||
| const char * | prefix, | ||
| int64_t | prefix_length | ||
| ) |
Prepend prefix to all values of input_column in grn_language_model_inferencer_vectorize_in_batch and grn_language_model_inferencer_vectorize_applier.
| ctx | The context object. |
| inferencer | The inferencer. |
| prefix | The prefix. |
| prefix_length | The byte size of prefix. You can use -1 if prefix is a \0-terminated string. |
| GRN_API grn_rc grn_language_model_inferencer_set_progress_callback | ( | grn_ctx * | ctx, |
| grn_language_model_inferencer * | inferencer, | ||
| grn_progress_callback_func | callback, | ||
| void * | user_data | ||
| ) |
Set progress callback that is called on each batch vectorization is completed.
| ctx | The context object. |
| inferencer | The inferencer. |
| callback | The callback. |
| user_data | The data that is passed to the callback when callback is called. |
| GRN_API grn_rc grn_language_model_inferencer_vectorize | ( | grn_ctx * | ctx, |
| grn_language_model_inferencer * | inferencer, | ||
| const char * | text, | ||
| int64_t | text_length, | ||
| grn_obj * | output_vector | ||
| ) |
Vectorize a text.
In other words, compute embeddings of a text.
| ctx | The context object. |
| inferencer | The inferencer. |
| text | The text to vectorize. |
| text_length | The byte size of text. You can use -1 if text is a \0-terminated string. |
| output_vector | GRN_DB_FLOAT32 vector as an output. A caller must initialize this by GRN_FLOAT32_INIT and GRN_OBJ_VECTOR. |
| GRN_API grn_rc grn_language_model_inferencer_vectorize_applier | ( | grn_ctx * | ctx, |
| grn_language_model_inferencer * | inferencer, | ||
| grn_obj * | input_column, | ||
| grn_applier_data * | data | ||
| ) |
Vectorize texts in batch.
In other words, compute embeddings set of texts. This is efficient than calling grn_language_model_inferencer_vectorize() multiple times.
This should be used from an applier.
| ctx | The context object. |
| inferencer | The inferencer. |
| input_column | The text family column or accessor. Caller must be ensure it. This function doesn't validate it. |
| data | The applier data passed to an applier function. |
| GRN_API grn_rc grn_language_model_inferencer_vectorize_in_batch | ( | grn_ctx * | ctx, |
| grn_language_model_inferencer * | inferencer, | ||
| grn_table_cursor * | cursor, | ||
| grn_obj * | input_column, | ||
| grn_obj * | output | ||
| ) |
Vectorize texts and output embeddings set to Float32 GRN_UVECTOR or vector column in batch.
In other words, compute embeddings set of texts. This is efficient than calling grn_language_model_inferencer_vectorize() multiple times.
You can use grn_memory_map to write and read the result embeddings set without allocating memory for all embeddings set:
| ctx | The context object. |
| inferencer | The inferencer. |
| cursor | The cursor that returns target record IDs. |
| input_column | The text family column or accessor. Caller must be ensure it. This function doesn't validate it. |
| output | The generated embeddings set. This must be a Float32 vector or Float32 vector column. Output order is same as IDs returned by the cursor. |
| GRN_API grn_rc grn_language_model_loader_close | ( | grn_ctx * | ctx, |
| grn_language_model_loader * | loader | ||
| ) |
Close a language model loader.
| ctx | The context object. |
| loader | The loader to close. |
| GRN_API grn_language_model * grn_language_model_loader_load | ( | grn_ctx * | ctx, |
| grn_language_model_loader * | loader | ||
| ) |
Load a language model.
If the target model is already loaded, this reuses the model instead of loading a new model.
| ctx | The context object. |
| loader | The loader. |
NULL on error. See `ctx->rc` for error details.
| GRN_API grn_language_model_loader * grn_language_model_loader_open | ( | grn_ctx * | ctx | ) |
Open a new language model loader.
| ctx | The context object. |
NULL on error. | GRN_API grn_rc grn_language_model_loader_set_model | ( | grn_ctx * | ctx, |
| grn_language_model_loader * | loader, | ||
| const char * | model, | ||
| int64_t | model_length | ||
| ) |
Set language model name to load.
| ctx | The context object. |
| loader | The loader. |
| model | The model name to load. |
| model_length | The byte size of model. You can use -1 if model is a \0-terminated string. |
| GRN_API grn_rc grn_language_model_loader_set_n_gpu_layers | ( | grn_ctx * | ctx, |
| grn_language_model_loader * | loader, | ||
| int32_t | n_gpu_layers | ||
| ) |
Set the number of GPU layers to use.
You can disable GPU by specifying 0 as n_gpu_layers.
| ctx | The context object. |
| loader | The loader. |
| n_gpu_layers | The number of GPU layers to use. |
| GRN_API grn_language_model_inferencer * grn_language_model_open_inferencer | ( | grn_ctx * | ctx, |
| grn_language_model * | model | ||
| ) |
Open a new language model inferencer.
| ctx | The context object. |
| model | The model to inference. |
NULL on error.See ctx->rc for error details.