ChatbotRAG / verify_dependencies.py
minhvtt's picture
Upload 20 files
500cf95 verified
"""
Verify all dependencies are installed correctly
Run: python verify_dependencies.py
"""
import sys
def check_dependency(module_name, package_name=None):
"""Check if a dependency is installed"""
if package_name is None:
package_name = module_name
try:
__import__(module_name)
print(f"βœ“ {package_name}")
return True
except ImportError as e:
print(f"βœ— {package_name} - NOT INSTALLED")
print(f" Error: {e}")
return False
def main():
print("="*60)
print("Dependency Verification")
print("="*60)
dependencies = [
# Web framework
("fastapi", "fastapi"),
("uvicorn", "uvicorn"),
("multipart", "python-multipart"),
# ML & Embeddings
("torch", "torch"),
("transformers", "transformers"),
("PIL", "pillow"),
("numpy", "numpy"),
# Vector DB
("qdrant_client", "qdrant-client"),
# Utilities
("pydantic", "pydantic"),
("dotenv", "python-dotenv"),
# MongoDB
("pymongo", "pymongo"),
("huggingface_hub", "huggingface-hub"),
("timm", "timm"),
("einops", "einops"),
# PDF Processing (NEW)
("pypdfium2", "pypdfium2"),
]
print("\nChecking dependencies...\n")
all_ok = True
for module, package in dependencies:
if not check_dependency(module, package):
all_ok = False
print("\n" + "="*60)
if all_ok:
print("βœ“ All dependencies installed successfully!")
print("\nYou can now run:")
print(" python main.py")
else:
print("βœ— Some dependencies are missing!")
print("\nPlease install missing dependencies:")
print(" pip install -r requirements.txt")
sys.exit(1)
print("="*60)
# Check optional features
print("\nChecking system modules...\n")
# Check our custom modules
custom_modules = [
"embedding_service",
"qdrant_service",
"advanced_rag",
"pdf_parser",
"multimodal_pdf_parser",
]
for module in custom_modules:
try:
__import__(module)
print(f"βœ“ {module}.py")
except ImportError as e:
print(f"βœ— {module}.py - ERROR: {e}")
print("\n" + "="*60)
print("Verification complete!")
print("="*60)
if __name__ == "__main__":
main()