summaryrefslogtreecommitdiff
path: root/llama.h
diff options
context:
space:
mode:
authorRick G <26732651+TheFlipbook@users.noreply.github.com>2024-04-08 06:02:30 -0700
committerGitHub <noreply@github.com>2024-04-08 16:02:30 +0300
commite3c337d87ca650972105a51c6ce302dd236c07ad (patch)
treee91b25c531cc5f508e64309071f4a904a0d27189 /llama.h
parentbeea6e1b16e783a0886e78dec01002a8c00db24d (diff)
llama : support negative ith in llama_get_ API (#6519)
* llama_sampling_sample with default args is more naively usable * Batches populated by either llama_batch_get_one or llama_batch_add work with default args * Previously get_one could use the default argument * Previously add should usually have used the last index where logits[idx] == true * This hopefully encourages the use of llama_batch_add * By giving expected results when using default arguments. * Adds "negative indexing" feature to llama_get_logits_ith and llama_get_embeddings_ith * Believed to work with any currently well behaved program * Default arg now works for both cases (previously would give strange results for add case) * Any non-negative number is unaffected and behaves as previously * Negative arguments were previously invalid. * Implemented as a special case of indexing as suggested by @compilade in https://github.com/ggerganov/llama.cpp/pull/6519 * Fixed mismatch type errors * cited in macOS CI tests * Missed in original updates based on PR feedback in https://github.com/ggerganov/llama.cpp/pull/6519
Diffstat (limited to 'llama.h')
-rw-r--r--llama.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/llama.h b/llama.h
index 2250130e..6a5bbe26 100644
--- a/llama.h
+++ b/llama.h
@@ -747,8 +747,9 @@ extern "C" {
// Cols: n_vocab
LLAMA_API float * llama_get_logits(struct llama_context * ctx);
- // Logits for the ith token. Equivalent to:
+ // Logits for the ith token. For positive indices, Equivalent to:
// llama_get_logits(ctx) + ctx->output_ids[i]*n_vocab
+ // Negative indicies can be used to access logits in reverse order, -1 is the last logit.
// returns NULL for invalid ids.
LLAMA_API float * llama_get_logits_ith(struct llama_context * ctx, int32_t i);
@@ -760,8 +761,9 @@ extern "C" {
// Otherwise, returns NULL.
LLAMA_API float * llama_get_embeddings(struct llama_context * ctx);
- // Get the embeddings for the ith token. Equivalent to:
+ // Get the embeddings for the ith token. For positive indices, Equivalent to:
// llama_get_embeddings(ctx) + ctx->output_ids[i]*n_embd
+ // Negative indicies can be used to access embeddings in reverse order, -1 is the last embedding.
// shape: [n_embd] (1-dimensional)
// returns NULL for invalid ids.
LLAMA_API float * llama_get_embeddings_ith(struct llama_context * ctx, int32_t i);