This commit is contained in:
26
docs/snippets/zig/utils/standalone_embed.md
Normal file
26
docs/snippets/zig/utils/standalone_embed.md
Normal file
@@ -0,0 +1,26 @@
|
||||
```zig title="Zig"
|
||||
const std = @import("std");
|
||||
const kreuzberg = @import("kreuzberg");
|
||||
|
||||
// `embed_texts` takes JSON-encoded inputs across the FFI boundary:
|
||||
// - `texts`: a JSON array of strings
|
||||
// - `config`: a JSON-encoded `EmbeddingConfig`
|
||||
// It returns a JSON-encoded 2D float array (one row per input text).
|
||||
pub fn main() !void {
|
||||
const texts_json =
|
||||
\\["Hello, world!", "Kreuzberg is fast"]
|
||||
;
|
||||
const config_json =
|
||||
\\{
|
||||
\\ "model": {"type": "preset", "name": "balanced"},
|
||||
\\ "normalize": true
|
||||
\\}
|
||||
;
|
||||
|
||||
const embeddings_json = try kreuzberg.embed_texts(texts_json, config_json);
|
||||
defer std.heap.c_allocator.free(embeddings_json);
|
||||
|
||||
const stdout = std.io.getStdOut().writer();
|
||||
try stdout.print("{s}\n", .{embeddings_json});
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user