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 video-llama LVM microservice under lvms #495

Merged
merged 33 commits into from
Aug 21, 2024

Conversation

BaoHuiling
Copy link
Collaborator

Description

Add support for video-llama LVM, which allows us to chat based on video file with LVM. The first usecase is VideoRAGQnA use case from Multimodal RAG proposal.

Issues

List the issue or RFC link this PR is working on. If there is no such link, please mark it as n/a.
The RFC is still under review. opea-project/docs#49

Type of change

List the type of change like below. Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds new functionality)
  • Breaking change (fix or feature that would break existing design and interface)
  • Others (enhancement, documentation, validation, etc.)

Dependencies

python:3.9-slim git git-lfs faiss-cpu sentencepiece pandas Pillow prometheus_fastapi_instrumentator ftfy decord einops iopath omegaconf opencv-python-headless timm torch torchaudio langchain-core transformers webdataset pytorchvideo DAMO-NLP-SG/Video-LLaMA(github repo) DAMO-NLP-SG/Video-LLaMA-2-7B-Finetuned (huggingface repo)

Tests

Describe the tests that you ran to verify your changes.
https://github.com/siddhivelankar23/GenAIComps/blob/huiling-lvm/tests/test_lvms_video-llama.sh: build, start, validate, clean the microservice

BaoHuiling and others added 16 commits August 15, 2024 19:04
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
@BaoHuiling BaoHuiling force-pushed the lvm branch 2 times, most recently from 7476487 to ff6110c Compare August 16, 2024 02:39
Copy link

codecov bot commented Aug 16, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Files Coverage Δ
comps/cores/proto/docarray.py 99.00% <100.00%> (+0.06%) ⬆️

... and 1 file with indirect coverage changes

Signed-off-by: BaoHuiling <huiling.bao@intel.com>
BaoHuiling and others added 5 commits August 16, 2024 11:17
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
@kevinintel kevinintel requested a review from Spycsh August 16, 2024 06:38
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
@BaoHuiling
Copy link
Collaborator Author

@chensuyue Hello Suyue, one question here, does the server that runs the CI test have access to the huggingface repo? I need to download files under https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-7B-Finetuned/tree/main, but it seems that this step is bypassed or failed.

@chensuyue
Copy link
Collaborator

@chensuyue Hello Suyue, one question here, does the server that runs the CI test have access to the huggingface repo? I need to download files under https://huggingface.co/DAMO-NLP-SG/Video-LLaMA-2-7B-Finetuned/tree/main, but it seems that this step is bypassed or failed.

Yes, generally it should have. Use $HF_TOKEN in your test scripts.

Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
@BaoHuiling
Copy link
Collaborator Author

@chensuyue Thank you for your comment, the image is download successfully.

However another problem occured, the port that i'm using 9000 is already allocated. The old containers are already cleaned before running the test, could you help to check environment and remove the conflict?
image

@chensuyue chensuyue added this to the v0.9 milestone Aug 17, 2024
@chensuyue
Copy link
Collaborator

@chensuyue Thank you for your comment, the image is download successfully.

However another problem occured, the port that i'm using 9000 is already allocated. The old containers are already cleaned before running the test, could you help to check environment and remove the conflict? image

port 9000 is widely used, also in GenAIExamples CI test, and they share the test machine. So please change the port into 5xxx which is suggested to be used in GenAIComps CI.

@BaoHuiling
Copy link
Collaborator Author

@Spycsh @lvliang-intel Please help to review the code, thanks!

Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
@BaoHuiling
Copy link
Collaborator Author

Hello, @chensuyue @Spycsh @lvliang-intel could anyone help to review the code? The DDL is tomorrow and we may need some time to fix required changes.🙂

@Spycsh
Copy link
Member

Spycsh commented Aug 20, 2024

Hi @BaoHuiling , thanks for this exciting feature! It looks good to me. I just have a few questions: This only support Xeon CPU/CUDA, right? Have you tried video-llama LVM on Gaudi? Do you have a plan on optimizing it on Gaudi? Don't worry, we will still merge it for now if the HPU support is not clear for this component.

@BaoHuiling
Copy link
Collaborator Author

Hi @BaoHuiling , thanks for this exciting feature! It looks good to me. I just have a few questions: This only support Xeon CPU/CUDA, right? Have you tried video-llama LVM on Gaudi? Do you have a plan on optimizing it on Gaudi? Don't worry, we will still merge it for now if the HPU support is not clear for this component.

Thanks for the comment. Yes only Xeon is supported now. We haven't planned optimization on Gaudi yet, but I think it's good to have in the future.

