Enable streaming support for openai ChatCompletion #217 #460
Workflow file for this run
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 workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: OpenAI | |
on: | |
pull_request_target: | |
branches: ['main'] | |
paths: | |
- 'autogen/**' | |
- 'test/**' | |
- 'notebook/agentchat_auto_feedback_from_code_execution.ipynb' | |
- 'notebook/agentchat_function_call.ipynb' | |
- 'notebook/agentchat_MathChat.ipynb' | |
- 'notebook/oai_completion.ipynb' | |
- 'notebook/oai_chatgpt_gpt4.ipynb' | |
- '.github/workflows/openai.yml' | |
jobs: | |
test: | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ["3.9", "3.10", "3.11"] | |
runs-on: ${{ matrix.os }} | |
environment: openai | |
steps: | |
# checkout to pr branch | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install packages and dependencies | |
run: | | |
docker --version | |
python -m pip install --upgrade pip wheel | |
pip install -e.[blendsearch] | |
python -c "import autogen" | |
pip install coverage pytest-asyncio datasets | |
- name: Install packages for test when needed | |
if: matrix.python-version == '3.9' | |
run: | | |
pip install docker | |
- name: Install packages for MathChat when needed | |
if: matrix.python-version != '3.11' | |
run: | | |
pip install -e .[mathchat] | |
- name: Install packages for RetrieveChat when needed | |
if: matrix.python-version == '3.9' | |
run: | | |
pip install -e .[retrievechat] | |
- name: Install packages for Teachable when needed | |
run: | | |
pip install -e .[teachable] | |
- name: Install packages for RetrieveChat with QDrant when needed | |
if: matrix.python-version == '3.11' | |
run: | | |
pip install -e .[retrievechat] qdrant_client[fastembed] | |
- name: Coverage | |
if: matrix.python-version == '3.9' | |
env: | |
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }} | |
AZURE_OPENAI_API_BASE: ${{ secrets.AZURE_OPENAI_API_BASE }} | |
OAI_CONFIG_LIST: ${{ secrets.OAI_CONFIG_LIST }} | |
run: | | |
coverage run -a -m pytest test | |
coverage xml | |
- name: Coverage and check notebook outputs | |
if: matrix.python-version != '3.9' | |
env: | |
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }} | |
AZURE_OPENAI_API_BASE: ${{ secrets.AZURE_OPENAI_API_BASE }} | |
WOLFRAM_ALPHA_APPID: ${{ secrets.WOLFRAM_ALPHA_APPID }} | |
OAI_CONFIG_LIST: ${{ secrets.OAI_CONFIG_LIST }} | |
run: | | |
pip install nbconvert nbformat ipykernel | |
coverage run -a -m pytest test/agentchat/test_qdrant_retrievechat.py | |
coverage run -a -m pytest test/test_with_openai.py | |
coverage run -a -m pytest test/test_notebook.py | |
coverage xml | |
cat "$(pwd)/test/executed_openai_notebook_output.txt" | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
file: ./coverage.xml | |
flags: unittests |