Re-align the grpc dependecies and exclusions so that Milvus and Pinecone autoconfigurations ITs work

This commit is contained in:
Christian Tzolov
2024-01-26 18:32:55 +01:00
parent 08fea315a4
commit 8f9a1475c1
7 changed files with 41 additions and 51 deletions

View File

@@ -22,23 +22,22 @@ import java.util.concurrent.ConcurrentHashMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ai.chat.ChatClient;
import org.springframework.ai.chat.ChatResponse;
import reactor.core.publisher.Flux;
import org.springframework.ai.chat.StreamingChatClient;
import org.springframework.ai.chat.ChatClient;
import org.springframework.ai.chat.ChatResponse;
import org.springframework.ai.chat.Generation;
import org.springframework.ai.chat.StreamingChatClient;
import org.springframework.ai.chat.messages.Message;
import org.springframework.ai.chat.metadata.ChatGenerationMetadata;
import org.springframework.ai.chat.metadata.RateLimit;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.openai.api.OpenAiApi;
import org.springframework.ai.openai.api.OpenAiApi.ChatCompletion;
import org.springframework.ai.openai.api.OpenAiApi.ChatCompletionMessage;
import org.springframework.ai.openai.api.OpenAiApi.OpenAiApiClientErrorException;
import org.springframework.ai.openai.api.OpenAiApi.OpenAiApiException;
import org.springframework.ai.openai.metadata.OpenAiChatResponseMetadata;
import org.springframework.ai.openai.metadata.support.OpenAiResponseHeaderExtractor;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.chat.messages.Message;
import org.springframework.http.ResponseEntity;
import org.springframework.retry.support.RetryTemplate;
import org.springframework.util.Assert;

View File

@@ -24,7 +24,6 @@ import java.util.UUID;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.DockerComposeContainer;
import org.testcontainers.containers.wait.strategy.Wait;
@@ -47,7 +46,6 @@ import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Christian Tzolov
*/
@Disabled("Disabled until https://github.com/milvus-io/milvus-sdk-java/issues/704")
@Testcontainers
public class MilvusVectorStoreAutoConfigurationIT {

View File

@@ -37,7 +37,7 @@ services:
retries: 3
standalone:
image: milvusdb/milvus:v2.3.1
image: milvusdb/milvus:v2.3.5
command: ["milvus", "run", "standalone"]
environment:
ETCD_ENDPOINTS: etcd:2379

View File

@@ -31,27 +31,6 @@
<groupId>io.milvus</groupId>
<artifactId>milvus-sdk-java</artifactId>
<version>${milvus.version}</version>
<exclusions>
<exclusion>
<groupId>io.netty</groupId>
<artifactId>netty-codec</artifactId>
</exclusion>
<exclusion>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http2</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec</artifactId>
<version>4.1.101.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http2</artifactId>
<version>4.1.100.Final</version>
</dependency>
<!-- TESTING -->
@@ -62,6 +41,13 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai</artifactId>
<version>${parent.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-test</artifactId>

View File

@@ -40,9 +40,9 @@ import org.testcontainers.junit.jupiter.Testcontainers;
import org.springframework.ai.document.Document;
import org.springframework.ai.embedding.EmbeddingClient;
import org.springframework.ai.openai.OpenAiEmbeddingClient;
import org.springframework.ai.openai.api.OpenAiApi;
import org.springframework.ai.vectorstore.MilvusVectorStore.MilvusVectorStoreConfig;
import org.springframework.ai.vertex.api.VertexAiApi;
import org.springframework.ai.vertex.VertexAiEmbeddingClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -58,8 +58,8 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Christian Tzolov
*/
@Testcontainers
// @EnabledIfEnvironmentVariable(named = "OPENAI_API_KEY", matches = ".+")
@EnabledIfEnvironmentVariable(named = "PALM_API_KEY", matches = ".+")
@EnabledIfEnvironmentVariable(named = "OPENAI_API_KEY", matches = ".+")
// @EnabledIfEnvironmentVariable(named = "PALM_API_KEY", matches = ".+")
public class MilvusVectorStoreIT {
private static DockerComposeContainer milvusContainer;
@@ -307,9 +307,9 @@ public class MilvusVectorStoreIT {
@Bean
public EmbeddingClient embeddingClient() {
return new VertexAiEmbeddingClient(new VertexAiApi(System.getenv("PALM_API_KEY")));
// return new OpenAiEmbeddingClient(new
// OpenAiApi(System.getenv("OPENAI_API_KEY")));
// return new VertexAiEmbeddingClient(new
// VertexAiApi(System.getenv("PALM_API_KEY")));
return new OpenAiEmbeddingClient(new OpenAiApi(System.getenv("OPENAI_API_KEY")));
}
}

View File

@@ -37,7 +37,7 @@ services:
retries: 3
standalone:
image: milvusdb/milvus:v2.3.1
image: milvusdb/milvus:v2.3.5
command: ["milvus", "run", "standalone"]
environment:
ETCD_ENDPOINTS: etcd:2379

View File

@@ -35,31 +35,38 @@
<dependency>
<groupId>io.pinecone</groupId>
<artifactId>pinecone-client</artifactId>
<version>${pinecone.version}</version>
<exclusions>
<exclusion>
<groupId>io.netty</groupId>
<artifactId>netty-codec</artifactId>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
</exclusion>
<exclusion>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http2</artifactId>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
</exclusion>
<exclusion>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
</exclusion>
</exclusions>
<version>${pinecone.version}</version>
</dependency>
<!-- Overrides the pinecone's dependencies. TODO review after pincone verions is updated to > 0.6.0 -->
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec</artifactId>
<version>4.1.101.Final</version>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
<version>1.59.1</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http2</artifactId>
<version>4.1.100.Final</version>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>1.59.1</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>1.59.1</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>