opea-project / GenAIExamples

Generative AI Examples is a collection of GenAI examples such as ChatQnA, Copilot, which illustrate the pipeline capabilities of the Open Platform for Enterprise AI (OPEA) project.
https://opea.dev
Apache License 2.0
238 stars 153 forks source link

UI Enhancement needed #375

Closed dhandhalyabhavik closed 3 weeks ago

dhandhalyabhavik commented 3 months ago

I brought up ChatQnA UI with all the containers.

Issue 1. Huggingface download update

Huggingface TGI container was downloading model, it took so much time around ~12min for Intel/Neural chat model. Meanwhile, I was entering text in chatbox and nothing was happening. (Is there a way to show that model is being download?)

Issue 2: Document upload and parcing

I uploaded a document (there was no button for submit), I assumed it got submitted. Then I started asking questions related to doc but model responded with no context provided. Then I checked dataprep logs and it was still starting inside container. (How to know this without looking at logs?)

Once the start completed, dataprep showed this log

Parsing document ./uploaded_files/myfile.pdf.
Using CPU. Note: This module is much faster with a GPU.
Done preprocessing. Created  13  chunks of the original pdf         (0 + 1) / 1]

Even parsing took so much time on CPU. (Display a progress bar or something so that user knows that their documents are still being procesed).

eero-t commented 3 months ago

Model download happens only once on first startup, so it's less of a problem than context uploads.

For that I think service could implement probe(s)[1] to indicate when it's ready to respond external input.

Current data prep progress notifications in the k8s pod logs are not really useful, they just slow down seeing the relevant parts of the logs.

As you stated, user interface is where the progress information for that is needed. For logs I think it would be enough to record start and finish times for downloads.

[1] https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

dhandhalyabhavik commented 3 months ago

Hi, Sorry I didn't get your point. Please tell me, after running docker compose -f file.yaml up, I directly went to UI.

Without looking at logs, How to know if model is downloading OR uploaded file is getting parsed -> chunked -> embedded in background?

Don't you think this is very crucial and useful information when it comes to sharing this codebase or examples with customer?

eero-t commented 3 months ago

My comments were about the Kubernetes deployment of ChatQnA. That suffers from exactly the same issue.

With readiness probes, UI could check and delay offering of its service until model is loaded by its dependency.

(Model needs to be downloaded only once, so UI startup would be delayed only once.)

Therefore IMHO only context upload needs GUI feedback.

dhandhalyabhavik commented 3 months ago

Understood, Thanks. So Is there any planning to add GUI feedback for context upload progress?

kevinintel commented 3 weeks ago

fixed