From 5b5ac62662a9317d362f9e54315d6ca4b011035c Mon Sep 17 00:00:00 2001 From: balex Date: Fri, 20 Feb 2026 20:29:48 +0100 Subject: [PATCH] vectorstore --- .../com/balex/rag/config/EmbeddingConfig.java | 26 +++++++++++++++++++ .../src/main/resources/application.properties | 7 +++-- 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 rag-service/src/main/java/com/balex/rag/config/EmbeddingConfig.java diff --git a/rag-service/src/main/java/com/balex/rag/config/EmbeddingConfig.java b/rag-service/src/main/java/com/balex/rag/config/EmbeddingConfig.java new file mode 100644 index 0000000..aefd5ea --- /dev/null +++ b/rag-service/src/main/java/com/balex/rag/config/EmbeddingConfig.java @@ -0,0 +1,26 @@ +package com.balex.rag.config; + +import org.springframework.ai.openai.OpenAiEmbeddingModel; +import org.springframework.ai.openai.api.OpenAiApi; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class EmbeddingConfig { + + @Value("${embedding.openai.api-key:${OPENAI_API_KEY:}}") + private String openaiApiKey; + + @Value("${embedding.openai.model:text-embedding-3-small}") + private String embeddingModel; + + @Bean + public OpenAiEmbeddingModel embeddingModel() { + OpenAiApi openAiApi = OpenAiApi.builder() + .baseUrl("https://api.openai.com") + .apiKey(openaiApiKey) + .build(); + return new OpenAiEmbeddingModel(openAiApi); + } +} \ No newline at end of file diff --git a/rag-service/src/main/resources/application.properties b/rag-service/src/main/resources/application.properties index 928241c..de2bf05 100644 --- a/rag-service/src/main/resources/application.properties +++ b/rag-service/src/main/resources/application.properties @@ -6,10 +6,9 @@ spring.ai.openai.api-key=${SPRING_AI_OPENAI_API_KEY:} spring.ai.openai.chat.model=${SPRING_AI_OPENAI_CHAT_MODEL:llama-3.3-70b-versatile} spring.jpa.hibernate.ddl-auto=update -# Embedding via OpenAI API (text-embedding-3-small) -spring.ai.openai.embedding.base-url=https://api.openai.com/v1 -spring.ai.openai.embedding.api-key=${OPENAI_API_KEY:} -spring.ai.openai.embedding.options.model=text-embedding-3-small +# Embedding via separate OpenAI API bean (see EmbeddingConfig.java) +embedding.openai.api-key=${OPENAI_API_KEY:} +embedding.openai.model=text-embedding-3-small # --- Consul service discovery --- spring.cloud.consul.host=${SPRING_CLOUD_CONSUL_HOST:localhost}