Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Service Connection support for a better gettting started experience #151

Closed
6 tasks done
eddumelendez opened this issue Dec 9, 2023 · 6 comments
Closed
6 tasks done
Milestone

Comments

@eddumelendez
Copy link
Contributor

eddumelendez commented Dec 9, 2023

Spring AI is built on top of Spring Boot 3.1, which offers ConnectionDetails and ServiceConnection support for Docker Compose and Testcontainers to improve DevEx

Expected Behavior

Support in Testcontainers modules for Chroma, Milvus, Weaviate and Qdrant. Also, redis can be through GenericContainer and for specific images listed below

Support

  • Chroma (ghcr.io/chroma-core/chroma)
  • Milvus (milvusdb/milvus)
  • Ollama (ollama/ollama)
  • Weaviate (semitechnologies/weaviate)
  • Redis (redis)
  • Qdrant (qdrant/qdrant)

Current Behavior

Use @DynamicPropertySource.

I can contribute or collaborate if other contributors are willing to contribute on this.

@markpollack markpollack added this to the 0.9.0 milestone Jan 7, 2024
@markpollack
Copy link
Member

This probably isn't a high priority in the quick march to a 1.0 release, but I can see it being a useful option. I've put it on 0.9.0 for now so that we can discuss more and it doesn't get lost.

@ThomasVitale
Copy link
Contributor

This would be a really great feature. Combined with the Spring CLI functionality for project catalogs, it could result in a very nice "getting started" experience. I'm doing something like that in the LangChain4j Spring Boot extension: https://github.com/ThomasVitale/langchain4j-spring-boot

@eddumelendez
Copy link
Contributor Author

Testcontainers 1.19.6 provides new modules for ChromaDB, Milvus, Qdrant and Weaviate. This can help to configure development environments.

@eddumelendez
Copy link
Contributor Author

Some support for vector databases such as pgvector and neo4j have been submitted to start.spring.io project.

Wondering if the topic has been discussed and are willing to receive contributions. I would like to start adding a first PR adding the infrastructure and new modules for docker-compose and testcontainers with redis service connection support and once having a baseline other PRs can be submitted for each vector database. WDYT?

@markpollack
Copy link
Member

markpollack commented Feb 29, 2024

Hi @eddumelendez I think I misunderstood this upon first reading and now going back to do issue triage have re-read your suggestion and ThomasVitale comment made the light bulb go off. As the author of Spring CLI I'm super keen to go down this approach with respect to devex. Perhaps we can have a zoom call to discuss as it maybe hard to capture everything async via comments. You can email me at mpollack@vmware dot com and we can discuss more. Thanks again.

@markpollack markpollack changed the title Add Service Connection support Add Service Connection support for a better gettting started experience Feb 29, 2024
@eddumelendez
Copy link
Contributor Author

Completed in #453

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants