diff --git a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiApi.java b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiApi.java index 5d8d23eee..37cc23abb 100644 --- a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiApi.java +++ b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiApi.java @@ -54,7 +54,7 @@ public class OpenAiApi { private static final String DEFAULT_BASE_URL = "https://api.openai.com"; public static final String DEFAULT_CHAT_MODEL = "gpt-3.5-turbo"; - public static final String DEFAULT_EMBEDDING_MODEL = "text-embedding-3-small"; + public static final String DEFAULT_EMBEDDING_MODEL = "text-embedding-ada-002"; private static final Predicate SSE_DONE_PREDICATE = "[DONE]"::equals; private final RestClient restClient; diff --git a/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/embedding/EmbeddingIT.java b/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/embedding/EmbeddingIT.java index cc154ab0b..17429c479 100644 --- a/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/embedding/EmbeddingIT.java +++ b/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/embedding/EmbeddingIT.java @@ -42,7 +42,7 @@ class EmbeddingIT { assertThat(embeddingResponse.getResults()).hasSize(1); assertThat(embeddingResponse.getResults().get(0)).isNotNull(); assertThat(embeddingResponse.getResults().get(0).getOutput()).hasSize(1536); - assertThat(embeddingResponse.getMetadata()).containsEntry("model", "text-embedding-3-small"); + assertThat(embeddingResponse.getMetadata()).containsEntry("model", "text-embedding-ada-002"); assertThat(embeddingResponse.getMetadata()).containsEntry("total-tokens", 2); assertThat(embeddingResponse.getMetadata()).containsEntry("prompt-tokens", 2); @@ -68,12 +68,12 @@ class EmbeddingIT { void textEmbeddingAda002() { EmbeddingResponse embeddingResponse = embeddingClient.call(new EmbeddingRequest(List.of("Hello World"), - OpenAiEmbeddingOptions.builder().withModel("text-embedding-ada-002").build())); + OpenAiEmbeddingOptions.builder().withModel("text-embedding-3-small").build())); assertThat(embeddingResponse.getResults()).hasSize(1); assertThat(embeddingResponse.getResults().get(0)).isNotNull(); assertThat(embeddingResponse.getResults().get(0).getOutput()).hasSize(1536); - assertThat(embeddingResponse.getMetadata()).containsEntry("model", "text-embedding-ada-002"); + assertThat(embeddingResponse.getMetadata()).containsEntry("model", "text-embedding-3-small"); assertThat(embeddingResponse.getMetadata()).containsEntry("total-tokens", 2); assertThat(embeddingResponse.getMetadata()).containsEntry("prompt-tokens", 2); diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/embeddings/openai-embeddings.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/embeddings/openai-embeddings.adoc index 8d79e1104..144aa4ecd 100644 --- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/embeddings/openai-embeddings.adoc +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/embeddings/openai-embeddings.adoc @@ -62,7 +62,7 @@ The prefix `spring.ai.openai.embedding` is property prefix that configures the ` | spring.ai.openai.embedding.base-url | Optional overrides the spring.ai.openai.base-url to provide embedding specific url | - | spring.ai.openai.embedding.api-key | Optional overrides the spring.ai.openai.api-key to provide embedding specific api-key | - | spring.ai.openai.embedding.metadata-mode | Document content extraction mode. | EMBED -| spring.ai.openai.embedding.options.model | The model to use | text-embedding-3-small (other options: text-embedding-3-large, text-embedding-ada-002) +| spring.ai.openai.embedding.options.model | The model to use | text-embedding-ada-002 (other options: text-embedding-3-large, text-embedding-3-small) | spring.ai.openai.embedding.options.encodingFormat | The format to return the embeddings in. Can be either float or base64. | - | spring.ai.openai.embedding.options.user | A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. | - |==== diff --git a/vector-stores/spring-ai-milvus-store/src/test/java/org/springframework/ai/vectorstore/MilvusVectorStoreIT.java b/vector-stores/spring-ai-milvus-store/src/test/java/org/springframework/ai/vectorstore/MilvusVectorStoreIT.java index c13b9a3de..80bd3b256 100644 --- a/vector-stores/spring-ai-milvus-store/src/test/java/org/springframework/ai/vectorstore/MilvusVectorStoreIT.java +++ b/vector-stores/spring-ai-milvus-store/src/test/java/org/springframework/ai/vectorstore/MilvusVectorStoreIT.java @@ -310,8 +310,10 @@ public class MilvusVectorStoreIT { @Bean public EmbeddingClient embeddingClient() { - return new OpenAiEmbeddingClient(new OpenAiApi(System.getenv("OPENAI_API_KEY")), MetadataMode.EMBED, - OpenAiEmbeddingOptions.builder().withModel("text-embedding-ada-002").build()); + return new OpenAiEmbeddingClient(new OpenAiApi(System.getenv("OPENAI_API_KEY"))); + // return new OpenAiEmbeddingClient(new + // OpenAiApi(System.getenv("OPENAI_API_KEY")), MetadataMode.EMBED, + // OpenAiEmbeddingOptions.builder().withModel("text-embedding-ada-002").build()); } }