@chensuyue chensuyue merged commit db8c893 into opea-project:main Aug 21, 2024
14 checks passed
chensuyue pushed a commit that referenced this pull request Aug 21, 2024
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
(cherry picked from commit db8c893)
tileintel pushed a commit to siddhivelankar23/GenAIComps that referenced this pull request Aug 22, 2024
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@BaoHuiling BaoHuiling mentioned this pull request Aug 29, 2024
3 tasks
srinarayan-srikanthan pushed a commit to siddhivelankar23/GenAIComps that referenced this pull request Sep 1, 2024
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>
sharanshirodkar7 pushed a commit to predictionguard/pg-GenAIComps that referenced this pull request Sep 3, 2024
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
yinghu5 pushed a commit that referenced this pull request Sep 4, 2024
…e for v0.9 (#538)

* clip embedding support

Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* test script for embedding

Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* fix freeze workflow (#522)

Signed-off-by: Sun, Xuehao <xuehao.sun@intel.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* Fix Dataprep Potential Error in get_file (#540)

* fix get file error & refine logs

Signed-off-by: letonghan <letong.han@intel.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Signed-off-by: letonghan <letong.han@intel.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* Support SearchedDoc input type in LLM for No Rerank Pipeline (#541)

Signed-off-by: letonghan <letong.han@intel.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* Add dependency for pdf2image and OCR processing (#421)

Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* Add local_embedding return 768 length to align with chatqna example (#313)

Signed-off-by: Chendi.Xue <chendi.xue@intel.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* add telemetry doc (#536)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* Add video-llama LVM microservice under lvms  (#495)

Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* Fix the data load issue for structured files (#505)

Signed-off-by: XuhuiRen <xuhui.ren@intel.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* Add finetuning component (#502)

Signed-off-by: Xinyu Ye <xinyu.ye@intel.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: lkk <33276950+lkk12014402@users.noreply.github.com>
Co-authored-by: test <test@intel.com>
Co-authored-by: root <root@idc708073.jf.intel.com>
Co-authored-by: Letong Han <106566639+letonghan@users.noreply.github.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* add torchvision into requirements (#546)

Signed-off-by: chensuyue <suyue.chen@intel.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* Use Gaudi base images from Dockerhub (#526)

* Use Gaudi base images from Dockerhub

Signed-off-by: Abolfazl Shahbazi <abolfazl.shahbazi@intel.com>

* Fixing the malformed tag

Signed-off-by: Abolfazl Shahbazi <abolfazl.shahbazi@intel.com>

* fix another malformed tag

Signed-off-by: Abolfazl Shahbazi <abolfazl.shahbazi@intel.com>

---------

Signed-off-by: Abolfazl Shahbazi <abolfazl.shahbazi@intel.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* Add toxicity detection microservice (#338)

* Add toxicity detection microservice

Signed-off-by: Qun Gao <qun.gao@intel.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Modification to toxicity plugin PR  (#432)

* changed microservice to use Service.GUARDRAILS and input/output to TextDoc

Signed-off-by: Tyler Wilbers <tyler.wilbers@intel.com>

* simplify dockerfile to use langchain

Signed-off-by: Tyler Wilbers <tyler.wilbers@intel.com>

* sort requirements

Signed-off-by: Tyler Wilbers <tyler.wilbers@intel.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Signed-off-by: Tyler Wilbers <tyler.wilbers@intel.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Minor SPDX header update (#434)

Signed-off-by: Abolfazl Shahbazi <abolfazl.shahbazi@intel.com>

* Remove 'langsmith' per code review (#534)

Signed-off-by: Abolfazl Shahbazi <abolfazl.shahbazi@intel.com>

* Add toxicity detection microservices with E2E testing

Signed-off-by: Qun Gao <qun.gao@intel.com>

---------

Signed-off-by: Qun Gao <qun.gao@intel.com>
Signed-off-by: Tyler Wilbers <tyler.wilbers@intel.com>
Signed-off-by: Abolfazl Shahbazi <abolfazl.shahbazi@intel.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Abolfazl Shahbazi <abolfazl.shahbazi@intel.com>
Co-authored-by: Tyler W <tyler.wilbers@intel.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* rename script and use 5xxx

Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* add proxy for build

Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* fixed commit issues

Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* Fix docarray constraint

Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* updated docarray

Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* rm telemetry which cause error in mega

Signed-off-by: BaoHuiling <huiling.bao@intel.com>

* renamed dirs

Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

* renamed test

Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>

---------

Signed-off-by: srinarayan-srikanthan <srinarayan.srikanthan@intel.com>
Signed-off-by: Sun, Xuehao <xuehao.sun@intel.com>
Signed-off-by: letonghan <letong.han@intel.com>
Signed-off-by: Chendi.Xue <chendi.xue@intel.com>
Signed-off-by: BaoHuiling <huiling.bao@intel.com>
Signed-off-by: XuhuiRen <xuhui.ren@intel.com>
Signed-off-by: Xinyu Ye <xinyu.ye@intel.com>
Signed-off-by: chensuyue <suyue.chen@intel.com>
Signed-off-by: Abolfazl Shahbazi <abolfazl.shahbazi@intel.com>
Signed-off-by: Qun Gao <qun.gao@intel.com>
Signed-off-by: Tyler Wilbers <tyler.wilbers@intel.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sun, Xuehao <xuehao.sun@intel.com>
Co-authored-by: Letong Han <106566639+letonghan@users.noreply.github.com>
Co-authored-by: Zaili Wang <109502517+ZailiWang@users.noreply.github.com>
Co-authored-by: Chendi.Xue <chendi.xue@intel.com>
Co-authored-by: Sihan Chen <39623753+Spycsh@users.noreply.github.com>
Co-authored-by: Huiling Bao <huiling.bao@intel.com>
Co-authored-by: XuhuiRen <44249229+XuhuiRen@users.noreply.github.com>
Co-authored-by: XinyuYe-Intel <xinyu.ye@intel.com>
Co-authored-by: lkk <33276950+lkk12014402@users.noreply.github.com>
Co-authored-by: test <test@intel.com>
Co-authored-by: root <root@idc708073.jf.intel.com>
Co-authored-by: chen, suyue <suyue.chen@intel.com>
Co-authored-by: Abolfazl Shahbazi <abolfazl.shahbazi@intel.com>
Co-authored-by: qgao007 <108324932+qgao007@users.noreply.github.com>
Co-authored-by: Tyler W <tyler.wilbers@intel.com>
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 this pull request may close these issues.

4 participants