Skip to content

Commit

Permalink
Merge branch 'master' into anomaly-demo
Browse files Browse the repository at this point in the history
  • Loading branch information
adrianboguszewski authored Jan 31, 2025
2 parents 2cbfbec + ddbfc33 commit 199afee
Show file tree
Hide file tree
Showing 51 changed files with 374 additions and 1,757 deletions.
3 changes: 0 additions & 3 deletions .gitattributes

This file was deleted.

8 changes: 8 additions & 0 deletions .github/reusable-steps/categorize-projects/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ inputs:
outputs:
notebook:
value: ${{ steps.group-subprojects.outputs.notebook }}
python:
value: ${{ steps.group-subprojects.outputs.python }}
gradio:
value: ${{ steps.group-subprojects.outputs.gradio }}
webcam:
Expand All @@ -21,6 +23,7 @@ runs:
shell: bash
run: |
notebook=()
python=()
gradio=()
webcam=()
js=()
Expand All @@ -34,22 +37,27 @@ runs:
gradio+=("$dir")
elif [ -f "$dir/main.py" ] && grep -q -- "--stream" "$dir/main.py"; then
webcam+=("$dir")
else
python+=("$dir")
fi
done
notebook_json=$(printf '%s\n' "${notebook[@]}" | jq -R -s -c 'split("\n") | map(select(length > 0))')
python_json=$(printf '%s\n' "${python[@]}" | jq -R -s -c 'split("\n") | map(select(length > 0))')
gradio_json=$(printf '%s\n' "${gradio[@]}" | jq -R -s -c 'split("\n") | map(select(length > 0))')
webcam_json=$(printf '%s\n' "${webcam[@]}" | jq -R -s -c 'split("\n") | map(select(length > 0))')
js_json=$(printf '%s\n' "${js[@]}" | jq -R -s -c 'split("\n") | map(select(length > 0))')
echo "notebook=$notebook_json" >> $GITHUB_OUTPUT
echo "python=$python_json" >> $GITHUB_OUTPUT
echo "gradio=$gradio_json" >> $GITHUB_OUTPUT
echo "webcam=$webcam_json" >> $GITHUB_OUTPUT
echo "js=$js_json" >> $GITHUB_OUTPUT
- name: Print subprojects to test
shell: bash
run: |
echo "Notebook subprojects: ${{ steps.group-subprojects.outputs.notebook }}"
echo "Python subprojects: ${{ steps.group-subprojects.outputs.python }}"
echo "Gradio subprojects: ${{ steps.group-subprojects.outputs.gradio }}"
echo "Webcam subprojects: ${{ steps.group-subprojects.outputs.webcam }}"
echo "JS subprojects: ${{ steps.group-subprojects.outputs.js }}"
2 changes: 1 addition & 1 deletion .github/reusable-steps/gradio-action/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ inputs:
required: true
timeout:
required: false
default: 1800
default: 3600

runs:
using: 'composite'
Expand Down
16 changes: 11 additions & 5 deletions .github/reusable-steps/setup-os/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@ name: OS setup
runs:
using: 'composite'
steps:
- name: Install coreutils (macOS only)
if: runner.os == 'macOS'
shell: bash
run: |
brew install coreutils
- name: Free space (Ubuntu only)
if: runner.os == 'Linux'
uses: jlumbroso/[email protected]
Expand All @@ -20,3 +15,14 @@ runs:
dotnet: true
haskell: true
docker-images: true
- name: Install OpenCL (Ubuntu only)
if: runner.os == 'Linux'
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y ocl-icd-opencl-dev
- name: Install coreutils (macOS only)
if: runner.os == 'macOS'
shell: bash
run: |
brew install coreutils
15 changes: 15 additions & 0 deletions .github/reusable-steps/setup-python/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,30 @@ inputs:
runs:
using: 'composite'
steps:
- name: Download all repo files
shell: bash
run: |
git lfs -X= -I=* pull
- name: Download sample video file
shell: bash
run: |
cd ${{ inputs.project }}
curl -L -o sample_video.mp4 https://sample-videos.com/video321/mp4/720/big_buck_bunny_720p_1mb.mp4
- name: Download all repo files
shell: bash
run: |
git lfs -X= -I=* pull
- name: Set up Python ${{ inputs.python }}
uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python }}
- name: Install MeloTTS (Conversational AI Chatbot only)
if: ${{ inputs.project == 'ai_ref_kits/conversational_ai_chatbot' }}
shell: bash
run: |
pip install unidic
pip install git+https://github.com/myshell-ai/MeloTTS.git@5b538481e24e0d578955be32a95d88fcbde26dc8 --no-deps
python -m unidic download
- name: Install dependencies
shell: bash
run: |
Expand Down
34 changes: 27 additions & 7 deletions .github/workflows/sanity-check-kits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
outputs:
gradio: ${{ steps.categorize-subprojects.outputs.gradio }}
webcam: ${{ steps.categorize-subprojects.outputs.webcam }}
python: ${{ steps.categorize-subprojects.outputs.python }}
notebook: ${{ steps.categorize-subprojects.outputs.notebook }}
steps:
- name: Check out code
Expand Down Expand Up @@ -69,6 +70,7 @@ jobs:
with:
script: main.py
project: ${{ matrix.subproject }}
timeout: 3600

