Skip to content

Commit 631ea38

Browse files
committed
Improved examples [skip ci]
1 parent c2e9d11 commit 631ea38

File tree

5 files changed

+17
-16
lines changed

5 files changed

+17
-16
lines changed

examples/bumblebee/example.exs

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ model_id = "sentence-transformers/all-MiniLM-L6-v2"
1616
{:ok, tokenizer} = Bumblebee.load_tokenizer({:hf, model_id})
1717

1818
defmodule Example do
19-
def fetch_embeddings(model_info, tokenizer, input) do
19+
def embed(model_info, tokenizer, input) do
2020
serving =
2121
Bumblebee.Text.text_embedding(model_info, tokenizer,
2222
output_attribute: :hidden_state,
@@ -34,7 +34,7 @@ input = [
3434
"The bear is growling"
3535
]
3636

37-
embeddings = Example.fetch_embeddings(model_info, tokenizer, input)
37+
embeddings = Example.embed(model_info, tokenizer, input)
3838

3939
for {content, embedding} <- Enum.zip(input, embeddings) do
4040
Postgrex.query!(pid, "INSERT INTO documents (content, embedding) VALUES ($1, $2)", [

examples/cohere/example.exs

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Postgrex.query!(
1212
)
1313

1414
defmodule Example do
15-
def fetch_embeddings(texts, input_type) do
15+
def embed(texts, input_type) do
1616
api_key = System.fetch_env!("CO_API_KEY")
1717
url = "https://api.cohere.com/v1/embed"
1818

@@ -42,7 +42,7 @@ input = [
4242
"The bear is growling"
4343
]
4444

45-
embeddings = Example.fetch_embeddings(input, "search_document")
45+
embeddings = Example.embed(input, "search_document")
4646

4747
for {content, embedding} <- Enum.zip(input, embeddings) do
4848
Postgrex.query!(pid, "INSERT INTO documents (content, embedding) VALUES ($1, $2)", [
@@ -52,7 +52,7 @@ for {content, embedding} <- Enum.zip(input, embeddings) do
5252
end
5353

5454
query = "forest"
55-
query_embedding = Example.fetch_embeddings([query], "search_query") |> List.first()
55+
query_embedding = Example.embed([query], "search_query") |> List.first()
5656

5757
result =
5858
Postgrex.query!(

examples/hybrid_search/example.exs

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ model_id = "sentence-transformers/multi-qa-MiniLM-L6-cos-v1"
1818
{:ok, tokenizer} = Bumblebee.load_tokenizer({:hf, model_id})
1919

2020
defmodule Example do
21-
def fetch_embeddings(model_info, tokenizer, input) do
21+
def embed(model_info, tokenizer, input) do
2222
serving =
2323
Bumblebee.Text.text_embedding(model_info, tokenizer,
2424
output_attribute: :hidden_state,
@@ -36,7 +36,7 @@ input = [
3636
"The bear is growling"
3737
]
3838

39-
embeddings = Example.fetch_embeddings(model_info, tokenizer, input)
39+
embeddings = Example.embed(model_info, tokenizer, input)
4040

4141
for {content, embedding} <- Enum.zip(input, embeddings) do
4242
Postgrex.query!(pid, "INSERT INTO documents (content, embedding) VALUES ($1, $2)", [
@@ -70,7 +70,7 @@ LIMIT 5
7070
"""
7171

7272
query = "growling bear"
73-
query_embedding = Example.fetch_embeddings(model_info, tokenizer, [query]) |> List.first()
73+
query_embedding = Example.embed(model_info, tokenizer, [query]) |> List.first()
7474
k = 60
7575

7676
result = Postgrex.query!(pid, sql, [query, query_embedding, k])

examples/openai/example.exs

+6-5
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Postgrex.query!(
1212
)
1313

1414
defmodule Example do
15-
def fetch_embeddings(input) do
15+
def embed(input) do
1616
api_key = System.fetch_env!("OPENAI_API_KEY")
1717
url = "https://api.openai.com/v1/embeddings"
1818

@@ -38,7 +38,7 @@ input = [
3838
"The bear is growling"
3939
]
4040

41-
embeddings = Example.fetch_embeddings(input)
41+
embeddings = Example.embed(input)
4242

4343
for {content, embedding} <- Enum.zip(input, embeddings) do
4444
Postgrex.query!(pid, "INSERT INTO documents (content, embedding) VALUES ($1, $2)", [
@@ -47,13 +47,14 @@ for {content, embedding} <- Enum.zip(input, embeddings) do
4747
])
4848
end
4949

50-
document_id = 1
50+
query = "forest"
51+
query_embedding = Example.embed([query]) |> List.first()
5152

5253
result =
5354
Postgrex.query!(
5455
pid,
55-
"SELECT id, content FROM documents WHERE id != $1 ORDER BY embedding <=> (SELECT embedding FROM documents WHERE id = $1) LIMIT 5",
56-
[document_id]
56+
"SELECT id, content FROM documents ORDER BY embedding <=> $1 LIMIT 5",
57+
[query_embedding]
5758
)
5859

5960
for [id, content] <- result.rows do

examples/sparse_search/example.exs

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ model_id = "opensearch-project/opensearch-neural-sparse-encoding-v1"
2020
{:ok, tokenizer} = Bumblebee.load_tokenizer({:hf, model_id})
2121

2222
defmodule Example do
23-
def fetch_embeddings(model_info, tokenizer, input) do
23+
def embed(model_info, tokenizer, input) do
2424
inputs = Bumblebee.apply_tokenizer(tokenizer, input)
2525
outputs = Axon.predict(model_info.model, model_info.params, inputs)
2626

@@ -47,7 +47,7 @@ input = [
4747
"The bear is growling"
4848
]
4949

50-
embeddings = Example.fetch_embeddings(model_info, tokenizer, input)
50+
embeddings = Example.embed(model_info, tokenizer, input)
5151

5252
for {content, embedding} <- Enum.zip(input, embeddings) do
5353
Postgrex.query!(pid, "INSERT INTO documents (content, embedding) VALUES ($1, $2)", [
@@ -59,7 +59,7 @@ end
5959
query = "forest"
6060

6161
query_embedding =
62-
Example.fetch_embeddings(model_info, tokenizer, [query])
62+
Example.embed(model_info, tokenizer, [query])
6363
|> List.first()
6464

6565
result =

0 commit comments

Comments
 (0)