Revert default OpenAI embedding to text-embedding-ada-002 as some vector stores have problems with 3-small
This commit is contained in:
@@ -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<String> SSE_DONE_PREDICATE = "[DONE]"::equals;
|
||||
|
||||
private final RestClient restClient;
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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. | -
|
||||
|====
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user