webcam:
needs: find-subprojects
Expand All @@ -93,6 +95,29 @@ jobs:
command: python main.py --stream sample_video.mp4
project: ${{ matrix.subproject }}

python:
needs: find-subprojects
if: ${{ needs.find-subprojects.outputs.python != '[]' }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python: ["3.9", "3.12"]
subproject: ${{ fromJson(needs.find-subprojects.outputs.python) }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/reusable-steps/setup-os
- uses: ./.github/reusable-steps/setup-python
with:
python: ${{ matrix.python }}
project: ${{ matrix.subproject }}
- uses: ./.github/reusable-steps/timeouted-action
name: Run Python
with:
command: python main.py
project: ${{ matrix.subproject }}

notebook:
needs: find-subprojects
if: ${{ needs.find-subprojects.outputs.notebook != '[]' }}
Expand All @@ -101,10 +126,11 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python: ["3.9", "3.12"]
python: ["3.10", "3.12"]
subproject: ${{ fromJson(needs.find-subprojects.outputs.notebook) }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/reusable-steps/setup-os
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v5
with:
Expand All @@ -113,12 +139,6 @@ jobs:
with:
python: ${{ matrix.python }}
project: ${{ matrix.subproject }}
- name: Use downloaded video as a stream
shell: bash
run: |
cd ${{ matrix.subproject }}
# replace video_path with sample_video.mp4
find . -name "*.ipynb" -exec sed -E -i "s/video_path\s*=\s*(['\"]?.*?['\"]?)/video_path=\\\\\"sample_video.mp4\\\\\"\\\n\",/g" {} +
- uses: ./.github/reusable-steps/timeouted-action
name: Run Notebook
with:
Expand Down
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Welcome to the **Build and Deploy AI Solutions** repository! This repository con

## Repo Contents

### [AI Reference Kits](https://github.com/openvinotoolkit/openvino_build_deploy/tree/master/ai_ref_kits): Production-Ready OpenVINO Code
### [AI Reference Kits](ai_ref_kits): Production-Ready OpenVINO Code

Start development of your AI applications, including deep learning and Gen AI, on top of our code samples, conference demos, and [here](https://www.intel.com/content/www/us/en/developer/topic-technology/edge-5g/open-potential.html).

Expand All @@ -25,10 +25,13 @@ Each AI Reference Kit includes:
- Pre-configured demos
- Code samples to seamlessly integrate AI functionalities into your projects.

### [Interactive Demos](https://github.com/openvinotoolkit/openvino_build_deploy/tree/master/demos): End-to-end Examples w/ Simple Setup
### [Interactive Demos](demos): End-to-end Examples with Simple Setup
This directory contains interactive demos aimed at demonstrating how OpenVINO performs as an AI optimization and inference engine (cloud, client, and edge).

### [Workshops](https://github.com/openvinotoolkit/openvino_build_deploy/tree/master/workshops): Guided Content to Get Started Building
### [Notebooks](notebooks): Jupyter Notebooks with OpenVINO code
Explore Jupyter notebooks that demonstrate how to use OpenVINO to build and deploy AI solutions.

### [Workshops](workshops): Guided Content to Get Started Building
Explored guided content our team created and demonstrated at events.

### [Wiki](https://github.com/openvinotoolkit/openvino_build_deploy/wiki): Step-by-step Instructions
Expand Down Expand Up @@ -58,6 +61,6 @@ Hello, we're the AI Evangelist team at Intel! We’re a group of experts in AI s
| | | |
|---|---|---|
|[![ray](https://github.com/openvinotoolkit/openvino_notebooks/assets/138901786/747ab608-235a-4db9-b959-c9e158b40b12)](https://www.linkedin.com/in/raymondlo84/)|[![adrian](https://github.com/openvinotoolkit/openvino_notebooks/assets/138901786/10d11bf5-63f0-485b-93cb-581354203723)](https://www.linkedin.com/in/adrianboguszewski/)|[![ria](https://github.com/openvinotoolkit/openvino_notebooks/assets/138901786/05b43e99-5204-4986-b06f-99db1ca1449d)](https://www.linkedin.com/in/ria-cheruvu-54348a173/)|
|**[Raymond Lo](https://www.linkedin.com/in/raymondlo84/)** <br> Global Lead <br> (Santa Clara – HQ, California) <br><br> PhD in Computer Engineering <br> 9+ Years as Entrepreneur Executive & Evangelist|**[Adrian Boguszewski](https://www.linkedin.com/in/adrianboguszewski/)** <br> Deep Learning Expert <br> (Warsaw, Poland) <br><br> MSc in Computer Science <br> 5+ years as DL Engineer|**[Ria Cheruvu](https://www.linkedin.com/in/ria-cheruvu-54348a173/)** <br> Ria AI Software Architect <br> (Tempe, Arizona) <br><br> MSc in Data Science <br> 5+ Years as AI SW Lead Architect & Research Engineer|
|**[Raymond Lo](https://www.linkedin.com/in/raymondlo84/)** <br> Global Lead <br> (Santa Clara – HQ, California) <br><br> PhD in Computer Engineering <br> 9+ Years as Entrepreneur Executive & Evangelist|**[Adrian Boguszewski](https://www.linkedin.com/in/adrianboguszewski/)** <br> Deep Learning Expert <br> (Warsaw, Poland) <br><br> MSc in Computer Science <br> 5+ years as DL Engineer|**[Ria Cheruvu](https://www.linkedin.com/in/ria-cheruvu-54348a173/)** <br> AI Software Architect <br> (Tempe, Arizona) <br><br> MSc in Data Science <br> 5+ Years as AI SW Lead Architect & Research Engineer|
|[![anisha](https://github.com/openvinotoolkit/openvino_notebooks/assets/138901786/d3641d44-f6b4-410d-96ce-4c401e99b35c)](https://www.linkedin.com/in/anisha-uday/)|[![zhuo](https://github.com/openvinotoolkit/openvino_notebooks/assets/138901786/be02c0af-182a-4504-bac5-4780849f9e47)](https://www.linkedin.com/in/wuzhuo/)||
|**[Anisha Udayakumar](https://www.linkedin.com/in/anisha-uday/)** <br> Anisha AI Innovation Consultant <br> (Bengaluru, India) <br><br> BTech in Civil Engineering <br> 5+ years as a Innovation Consultant|**[Zhuo Wu](https://www.linkedin.com/in/wuzhuo/)** <br> Professor and Research Scientist <br> (Shanghai, China) <br><br> PhD in Electronics <br> 15+ Years as a Researcher and Professor||
|**[Anisha Udayakumar](https://www.linkedin.com/in/anisha-uday/)** <br> AI Innovation Consultant <br> (Bengaluru, India) <br><br> BTech in Civil Engineering <br> 5+ years as a Innovation Consultant|**[Zhuo Wu](https://www.linkedin.com/in/wuzhuo/)** <br> Professor and Research Scientist <br> (Shanghai, China) <br><br> PhD in Electronics <br> 15+ Years as a Researcher and Professor||
21 changes: 0 additions & 21 deletions ai_ref_kits/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
- [🔦 Explainable AI](#-explainable-ai)
- [🖼️ Multimodal AI Visual Generator](#%EF%B8%8F-multimodal-ai-visual-generator)
- [💬 Conversational AI Chatbot](#-conversational-ai-chatbot)
- [🛒 AI Insight Agent with RAG](#ai-insight-agent-with-rag)
- [Future Kits](#future-kits)

- [Troubleshooting and Resources](#troubleshooting-and-resources)

Expand Down Expand Up @@ -119,25 +117,6 @@ An in-depth demo of how the Multimodal AI Visual Generator Kit creates a real-ti

The Conversational AI Chatbot is an open-source, voice-driven chat agent that answers spoken questions with meaningful, spoken responses. It can be configured to respond in any type of scenario or context. This kit demonstrates the AI Chatbot’s capabilities by simulating the experience of talking to a hotel concierge.

### 🛒 AI Insight Agent with RAG
![ai-insight-agent-with-rag](https://github.com/openvinotoolkit/openvino_build_deploy/tree/master/ai_ref_kits#-ai-insight-agent-with-rag)


| [AI Insight Agent with RAG](ai-insight-agent-with-rag) | |
|--------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| Related AI concepts | Speech Recognition, Natural Language Understanding, Large Language Models (LLMs), Retrieval Augmented Generation (RAG), Speech Synthesis, Agentic AI, Generative AI |
| Example industries | Retail |
| Demo | |

The AI Insight Agent with RAG uses the OpenVINO™ toolkit to create a streamlined, voice-activated interface that consumers and retail employees can use as a smart, personalized retail assistant. The AI Insight Agent with RAG can perform math, understand instructional documents, and engage in conversations.

## Future Kits
This is a list of Edge AI Reference kits that are planned or are in development.

### 🤖 Generative AI

Kit that explores the potential of generative AI with OpenVINO.

## Troubleshooting and Resources
- Open a [discussion topic](https://github.com/openvinotoolkit/openvino_build_deploy/discussions)
- Create an [issue](https://github.com/openvinotoolkit/openvino_build_deploy/issues)
Expand Down
Loading

0 comments on commit 199afee

Please sign in to comment.