cloud-vectordb-examples icon indicating copy to clipboard operation
cloud-vectordb-examples copied to clipboard

Unable to insert the vector data in the collection created in the cloud when using with Spring AI

Open codefarm0 opened this issue 9 months ago • 1 comments

I am able to create the collection properly and search. Able to insert via search API . Here is the code snipped thats trying to insert the data ` package com.learn.openai.demo.service.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.ai.document.Document;
import org.springframework.ai.embedding.EmbeddingModel;
import org.springframework.ai.reader.tika.TikaDocumentReader;
import org.springframework.ai.transformer.splitter.TextSplitter;
import org.springframework.ai.transformer.splitter.TokenTextSplitter;
import org.springframework.ai.vectorstore.milvus.MilvusVectorStore;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.ConnectParam;
import io.milvus.param.collection.CreateCollectionParam;
import io.milvus.param.collection.FieldType;
import io.milvus.param.collection.LoadCollectionParam;
import io.milvus.param.index.CreateIndexParam;
import io.milvus.grpc.DataType;

import java.util.List;

@Slf4j
@Configuration
public class MilvusVectorStoreConfig {

@Value("${spring.ai.vectorstore.milvus.client.host}")
private String host;

@Value("${spring.ai.vectorstore.milvus.client.port}")
private int port;

@Value("${spring.ai.vectorstore.milvus.client.uri}")
private String uri;

@Value("${spring.ai.vectorstore.milvus.client.token}")
private String token;

@Value("${spring.ai.vectorstore.milvus.collection-name}")
private String collectionName;

@Value("${spring.ai.vectorstore.milvus.metric-type}")
private String metricType;

@Bean
public MilvusServiceClient milvusServiceClient() {
    ConnectParam connectParam = ConnectParam.newBuilder()
            .withHost(host)
            .withPort(port)
            .withUri(uri)
            .withToken(token)
//                .withDatabaseName("proj-5670b6f942143eb0c19ad7")
            .build();
    return new MilvusServiceClient(connectParam);
}

@Bean
public MilvusVectorStore milvusVectorStore(MilvusServiceClient milvusServiceClient, EmbeddingModel embeddingModel,     VectorStoreProperties vectorStoreProperties) {
    // Get the actual embedding dimension from the model
    int actualDimension = getEmbeddingDimension(embeddingModel);
    log.info("Detected embedding dimension: {}", actualDimension);
    
    // Create collection if it doesn't exist
    boolean wasCreated = createCollectionIfNotExists(milvusServiceClient, actualDimension);
    
    MilvusVectorStore store = MilvusVectorStore.builder(milvusServiceClient, embeddingModel)
            .collectionName(collectionName)
            .build();

    // Load the collection into memory
    loadCollection(milvusServiceClient);

    // Check if collection has data by trying a similarity search
    boolean collectionHasData = checkCollectionHasData(store);
    
    if (collectionHasData) {
        log.info("Milvus collection '{}' already has data, skipping data loading", collectionName);
    } else {
        log.info("Milvus collection '{}' is empty, loading movie data...", collectionName);
        loadMovieData(store, vectorStoreProperties);
    }
    
    return store;
}

private int getEmbeddingDimension(EmbeddingModel embeddingModel) {
    try {
        // Generate a test embedding to get the dimension
        float[] testEmbedding = embeddingModel.embed("test");
        return testEmbedding.length;
    } catch (Exception e) {
        log.warn("Could not detect embedding dimension from model, using default 1536", e);
        return 1536; // Default to 1536 (common for OpenAI models)
    }
}

private boolean createCollectionIfNotExists(MilvusServiceClient milvusServiceClient, int dimension) {
    try {
        // Check if collection exists
        boolean exists = milvusServiceClient.hasCollection(
            io.milvus.param.collection.HasCollectionParam.newBuilder()
                .withCollectionName(collectionName)
                .build()
        ).getData();
        
        if (!exists) {
            log.info("Creating Milvus collection: {} with dimension: {}", collectionName, dimension);
            
            // Create collection with all required fields for Spring AI
            CreateCollectionParam createCollectionParam = CreateCollectionParam.newBuilder()
                .withCollectionName(collectionName)
                .withDescription("Movie embeddings collection")
                .addFieldType(FieldType.newBuilder()
                    .withName("id")
                    .withDataType(DataType.Int64)
                    .withPrimaryKey(true)
                    .withAutoID(true)
                    .build())
                .addFieldType(FieldType.newBuilder()
                    .withName("doc_id")
                    .withDataType(DataType.VarChar)
                    .withMaxLength(65535)
                    .build())
                .addFieldType(FieldType.newBuilder()
                    .withName("content")
                    .withDataType(DataType.VarChar)
                    .withMaxLength(65535)
                    .build())
                .addFieldType(FieldType.newBuilder()
                    .withName("metadata")
                    .withDataType(DataType.JSON)
                    .build())
                .addFieldType(FieldType.newBuilder()
                    .withName("embedding")
                    .withDataType(DataType.FloatVector)
                    .withDimension(dimension)
                    .build())
                .build();
            
            milvusServiceClient.createCollection(createCollectionParam);
            
            // Create index on embedding field
            CreateIndexParam createIndexParam = CreateIndexParam.newBuilder()
                .withCollectionName(collectionName)
                .withFieldName("embedding")
                .withIndexType(io.milvus.param.IndexType.IVF_FLAT)
                .withMetricType(io.milvus.param.MetricType.valueOf(metricType))
                .withExtraParam("{\"nlist\":1024}")
                .build();
            
            milvusServiceClient.createIndex(createIndexParam);
            
            log.info("Successfully created collection and index: {}", collectionName);
            return true; // Collection was created
        } else {
            log.info("Collection '{}' already exists", collectionName);
            return false; // Collection already existed
        }
        
    } catch (Exception e) {
        log.error("Error creating collection: {}", e.getMessage(), e);
        throw new RuntimeException("Failed to create Milvus collection", e);
    }
}

private void loadCollection(MilvusServiceClient milvusServiceClient) {
    try {
        log.info("Loading collection '{}' into memory...", collectionName);
        
        LoadCollectionParam loadCollectionParam = LoadCollectionParam.newBuilder()
            .withCollectionName(collectionName)
            .build();
        
        milvusServiceClient.loadCollection(loadCollectionParam);
        
        log.info("Successfully loaded collection '{}' into memory", collectionName);
        
    } catch (Exception e) {
        log.error("Error loading collection: {}", e.getMessage(), e);
        throw new RuntimeException("Failed to load Milvus collection", e);
    }
}

private boolean checkCollectionHasData(MilvusVectorStore store) {
    try {
        // Try to perform a simple similarity search to check if collection has data
        List<Document> results = store.similaritySearch("Movie");
        return !results.isEmpty();
    } catch (Exception e) {
        log.info("Collection appears to be empty: {}", e.getMessage());
        return false;
    }
}

private void loadMovieData(MilvusVectorStore store, VectorStoreProperties vectorStoreProperties) {
    vectorStoreProperties.getDocumentsToLoad().forEach(document -> {
        log.info("Loading document: {}", document);
        
        try {
            TikaDocumentReader documentReader = new TikaDocumentReader(document);
            List<Document> documents = documentReader.get();
            TextSplitter textSplitter = new TokenTextSplitter();
            List<Document> splitDocs = textSplitter.apply(documents);
            if (!splitDocs.isEmpty()) {
                log.info("First document to insert: {}", splitDocs.get(0));
            }
            store.add(splitDocs);
            
            log.info("Added {} split documents to Milvus", splitDocs.size());
            
            // Rate limiting to avoid overwhelming the embedding API
            Thread.sleep(1000);
            
        } catch (Exception e) {
            log.error("Error loading document: {}", document, e);
            throw new RuntimeException("Failed to load document: " + document, e);
        }
    });
    
    log.info("Successfully loaded all movie data into Milvus collection: {}", collectionName);
}
} `

