Cinnamon / kotaemon

An open-source RAG-based tool for chatting with your documents.
https://cinnamon.github.io/kotaemon/
Apache License 2.0
17.39k stars 1.34k forks source link

Missing Dependency: llama-index-vector-stores-qdrant in Docker Image hosted on ghcr.io #306

Closed Niko-La closed 2 months ago

Niko-La commented 2 months ago

Description

Missing dependency: llama_index.vector_stores.qdrant

Description

When running the Docker image ghcr.io/cinnamon/kotaemon:latest, the application fails due to a missing dependency. The error suggests that the llama_index package is either not installed or an incompatible version is present.

Error Message

ModuleNotFoundError: No module named 'llama_index.vector_stores.qdrant'

Steps to Reproduce

  1. Pull the latest image: docker pull ghcr.io/cinnamon/kotaemon:latest
  2. Run the container:
    docker run -e GRADIO_SERVER_NAME=0.0.0.0 -e GRADIO_SERVER_PORT=7860 -p 7860:7860 -v $(pwd):/app -it --rm --name rag_dog ghcr.io/cinnamon/kotaemon:latest

Expected Behavior

The container should start without any module import errors.

Suggested Fix

Please update the Dockerfile to include the following dependencies:

Environment

Additional Context

This error prevents the application from starting, making the container unusable for its intended purpose.

Reproduction steps

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

Screenshots

![DESCRIPTION](LINK.png)

Logs

No response

Browsers

No response

OS

No response

Additional information

No response

Niko-La commented 2 months ago

It appears that the problem stems from using an outdated tag for the Docker image.

The latest tag is no longer the recommended way to run the container. Instead, please use one of the following new tags:

running the new Docker run command as follows worked, i added -v for persistence but is not needed:


docker run -e GRADIO_SERVER_NAME=0.0.0.0 -e GRADIO_SERVER_PORT=7860 -p 7860:7860 -v $(pwd):/app -it --rm --name rag_dog ghcr.io/cinnamon/kotaemon:main-full
Niko-La commented 2 months ago
docker run -e GRADIO_SERVER_NAME=0.0.0.0 -e GRADIO_SERVER_PORT=7860 -p 7860:7860 -v $(pwd):/data -it --rm --name rag_dog ghcr.io/cinnamon/kotaemon:main-full

-v flag still gives error works fine without persistance

work-around for now

docker run -e GRADIO_SERVER_NAME=0.0.0.0 -e GRADIO_SERVER_PORT=7860 -p 7860:7860 \
  -v $(pwd)/app.py:/app/app.py \
  -v $(pwd)/templates:/app/templates \
  -v $(pwd)/ktem_app_data:/app/ktem_app_data \
  -it --rm --name rag_dog ghcr.io/cinnamon/kotaemon:main-full \
  /bin/bash -c "echo PYTHONPATH: $PYTHONPATH && python /app/app.py"

if there is a better way please suggest, persistence important lot of people