Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
51ad611
Add SQL agent strategy (#975)
minmin-intel Dec 11, 2024
07ba4d0
remove examples gateway. (#979)
lkk12014402 Dec 13, 2024
17f09c9
vllm comps support openai API ChatCompletionRequest (#1032)
XinyaoWa Dec 13, 2024
a04b2a2
Revert "Add SQL agent strategy (#975)" (#1030)
minmin-intel Dec 14, 2024
abe89e6
update tei embedding format. (#1035)
lkk12014402 Dec 16, 2024
05e5359
refine tgi doc with default openai format. (#1037)
lkk12014402 Dec 17, 2024
33b100e
[Reorg] Remove redundant file in retrievers/redis (#1016)
letonghan Dec 17, 2024
529add5
Support Long context for DocSum (#981)
XinyaoWa Dec 17, 2024
7a043d5
Update Dockerfile (#1040)
XinyuYe-Intel Dec 17, 2024
744e9dd
fix multimodalqna issue (#1042)
letonghan Dec 17, 2024
9696f08
Fix wrong endpoint for tei embedding gaudi wrapper (#1043)
Spycsh Dec 18, 2024
4047337
Add SQL agent strategy (#1039)
minmin-intel Dec 18, 2024
753551b
DocSum Long Context add auto mode (#1046)
XinyaoWa Dec 20, 2024
2acf4e9
Add opensearch integration for OPEA (#1024)
cameronmorin Dec 26, 2024
968f137
remove dataprep/multimedia2text (#1065)
Spycsh Dec 26, 2024
d3dfdad
Refactor Animation based on ERAG (#1079)
yao531441 Dec 27, 2024
c73181c
Refactor image2image (#1076)
yao531441 Dec 27, 2024
b3988fc
Refactor asr/tts components (#1083)
Spycsh Dec 31, 2024
9421bd7
Image2video code refactor (#1075)
XinyuYe-Intel Dec 31, 2024
8987090
Refactor text2sql based on ERAG (#1080)
yao531441 Jan 2, 2025
e223081
GenAIComps microservices refactor (#1072)
chensuyue Jan 2, 2025
7942b69
Fix changed file detect issue (#1103)
chensuyue Jan 3, 2025
8536245
Rename streaming to stream to align with OpenAI API (#1098)
XinyaoWa Jan 6, 2025
b7fbb4c
Update code owner list (#1110)
chensuyue Jan 6, 2025
b699b7f
Check duplicated dockerfile (#1073)
ZePan110 Jan 6, 2025
efaaac1
refine agent directories. (#1109)
lkk12014402 Jan 6, 2025
ba3c694
Refine Component Interface (#1106)
lvliang-intel Jan 7, 2025
d02001d
[pre-commit.ci] pre-commit autoupdate (#1114)
pre-commit-ci[bot] Jan 7, 2025
d951579
Change license template 2024 to 2025 (#1119)
ZePan110 Jan 7, 2025
a2fff72
Refactor reranking (#1113)
WenjiaoYue Jan 8, 2025
fe747f2
fix stream issue. (#1120)
lkk12014402 Jan 8, 2025
1ea5a6e
Refactor guardrails microservice (#1116)
lvliang-intel Jan 8, 2025
c2696a4
CI: Automatically create issue in CIInfra (#1123)
lianhao Jan 8, 2025
674b815
Refactor web retriever (#1102)
Spycsh Jan 8, 2025
9e03d75
Feedback management microservice refactor (#1057)
lvliang-intel Jan 9, 2025
4f88995
Refactor prompt registry microservice (#1124)
lvliang-intel Jan 9, 2025
4e9a6db
Text2image code refactor (#1054)
XinyuYe-Intel Jan 9, 2025
1e5cc51
Finetuning code refactor (#1081)
XinyuYe-Intel Jan 9, 2025
c9eafba
Update action token (#1131)
chensuyue Jan 9, 2025
052ef5f
Rename folder name integration to integrations in image2image and ani…
yao531441 Jan 10, 2025
e41605a
Refine embedding naming and move dependency to 3rd_party (#1125)
lvliang-intel Jan 10, 2025
baed7b5
Make naming compatible to the defined style (#1129)
XinyuYe-Intel Jan 10, 2025
6501861
Remove version restrictions in animations (#1132)
yao531441 Jan 10, 2025
7a97f9d
Refactor FaqGen (#1093)
XinyaoWa Jan 13, 2025
63c5495
Refactor lvms (#1096)
Spycsh Jan 13, 2025
a5d2e56
Fix docker compose health check issue (#1133)
lvliang-intel Jan 13, 2025
484bd22
add tool choices for agent. (#1126)
lkk12014402 Jan 13, 2025
e7ee87e
Refactor llm Docsum (#1101)
XinyaoWa Jan 13, 2025
053dee2
Add kubernetes deployment for GenAIComps (#1104)
yongfengdu Jan 13, 2025
a8fa1cb
remove vllm hpu commit id limit (#1139)
XinyaoWa Jan 14, 2025
a4acb57
Update check-online-doc-build.yml (#1145)
NeoZhangJianyu Jan 15, 2025
dfb6be0
Refactor llm predictionguard (#1143)
XinyaoWa Jan 15, 2025
b7451ae
remove ragas. (#1149)
lkk12014402 Jan 15, 2025
ee0b49e
Fix vllm openvino Dockerfile.intel_gpu build issue (#1150)
Yongbozzz Jan 15, 2025
e58d82b
Build guardrail "Hallucination Detection" microservice. (#1108)
qgao007 Jan 15, 2025
8232554
Refactor vllm openvino to third parties (#1141)
XinyaoWa Jan 16, 2025
4e00bf4
Refactor LLM text generation native comps (#1151)
XinyaoWa Jan 16, 2025
2a5568a
Refactor Retrievers (#1138)
letonghan Jan 16, 2025
31e7195
Refactor chathistory based on E-RAG code structure. (#1154)
yao531441 Jan 16, 2025
a9619f9
Set the wav2lip's numpy version to 1.23.5 to ensure that there are no…
yao531441 Jan 16, 2025
aa6aaaf
Fix vllm hpu to a stable release (#1156)
XinyaoWa Jan 16, 2025
d767550
Refactor Vectorstores to E-RAG Style (#1159)
letonghan Jan 16, 2025
ec2165e
Refactor agent create assistant api (#1142)
lkk12014402 Jan 16, 2025
2b1810b
Standardize name for LLM comps (#1162)
XinyaoWa Jan 16, 2025
9643bbb
Align OpenAI API for FaqGen, DocSum, TextGen-native (#1161)
XinyaoWa Jan 17, 2025
d720b5e
add opentelemetry tracing into OPEA DAG and couple microservices code…
louie-tsai Jan 17, 2025
a7f08f2
fix wrong link in asr doc (#1163)
Spycsh Jan 17, 2025
b2fb42d
textgen ollama code refactor. (#1158)
XinyuYe-Intel Jan 17, 2025
0523edc
Disable telemetry by default (#1168)
lvliang-intel Jan 17, 2025
1d36c9a
Refactor retrievers vdms into E-RAG style. (#1167)
letonghan Jan 17, 2025
b188f8f
Enable AWS access when testing microservices (#1165)
jonminkin97 Jan 17, 2025
0c752db
Fix test_telemetry.py import error (#1171)
ashahba Jan 17, 2025
9360c0b
Fix Workflow Access to id-token for OIDC Auth (#1170)
jonminkin97 Jan 18, 2025
5f17459
Revert "Fix Workflow Access to id-token for OIDC Auth (#1170)" (#1173)
chensuyue Jan 19, 2025
b38b6aa
GraphRAG performance enhacements (#924)
rbrugaro Jan 19, 2025
5116c9c
MultimodalQnA image query, pdf, and dynamic ports (#1134)
mhbuehler Jan 19, 2025
130506d
Enhance docker container clean up in CI (#1174)
chensuyue Jan 20, 2025
e8e6a86
Optimize output prompt words (#1136)
ZePan110 Jan 20, 2025
e30e942
add redis persistence for long term memory (#1144)
lkk12014402 Jan 20, 2025
4a97039
Add helm-chart CI test workflow. (#1140)
ZePan110 Jan 20, 2025
8f4d887
Refactor dataprep microservice (#1153)
lvliang-intel Jan 20, 2025
40bb156
Fix the issue where CD test files cannot be obtained (#1177)
ZePan110 Jan 20, 2025
2779ef4
Enhance the issue template (#1157)
NeoZhangJianyu Jan 20, 2025
bbbab81
Fix CD workflow type error (#1181)
ZePan110 Jan 21, 2025
4166563
Delete intent detection (#1192)
WenjiaoYue Jan 21, 2025
bec28d9
test signing
smguggen Jan 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
48 changes: 25 additions & 23 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,26 +1,28 @@
# Code owners will review PRs within their respective folders.
# Typically, ownership is organized at the second-level subdirectory under the homepage
/comps/agent/ [email protected]
/comps/finetuning/ [email protected]
/comps/guardrails/ [email protected]
/comps/asr/ [email protected]
/comps/intent_detection/ [email protected]
/comps/cores/ [email protected]
/comps/dataprep/ [email protected]

* [email protected] [email protected] [email protected]
/.github/ [email protected] [email protected]
/comps/third_parties/ [email protected] [email protected] [email protected]
/comps/agent/ [email protected] [email protected]
/comps/animation/ [email protected] [email protected]
/comps/asr/ [email protected] [email protected]
/comps/chathistory/ [email protected] [email protected]
/comps/cores/ [email protected] [email protected] [email protected] [email protected] [email protected]
/comps/dataprep/ [email protected] [email protected]
/comps/embeddings/ [email protected]
/comps/guardrails/ [email protected]
/comps/llms/ [email protected]
/comps/lvms/ [email protected]
/comps/nginx/ [email protected]
/comps/prompt_registry/ [email protected]
/comps/feedback_management/ [email protected]
/comps/chathistory/ [email protected]
/comps/texttosql/ [email protected]
/comps/text2image/ [email protected]
/comps/reranks/ [email protected]
/comps/retrievers/ [email protected]
/comps/tts/ [email protected]
/comps/ragas/ [email protected]
/comps/vectorstores/ [email protected]
/comps/web_retrievers/ [email protected]
/*/ [email protected]
/comps/feedback_management/ [email protected] [email protected]
/comps/finetuning/ [email protected] [email protected]
/comps/guardrails/ [email protected] [email protected]
/comps/image2image/ [email protected] [email protected]
/comps/image2video/ [email protected] [email protected]
/comps/llms/ [email protected] [email protected]
/comps/lvms/ [email protected] [email protected]
/comps/prompt_registry/ [email protected] [email protected]
/comps/ragas/ [email protected] [email protected]
/comps/rerankings/ [email protected] [email protected]
/comps/retrievers/ [email protected] [email protected]
/comps/text2image/ [email protected] [email protected]
/comps/text2sql/ [email protected] [email protected]
/comps/tts/ [email protected] [email protected]
/comps/web_retrievers/ [email protected] [email protected]
8 changes: 5 additions & 3 deletions .github/ISSUE_TEMPLATE/1_bug_template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ body:
options:
- label: Pull docker images from hub.docker.com
- label: Build docker images from source
- label: Other
validations:
required: true

Expand All @@ -74,10 +75,10 @@ body:
attributes:
label: Deploy method
options:
- label: Docker compose
- label: Docker
- label: Kubernetes
- label: Helm
- label: Docker Compose
- label: Kubernetes Helm Charts
- label: Other
validations:
required: true

Expand All @@ -88,6 +89,7 @@ body:
options:
- Single Node
- Multiple Nodes
- Other
default: 0
validations:
required: true
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/2_feature_template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ body:
options:
- Single Node
- Multiple Nodes
- Other
default: 0
validations:
required: true
Expand Down
2 changes: 1 addition & 1 deletion .github/license_template.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Copyright (C) 2024 Intel Corporation
Copyright (C) 2025 Intel Corporation
SPDX-License-Identifier: Apache-2.0
28 changes: 25 additions & 3 deletions .github/workflows/_comps-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,19 @@ on:
default: true
required: false
type: boolean
test:
test_compose:
default: true
description: "Test comps with docker compose"
required: false
type: boolean
test_helmchart:
default: true
description: "Test comps with helm chart"
required: false
type: boolean
hardware:
required: true
type: string
mode:
default: "CD"
description: "Whether the test range is CI, CD or CICD"
Expand All @@ -33,6 +41,7 @@ jobs:
# Image Build
####################################################################################################
build-images:
if: ${{ !(fromJSON(inputs.test_helmchart)) }}
runs-on: "docker-build-gaudi"
continue-on-error: true
outputs:
Expand Down Expand Up @@ -65,7 +74,7 @@ jobs:
fi
if [[ $(grep -c "vllm-gaudi:" ${docker_compose_yml}) != 0 ]]; then
git clone https://github.com/HabanaAI/vllm-fork.git vllm-fork
cd vllm-fork && git checkout 3c39626 && cd ../
cd vllm-fork && git checkout v0.6.4.post2+Gaudi-1.19.0 && cd ../
fi
- name: Get build list
id: get-build-list
Expand Down Expand Up @@ -98,9 +107,22 @@ jobs:
####################################################################################################
test-service-compose:
needs: [build-images]
if: ${{ fromJSON(inputs.test) }}
if: ${{ fromJSON(inputs.test_compose) }}
uses: ./.github/workflows/_run-docker-compose.yml
with:
tag: ${{ inputs.tag }}
service: ${{ inputs.service }}
secrets: inherit

####################################################################################################
# Helm Chart Test
####################################################################################################
test-service-helmchart:
if: ${{ fromJSON(inputs.test_helmchart) }}
uses: ./.github/workflows/_run-helm-chart.yml
with:
tag: ${{ inputs.tag }}
mode: ${{ inputs.mode }}
service: ${{ inputs.service }}
hardware: ${{ inputs.hardware }}
secrets: inherit
219 changes: 219 additions & 0 deletions .github/workflows/_run-helm-chart.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
# Copyright (C) 2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

name: Helm Chart Test on GenAIComps For Call
permissions: read-all
on:
workflow_call:
inputs:
service:
default: "chatqna"
required: true
type: string
description: "service to test, e.g. asr"
dockerhub:
default: false
required: false
type: boolean
description: "Set to true if you want to use released docker images at dockerhub. By default using internal docker registry."
tag:
default: "latest"
required: false
type: string
mode:
default: "CD"
description: "Whether the test range is CI, CD or CICD"
required: false
type: string
hardware:
default: "xeon"
required: true
type: string

jobs:
get-test-case:
runs-on: ubuntu-latest
outputs:
value_files: ${{ steps.get-test-files.outputs.value_files }}
CHECKOUT_REF: ${{ steps.get-checkout-ref.outputs.CHECKOUT_REF }}
steps:
- name: Get checkout ref
id: get-checkout-ref
run: |
if [ "${{ github.event_name }}" == "pull_request" ] || [ "${{ github.event_name }}" == "pull_request_target" ]; then
CHECKOUT_REF=refs/pull/${{ github.event.number }}/merge
else
CHECKOUT_REF=${{ github.ref }}
fi
echo "CHECKOUT_REF=${CHECKOUT_REF}" >> $GITHUB_OUTPUT
echo "checkout ref ${CHECKOUT_REF}"

- name: Checkout Repo
uses: actions/checkout@v4
with:
ref: ${{ steps.get-checkout-ref.outputs.CHECKOUT_REF }}
fetch-depth: 0

- name: Get test Services
id: get-test-files
run: |
set -x
if [ "${{ inputs.mode }}" = "CI" ]; then
base_commit=${{ github.event.pull_request.base.sha }}
merged_commit=$(git log -1 --format='%H')
values_files=$(git diff --name-only ${base_commit} ${merged_commit} | \
grep "values.yaml" | \
grep "${{ inputs.service }}" | \
sort -u )
echo $values_files
elif [ "${{ inputs.mode }}" = "CD" ]; then
values_files=$(ls ${{ github.workspace }}/comps/${{ inputs.service }}/deployment/kubernetes/*values.yaml)
fi
value_files="["
for file in ${values_files}; do
if [ -f "$file" ]; then
filename=$(basename "$file")
if [[ "$filename" == *"gaudi"* ]]; then
if [[ "${{ inputs.hardware }}" == "gaudi" ]]; then
value_files="${value_files}\"${filename}\","
fi
elif [[ "$filename" == *"nv"* ]]; then
continue
else
if [[ "${{ inputs.hardware }}" == "xeon" ]]; then
value_files="${value_files}\"${filename}\","
fi
fi
fi
done
value_files="${value_files%,}]"

echo "value_files=${value_files}"
echo "value_files=${value_files}" >> $GITHUB_OUTPUT

helm-test:
needs: [get-test-case]
strategy:
matrix:
value_file: ${{ fromJSON(needs.get-test-case.outputs.value_files) }}
if: ${{ needs.get-test-case.outputs.value_files != '[]' }}
runs-on: ${{ inputs.hardware }}
continue-on-error: true
steps:
- name: Clean Up Working Directory
run: |
echo "value_file=${{ matrix.value_file }}"
sudo rm -rf ${{github.workspace}}/*

- name: Get checkout ref
id: get-checkout-ref
run: |
if [ "${{ github.event_name }}" == "pull_request" ] || [ "${{ github.event_name }}" == "pull_request_target" ]; then
CHECKOUT_REF=refs/pull/${{ github.event.number }}/merge
else
CHECKOUT_REF=${{ github.ref }}
fi
echo "CHECKOUT_REF=${CHECKOUT_REF}" >> $GITHUB_OUTPUT
echo "checkout ref ${CHECKOUT_REF}"

- name: Checkout Repo
uses: actions/checkout@v4
with:
ref: ${{ steps.get-checkout-ref.outputs.CHECKOUT_REF }}
fetch-depth: 0

- name: Set variables
env:
service: ${{ inputs.service }}
run: |
CHART_NAME="${service,,}" # asr
echo "CHART_NAME=$CHART_NAME" >> $GITHUB_ENV
echo "RELEASE_NAME=${CHART_NAME}$(date +%Y%m%d%H%M%S)" >> $GITHUB_ENV
echo "NAMESPACE=${CHART_NAME}-$(date +%Y%m%d%H%M%S)" >> $GITHUB_ENV
echo "ROLLOUT_TIMEOUT_SECONDS=600s" >> $GITHUB_ENV
echo "TEST_TIMEOUT_SECONDS=600s" >> $GITHUB_ENV
echo "KUBECTL_TIMEOUT_SECONDS=60s" >> $GITHUB_ENV
echo "should_cleanup=false" >> $GITHUB_ENV
echo "skip_validate=false" >> $GITHUB_ENV
echo "CHART_FOLDER=comps/${service}/deployment/kubernetes" >> $GITHUB_ENV

- name: Helm install
id: install
env:
GOOGLE_CSE_ID: ${{ secrets.GOOGLE_CSE_ID }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
HUGGINGFACEHUB_API_TOKEN: ${{ secrets.HUGGINGFACEHUB_API_TOKEN }}
HFTOKEN: ${{ secrets.HUGGINGFACEHUB_API_TOKEN }}
value_file: ${{ matrix.value_file }}
run: |
set -xe
echo "should_cleanup=true" >> $GITHUB_ENV
if [[ ! -f ${{ github.workspace }}/${{ env.CHART_FOLDER }}/${value_file} ]]; then
echo "No value file found, exiting test!"
echo "skip_validate=true" >> $GITHUB_ENV
echo "should_cleanup=false" >> $GITHUB_ENV
exit 0
fi

if ! helm install --create-namespace --namespace $NAMESPACE $RELEASE_NAME \
oci://ghcr.io/opea-project/charts/${CHART_NAME} \
--set global.HUGGINGFACEHUB_API_TOKEN=${HFTOKEN} \
--set global.modelUseHostPath=/home/sdp/.cache/huggingface/hub \
--set GOOGLE_API_KEY=${{ env.GOOGLE_API_KEY}} \
--set GOOGLE_CSE_ID=${{ env.GOOGLE_CSE_ID}} \
-f comps/${{ inputs.service }}/deployment/kubernetes/${value_file} \
--version 0-latest \
--wait; then
echo "Failed to install chart ${{ inputs.service }}"
echo "skip_validate=true" >> $GITHUB_ENV
.github/workflows/scripts/k8s-utils.sh dump_pods_status $NAMESPACE
exit 1
fi
helm list -A
kubectl get pods -n $NAMESPACE

- name: Validate e2e test
if: always()
run: |
set -xe
if $skip_validate; then
echo "Skip validate"
else
LOG_PATH=/home/$(whoami)/helm-logs
chart=${{ env.CHART_NAME }}
helm test -n $NAMESPACE $RELEASE_NAME --logs --timeout "$TEST_TIMEOUT_SECONDS" | tee ${LOG_PATH}/charts-${chart}.log
exit_code=$?
if [ $exit_code -ne 0 ]; then
echo "Chart ${chart} test failed, please check the logs in ${LOG_PATH}!"
exit 1
fi

echo "Checking response results, make sure the output is reasonable. "
teststatus=false
if [[ -f $LOG_PATH/charts-${chart}.log ]] && \
[[ $(grep -c "^Phase:.*Failed" $LOG_PATH/charts-${chart}.log) != 0 ]]; then
teststatus=false
${{ github.workspace }}/.github/workflows/scripts/k8s-utils.sh dump_all_pod_logs $NAMESPACE
else
teststatus=true
fi

if [ $teststatus == false ]; then
echo "Response check failed, please check the logs in artifacts!"
exit 1
else
echo "Response check succeeded!"
exit 0
fi
fi

- name: Helm uninstall
if: always()
run: |
if [[ $should_cleanup ]]; then
helm uninstall $RELEASE_NAME --namespace $NAMESPACE
if ! kubectl delete ns $NAMESPACE --timeout=$KUBECTL_TIMEOUT_SECONDS; then
kubectl delete pods --namespace $NAMESPACE --force --grace-period=0 --all
kubectl delete ns $NAMESPACE --force --grace-period=0 --timeout=$KUBECTL_TIMEOUT_SECONDS
fi
fi
2 changes: 1 addition & 1 deletion .github/workflows/check-online-doc-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:

- name: Checkout
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/docker/compose/agent-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# this file should be run in the root of the repo
services:
agent-langchain:
agent:
build:
dockerfile: comps/agent/langchain/Dockerfile
image: ${REGISTRY:-opea}/agent-langchain:${TAG:-latest}
dockerfile: comps/agent/src/Dockerfile
image: ${REGISTRY:-opea}/agent:${TAG:-latest}
Loading