summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLain Soykaf <lain@lain.com>2024-05-19 12:17:46 +0400
committerLain Soykaf <lain@lain.com>2024-05-19 12:17:46 +0400
commit72ec261a69a7dda7ab95667e425824ab7758b636 (patch)
tree20caa388ae53fd8ce28950e9ad71e77eb3656e69 /lib
parentcc1321ea2e6216b498b5ef7a82c82e44c71280f4 (diff)
downloadpleroma-72ec261a69a7dda7ab95667e425824ab7758b636.tar.gz
pleroma-72ec261a69a7dda7ab95667e425824ab7758b636.zip
B QdrantSearch: Switch to OpenAI api
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/search/qdrant_search.ex19
1 files changed, 12 insertions, 7 deletions
diff --git a/lib/pleroma/search/qdrant_search.ex b/lib/pleroma/search/qdrant_search.ex
index a6c6c6a0d..5ae04be78 100644
--- a/lib/pleroma/search/qdrant_search.ex
+++ b/lib/pleroma/search/qdrant_search.ex
@@ -5,7 +5,7 @@ defmodule Pleroma.Search.QdrantSearch do
alias Pleroma.Activity
alias Pleroma.Config.Getting, as: Config
- alias __MODULE__.OllamaClient
+ alias __MODULE__.OpenAIClient
alias __MODULE__.QdrantClient
import Pleroma.Search.Meilisearch, only: [object_to_search_data: 1]
@@ -31,10 +31,10 @@ defmodule Pleroma.Search.QdrantSearch do
end
def get_embedding(text) do
- with {:ok, %{body: %{"embedding" => embedding}}} <-
- OllamaClient.post("/api/embeddings", %{
- prompt: text,
- model: Config.get([Pleroma.Search.QdrantSearch, :ollama_model])
+ with {:ok, %{body: %{"data" => [%{"embedding" => embedding}]}}} <-
+ OpenAIClient.post("/v1/embeddings", %{
+ input: text,
+ model: Config.get([Pleroma.Search.QdrantSearch, :openai_model])
}) do
{:ok, embedding}
else
@@ -119,12 +119,17 @@ defmodule Pleroma.Search.QdrantSearch do
end
end
-defmodule Pleroma.Search.QdrantSearch.OllamaClient do
+defmodule Pleroma.Search.QdrantSearch.OpenAIClient do
use Tesla
alias Pleroma.Config.Getting, as: Config
- plug(Tesla.Middleware.BaseUrl, Config.get([Pleroma.Search.QdrantSearch, :ollama_url]))
+ plug(Tesla.Middleware.BaseUrl, Config.get([Pleroma.Search.QdrantSearch, :openai_url]))
plug(Tesla.Middleware.JSON)
+
+ plug(Tesla.Middleware.Headers, [
+ {"Authorization",
+ "Bearer #{Pleroma.Config.get([Pleroma.Search.QdrantSearch, :openai_api_key])}"}
+ ])
end
defmodule Pleroma.Search.QdrantSearch.QdrantClient do