Before deploying your app, you might want to remove unused dependencies from your pyproject.toml file to reduce the size of your app and improve its performance. Depending on the vector database provider you choose, you can remove the packages that are not needed for your specific provider.
Here are the packages you can remove for each vector database provider:
- Pinecone: Remove
weaviate-client
,pymilvus
,qdrant-client
,redis
,chromadb
,llama-index
,azure-identity
,azure-search-documents
,supabase
,psycopg2
+pgvector
, andpsycopg2cffi
. - Weaviate: Remove
pinecone-client
,pymilvus
,qdrant-client
,redis
,chromadb
,llama-index
,azure-identity
andazure-search-documents
,supabase
,psycopg2
+pgvector
,psycopg2cffi
. - Zilliz: Remove
pinecone-client
,weaviate-client
,qdrant-client
,redis
,chromadb
,llama-index
,azure-identity
andazure-search-documents
,supabase
,psycopg2
+pgvector
, andpsycopg2cffi
. - Milvus: Remove
pinecone-client
,weaviate-client
,qdrant-client
,redis
,chromadb
,llama-index
,azure-identity
andazure-search-documents
,supabase
,psycopg2
+pgvector
, andpsycopg2cffi
. - Qdrant: Remove
pinecone-client
,weaviate-client
,pymilvus
,redis
,chromadb
,llama-index
,azure-identity
andazure-search-documents
,supabase
,psycopg2
+pgvector
, andpsycopg2cffi
. - Redis: Remove
pinecone-client
,weaviate-client
,pymilvus
,qdrant-client
,chromadb
,llama-index
,azure-identity
andazure-search-documents
,supabase
,psycopg2
+pgvector
, andpsycopg2cffi
. - LlamaIndex: Remove
pinecone-client
,weaviate-client
,pymilvus
,qdrant-client
,chromadb
,redis
,azure-identity
andazure-search-documents
,supabase
,psycopg2
+pgvector
, andpsycopg2cffi
. - Chroma:: Remove
pinecone-client
,weaviate-client
,pymilvus
,qdrant-client
,llama-index
,redis
,azure-identity
andazure-search-documents
,supabase
,psycopg2
+pgvector
, andpsycopg2cffi
. - Azure Cognitive Search: Remove
pinecone-client
,weaviate-client
,pymilvus
,qdrant-client
,llama-index
,redis
andchromadb
,supabase
,psycopg2
+pgvector
, andpsycopg2cffi
. - Supabase: Remove
pinecone-client
,weaviate-client
,pymilvus
,qdrant-client
,redis
,llama-index
,azure-identity
andazure-search-documents
,psycopg2
+pgvector
, andpsycopg2cffi
. - Postgres: Remove
pinecone-client
,weaviate-client
,pymilvus
,qdrant-client
,redis
,llama-index
,azure-identity
andazure-search-documents
,supabase
, andpsycopg2cffi
. - AnalyticDB: Remove
pinecone-client
,weaviate-client
,pymilvus
,qdrant-client
,redis
,llama-index
,azure-identity
andazure-search-documents
,supabase
, andpsycopg2
+pgvector
.
After removing the unnecessary packages from the pyproject.toml
file, you don't need to run poetry lock
and poetry install
manually. The provided Dockerfile takes care of installing the required dependencies using the requirements.txt
file generated by the poetry export
command.