build.gradle dependency for spring milvus -->

implementation 'org.springframework.ai:spring-ai-starter-vector-store-milvus'

I am happy to share more data as needed.

codefarm0 avatar Jul 02 '25 15:07 codefarm0

Here is the error that i get

` 2025-07-02T20:18:06.368+05:30 INFO 47455 --- [openai-demo-service] [ main] c.l.o.d.s.c.MilvusVectorStoreConfig : Collection appears to be empty: Search failed! 2025-07-02T20:18:06.369+05:30 INFO 47455 --- [openai-demo-service] [ main] c.l.o.d.s.c.MilvusVectorStoreConfig : Milvus collection 'movie_embeddings_v4' is empty, loading movie data... 2025-07-02T20:18:06.369+05:30 INFO 47455 --- [openai-demo-service] [ main] c.l.o.d.s.c.MilvusVectorStoreConfig : Loading document: class path resource [movies500large.csv] 2025-07-02T20:18:06.995+05:30 INFO 47455 --- [openai-demo-service] [ main] o.s.a.transformer.splitter.TextSplitter : Splitting up document into 363 chunks. 2025-07-02T20:18:06.997+05:30 INFO 47455 --- [openai-demo-service] [ main] c.l.o.d.s.c.MilvusVectorStoreConfig : First document to insert: Document{id='43561156-e8c0-4ec2-b8e2-a004d80c7a1a', text='19995,Avatar,Action-Adventure-Fantasy-Science Fiction,en,In the 22nd century a paraplegic Marine is dispatched to the moon Pandora on a unique mission but becomes torn between following orders and protecting an alien civilization.,296.05,Dune Entertainment-Lightstorm Entertainment-20th Century Fox-Ingenious Media,12/15/09,237000000,2920357254,162,Released,Enter the world of Pandora.,7.569,28943,Sam Worthington-Zoe Salda��a-Stephen Lang-Michelle Rodriguez-Sigourney Weaver-Giovanni Ribisi-Joel David Moore-CCH Pounder-Wes Studi-Laz Alonso-Dileep Rao-Matt Gerald-Sean Anthony Moran-Jason Whyte-Scott Lawrence-Kelly Kilgour-James Patrick Pitt-Sean Patrick Murphy-Peter Dillon-Kevin Dorman-Kelson Henderson-David Van Horn-Jacob Tomuri-Michael Blain-Rozgay-Jon Curry-Julene Renee-Luke Hawker-Woody Schultz-Peter Mensah-Sonia Yee-Jahnel Curfman-Ilram Choi-Kyla Warren-Alicia Vela-Bailey-Kyle Dryberg-Larry Rew-Dina Morrone-Rodney Cook,culture clash-future-space war-space colony-society-space travel-futuristic-romance-space-alien-tribe-alien planet-marine-soldier-battle-love affair-nature-anti war-power relations-mind and soul,/jRXYjXNq0Cs2TcJjLkki24MLp7u.jpg,/vL5LR6WdxWPjLPFRLe133jXWsh5.jpg,183392-111332-874764-613200-100287-1010821-1059673-773867-76600-572261-278698-24428-287003-49051-49026-520946-70160-27205-120-1726-811913 299534,Avengers: Endgame,Adventure-Science Fiction-Action,en,After the devastating events of Avengers: Infinity War the universe is in ruins due to the efforts of the Mad Titan Thanos. With the help of remaining allies the Avengers must assemble once more in order to undo Thanos' actions and restore order to the universe once and for all no matter what consequences may be in store.,201.42,Marvel Studios,4/24/19,356000000,2799439100,181,Released,Avenge the fallen.,8.268,22759,Robert Downey Jr.-Chris Evans-Mark Ruffalo-Chris Hemsworth-Scarlett Johansson-Jeremy Renner-Don Cheadle-Paul Rudd-Benedict Cumberbatch-Chadwick Boseman-Brie Larson-Tom Holland-Karen Gillan-Zoe Salda��a-Evangeline Lilly-Tessa Thompson-Rene Russo-Elizabeth Olsen-Anthony Mackie-Sebastian Stan-Tom Hiddleston-Danai Gurira-Benedict Wong-Pom Klementieff-Dave Bautista-Letitia Wright-John Slattery-Tilda Swinton-Jon Favreau-Hayley Atwell-Natalie Portman-Marisa Tomei-Taika Waititi-Angela Bassett-Michael Douglas-Michelle Pfeiffer-William Hurt-Cobie Smulders-Sean Gunn-Winston Duke-Linda Cardellini-Maximiliano Hern��ndez-Frank Grillo-Hiroyuki Sanada-Tom Vaughan-Lawlor-James D'Arcy-Jacob Batalon-Vin Diesel-Bradley Cooper-Gwyneth Paltrow-Robert Redford-Josh Brolin-Chris Pratt-Samuel L.', media='null', metadata={source=movies500large.csv}, score=null} 2025-07-02T20:19:14.043+05:30 ERROR 47455 --- [openai-demo-service] [ main] i.m.client.AbstractMilvusGrpcClient : Fail to describe collection 'movie_embeddings_v4' in database 'default' failed, error code: 100, reason: can't find collection[database=default][collection=movie_embeddings_v4] 2025-07-02T20:19:14.046+05:30 ERROR 47455 --- [openai-demo-service] [ main] i.m.client.AbstractMilvusGrpcClient : InsertRequest collectionName:movie_embeddings_v4 failed! Exception:{}

io.milvus.exception.ServerException: can't find collection[database=default][collection=movie_embeddings_v4] at io.milvus.client.AbstractMilvusGrpcClient.handleResponse(AbstractMilvusGrpcClient.java:399) ~[milvus-sdk-java-2.5.8.jar:na] at io.milvus.client.AbstractMilvusGrpcClient.getCollectionInfo(AbstractMilvusGrpcClient.java:95) ~[milvus-sdk-java-2.5.8.jar:na] at io.milvus.client.AbstractMilvusGrpcClient.insert(AbstractMilvusGrpcClient.java:1579) ~[milvus-sdk-java-2.5.8.jar:na] at io.milvus.client.MilvusServiceClient.lambda$insert$35(MilvusServiceClient.java:626) ~[milvus-sdk-java-2.5.8.jar:na] at io.milvus.client.MilvusServiceClient.retry(MilvusServiceClient.java:326) ~[milvus-sdk-java-2.5.8.jar:na] at io.milvus.client.MilvusServiceClient.insert(MilvusServiceClient.java:626) ~[milvus-sdk-java-2.5.8.jar:na] at org.springframework.ai.vectorstore.milvus.MilvusVectorStore.doAdd(MilvusVectorStore.java:273) ~[spring-ai-milvus-store-1.0.0.jar:1.0.0] at org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore.lambda$add$1(AbstractObservationVectorStore.java:85) ~[spring-ai-vector-store-1.0.0.jar:1.0.0] at io.micrometer.observation.Observation.observe(Observation.java:498) ~[micrometer-observation-1.15.1.jar:1.15.1] at org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore.add(AbstractObservationVectorStore.java:85) ~[spring-ai-vector-store-1.0.0.jar:1.0.0] at com.learn.openai.demo.service.config.MilvusVectorStoreConfig.lambda$loadMovieData$0(MilvusVectorStoreConfig.java:210) ~[main/:na] at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) ~[na:na] at com.learn.openai.demo.service.config.MilvusVectorStoreConfig.loadMovieData(MilvusVectorStoreConfig.java:196) ~[main/:na] at com.learn.openai.demo.service.config.MilvusVectorStoreConfig.milvusVectorStore(MilvusVectorStoreConfig.java:80) ~[main/:na] at com.learn.openai.demo.service.config.MilvusVectorStoreConfig$$SpringCGLIB$$0.CGLIB$milvusVectorStore$1() ~[main/:na] at com.learn.openai.demo.service.config.MilvusVectorStoreConfig$$SpringCGLIB$$FastClass$$1.invoke() ~[main/:na] at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:258) ~[spring-core-6.2.8.jar:6.2.8] at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:400) ~[spring-context-6.2.8.jar:6.2.8] at com.learn.openai.demo.service.config.MilvusVectorStoreConfig$$SpringCGLIB$$0.milvusVectorStore() ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[na:na] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:171) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiateWithFactoryMethod(SimpleInstantiationStrategy.java:88) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:168) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:645) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1375) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1205) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1745) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1628) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1395) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1232) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1683) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1628) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1395) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1232) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1222) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1188) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1123) ~[spring-beans-6.2.8.jar:6.2.8] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) ~[spring-context-6.2.8.jar:6.2.8] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) ~[spring-context-6.2.8.jar:6.2.8] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.5.3.jar:3.5.3] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-3.5.3.jar:3.5.3] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.5.3.jar:3.5.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) ~[spring-boot-3.5.3.jar:3.5.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) ~[spring-boot-3.5.3.jar:3.5.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) ~[spring-boot-3.5.3.jar:3.5.3] at com.learn.openai.demo.service.OpenaiDemoServiceApplication.main(OpenaiDemoServiceApplication.java:10) ~[main/:na]

2025-07-02T20:19:14.049+05:30 ERROR 47455 --- [openai-demo-service] [ main] c.l.o.d.s.c.MilvusVectorStoreConfig : Error loading document: class path resource [movies500large.csv]

`

codefarm0 avatar Jul 02 '25 15:07 codefarm0