samples_flows_chat_chat_with_pdf #1213
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This code is autogenerated. | |
# Code is generated by running custom script: python3 readme.py | |
# Any manual changes to this file may cause incorrect behavior. | |
# Any manual changes will be overwritten if the code is regenerated. | |
name: samples_flows_chat_chat_with_pdf | |
on: | |
schedule: | |
- cron: "4 22 * * *" # Every day starting at 6:4 BJT | |
pull_request: | |
branches: [ main ] | |
paths: [ examples/flows/chat/chat-with-pdf/**, examples/*requirements.txt, .github/workflows/samples_flows_chat_chat_with_pdf.yml ] | |
workflow_dispatch: | |
env: | |
IS_IN_CI_PIPELINE: "true" | |
permissions: | |
id-token: write | |
contents: read | |
jobs: | |
samples_flows_chat_chat_with_pdf: | |
runs-on: ubuntu-latest | |
environment: | |
internal | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Python 3.9 environment | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.9" | |
- name: Prepare requirements | |
working-directory: examples | |
run: | | |
if [[ -e requirements.txt ]]; then | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
fi | |
- name: Prepare dev requirements | |
working-directory: examples | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r dev_requirements.txt | |
- name: Refine .env file | |
working-directory: examples/flows/chat/chat-with-pdf | |
run: | | |
AOAI_API_KEY=${{ secrets.AOAI_API_KEY_TEST }} | |
AOAI_API_ENDPOINT=${{ secrets.AOAI_API_ENDPOINT_TEST }} | |
AOAI_API_ENDPOINT=$(echo ${AOAI_API_ENDPOINT//\//\\/}) | |
if [[ -e .env.example ]]; then | |
echo "env replacement" | |
sed -i -e "s/<your_AOAI_key>/$AOAI_API_KEY/g" -e "s/<your_AOAI_endpoint>/$AOAI_API_ENDPOINT/g" .env.example | |
mv .env.example .env | |
fi | |
if [[ -e ../.env.example ]]; then | |
echo "env replacement" | |
sed -i -e "s/<your_AOAI_key>/$AOAI_API_KEY/g" -e "s/<your_AOAI_endpoint>/$AOAI_API_ENDPOINT/g" ../.env.example | |
mv ../.env.example ../.env | |
fi | |
- name: Create AOAI Connection from ENV file | |
working-directory: examples/flows/chat/chat-with-pdf | |
run: | | |
if [[ -e .env ]]; then | |
pf connection create --file .env --name chat_with_pdf_custom_connection | |
fi | |
if [[ -e azure_openai.yml ]]; then | |
pf connection create --file azure_openai.yml --name chat_with_pdf_custom_connection | |
fi | |
pf connection list | |
- name: Create run.yml | |
working-directory: examples/flows/chat/chat-with-pdf | |
run: | | |
gpt_base=${{ secrets.AOAI_API_ENDPOINT_TEST }} | |
gpt_base=$(echo ${gpt_base//\//\\/}) | |
if [[ -e run.yml ]]; then | |
sed -i -e "s/\${azure_open_ai_connection.api_key}/${{ secrets.AOAI_API_KEY_TEST }}/g" -e "s/\${azure_open_ai_connection.api_base}/$gpt_base/g" run.yml | |
fi | |
- name: Random Wait | |
uses: AliSajid/random-wait-action@main | |
with: | |
minimum: 0 | |
maximum: 300 | |
- name: Azure Login | |
uses: azure/login@v1 | |
with: | |
subscription-id: ${{secrets.AZURE_SUBSCRIPTION_ID}} | |
tenant-id: ${{secrets.AZURE_TENANT_ID}} | |
client-id: ${{secrets.AZURE_CLIENT_ID}} | |
- name: Extract Steps examples/flows/chat/chat-with-pdf/README.md | |
working-directory: ${{ github.workspace }} | |
run: | | |
python scripts/readme/extract_steps_from_readme.py -f examples/flows/chat/chat-with-pdf/README.md -o examples/flows/chat/chat-with-pdf | |
- name: Cat script | |
working-directory: examples/flows/chat/chat-with-pdf | |
run: | | |
cat bash_script.sh | |
- name: Run scripts against canary workspace (scheduled runs only) | |
if: github.event_name == 'schedule' | |
working-directory: examples/flows/chat/chat-with-pdf | |
run: | | |
export aoai_api_key=${{secrets.AOAI_API_KEY_TEST }} | |
export aoai_api_endpoint=${{ secrets.AOAI_API_ENDPOINT_TEST }} | |
export AZURE_OPENAI_API_KEY=${{secrets.AOAI_API_KEY_TEST }} | |
export AZURE_OPENAI_ENDPOINT=${{ secrets.AOAI_API_ENDPOINT_TEST }} | |
export test_workspace_sub_id=${{ secrets.TEST_WORKSPACE_SUB_ID }} | |
export test_workspace_rg=${{ secrets.TEST_WORKSPACE_RG }} | |
export test_workspace_name=${{ secrets.TEST_WORKSPACE_NAME_CANARY }} | |
bash bash_script.sh | |
- name: Run scripts against production workspace | |
if: github.event_name != 'schedule' | |
working-directory: examples/flows/chat/chat-with-pdf | |
run: | | |
export aoai_api_key=${{secrets.AOAI_API_KEY_TEST }} | |
export aoai_api_endpoint=${{ secrets.AOAI_API_ENDPOINT_TEST }} | |
export AZURE_OPENAI_API_KEY=${{secrets.AOAI_API_KEY_TEST }} | |
export AZURE_OPENAI_ENDPOINT=${{ secrets.AOAI_API_ENDPOINT_TEST }} | |
export test_workspace_sub_id=${{ secrets.TEST_WORKSPACE_SUB_ID }} | |
export test_workspace_rg=${{ secrets.TEST_WORKSPACE_RG }} | |
export test_workspace_name=${{ secrets.TEST_WORKSPACE_NAME_PROD }} | |
bash bash_script.sh | |
- name: Pip List for Debug | |
if : ${{ always() }} | |
working-directory: examples/flows/chat/chat-with-pdf | |
run: | | |
pip list | |
- name: Upload artifact | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: artifact | |
path: examples/flows/chat/chat-with-pdf/bash_script.sh |