Skip to content

Commit

Permalink
Merge branch 'main' into reason_tool
Browse files Browse the repository at this point in the history
  • Loading branch information
BabyCNM authored Jan 18, 2025
2 parents 7ee05fa + d5ef32a commit 24f9167
Show file tree
Hide file tree
Showing 104 changed files with 2,410 additions and 1,027 deletions.
8 changes: 4 additions & 4 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Devcontainer Configurations for AutoGen
# Devcontainer Configurations for AG2

Welcome to the `.devcontainer` directory! Here you'll find Dockerfiles and devcontainer configurations that are essential for setting up your AutoGen development environment. Below is a brief overview and how you can utilize them effectively.
Welcome to the `.devcontainer` directory! Here you'll find Dockerfiles and devcontainer configurations that are essential for setting up your AG2 development environment. Below is a brief overview and how you can utilize them effectively.

These configurations can be used with Codespaces and locally.

## Developing AutoGen with Devcontainers
## Developing AG2 with Devcontainers

### Prerequisites

Expand All @@ -17,7 +17,7 @@ These configurations can be used with Codespaces and locally.
1. Open the project in Visual Studio Code.
2. Press `Ctrl+Shift+P` and select `Dev Containers: Reopen in Container`.
3. Select the desired python environment and wait for the container to build.
4. Once the container is built, you can start developing AutoGen.
4. Once the container is built, you can start developing AG2.

### Troubleshooting Common Issues

Expand Down
4 changes: 2 additions & 2 deletions .devcontainer/dev/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ USER autogen
# Set environment variable
# ENV OPENAI_API_KEY="{OpenAI-API-Key}"

# Clone the AutoGen repository
# Clone the AG2 repository
RUN git clone https://github.com/ag2ai/ag2.git /home/autogen/ag2
WORKDIR /home/autogen/ag2

# Install AutoGen in editable mode with extra components
# Install AG2 in editable mode with extra components
RUN sudo pip install --upgrade pip && \
sudo pip install -e .[test,teachable,lmm,retrievechat,mathchat,blendsearch] && \
pip install pytest-xdist pytest-cov
Expand Down
1 change: 1 addition & 0 deletions .devcontainer/devcontainer.env
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY}
OPENAI_API_KEY=${OPENAI_API_KEY}
TOGETHER_API_KEY=${TOGETHER_API_KEY}
GEMINI_API_KEY=${GEMINI_API_KEY}
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<!-- A clear and concise description of the issue or feature request. -->

### Environment
- AutoGen version: <!-- Specify the AutoGen version (e.g., v0.2.0) -->
- Python version: <!-- Specify the Python version (e.g., 3.9) -->
- Package name & version: <!-- Specify the ag2 package name and version (e.g., autogen v0.7.2) -->
- Python version: <!-- Specify the Python version (e.g., 3.12) -->
- Operating System: <!-- Specify the OS (e.g., Windows 10, Ubuntu 20.04) -->

### Steps to Reproduce (for bugs)
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ body:
attributes:
label: Additional Information
description: |
- AutoGen Version: <!-- Specify the AutoGen version (e.g., v0.2.0) -->
- Package Name & Version: <!-- Specify the package name and version (e.g., autogen v0.7.2) -->
- Operating System: <!-- Specify the OS (e.g., Windows 10, Ubuntu 20.04) -->
- Python Version: <!-- Specify the Python version (e.g., 3.9) -->
- Related Issues: <!-- Link to any related issues here (e.g., #1) -->
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/general_issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ body:
attributes:
label: Additional Information
description: |
- AutoGen Version: <!-- Specify the AutoGen version (e.g., v0.2.0) -->
- Package Name & Version: <!-- Specify the package name and version (e.g., autogen v0.7.2) -->
- Operating System: <!-- Specify the OS (e.g., Windows 10, Ubuntu 20.04) -->
- Python Version: <!-- Specify the Python version (e.g., 3.9) -->
- Related Issues: <!-- Link to any related issues here (e.g., #1) -->
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/contrib-graph-rag-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
OAI_CONFIG_LIST: ${{ secrets.OAI_CONFIG_LIST }}
run: |
uv pip install --system pytest-cov>=5
bash scripts/test.sh test/agentchat/contrib/graph_rag/test_falkor_graph_rag.py -m "not openai"
bash scripts/test-skip-llm.sh test/agentchat/contrib/graph_rag/test_falkor_graph_rag.py
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
Expand Down Expand Up @@ -108,7 +108,7 @@ jobs:
OAI_CONFIG_LIST: ${{ secrets.OAI_CONFIG_LIST }}
run: |
uv pip install --system pytest-cov>=5
bash scripts/test.sh test/agentchat/contrib/graph_rag/test_neo4j_graph_rag.py -m "not openai"
bash scripts/test-skip-llm.sh test/agentchat/contrib/graph_rag/test_neo4j_graph_rag.py
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
Expand Down
157 changes: 157 additions & 0 deletions .github/workflows/contrib-llm-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
# This workflow will install Python dependencies and run tests
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Contrib tests with LLMs

on:
pull_request:
branches: ["main"]
paths:
- "autogen/**"
- "test/agentchat/contrib/**"
- ".github/workflows/contrib-openai.yml"
- "pyproject.toml"
permissions:
{}
jobs:
TeachableAgent:
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.11"]
runs-on: ${{ matrix.os }}
environment: openai1
steps:
# checkout to pr branch
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: astral-sh/setup-uv@v5
with:
version: "latest"
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install packages and dependencies
run: |
docker --version
uv pip install --system -e .[teachable,test]
python -c "import autogen"
- name: Coverage
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: |
bash scripts/test.sh test/agentchat/contrib/capabilities/test_teachable_agent.py
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
flags: unittests
AgentBuilder:
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.11"]
runs-on: ${{ matrix.os }}
environment: openai1
steps:
# checkout to pr branch
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: astral-sh/setup-uv@v5
with:
version: "latest"
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install packages and dependencies
run: |
docker --version
uv pip install --system -e ".[test]"
python -c "import autogen"
uv pip install --system pytest-cov>=5 pytest-asyncio
- name: Install packages for test when needed
run: |
uv pip install --system -e .[autobuild]
- name: Coverage
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: |
bash scripts/test.sh test/agentchat/contrib/test_agent_builder.py
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
flags: unittests

ImageGen:
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.13"]
runs-on: ${{ matrix.os }}
environment: openai1
steps:
# checkout to pr branch
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: astral-sh/setup-uv@v5
with:
version: "latest"
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install packages and dependencies
run: |
docker --version
uv pip install --system -e .[lmm,test]
python -c "import autogen"
- name: Coverage
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
bash scripts/test.sh test/agentchat/contrib/capabilities/test_image_generation_capability.py
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
flags: unittests

# https://github.com/marketplace/actions/alls-green#why
check-contrib-test-llm: # This job does nothing and is only used for the branch protection
# from: https://github.com/re-actors/alls-green
# Important: For this to work properly, it is a must to have the job always
# run, otherwise GitHub will make it skipped when any of the dependencies
# fail. In some contexts, skipped is interpreted as success which may lead
# to undersired, unobvious and even dangerous (as in security breach
# "dangerous") side-effects.
if: always()

needs:
- TeachableAgent
- AgentBuilder
- ImageGen

runs-on: ubuntu-latest

steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1 # nosemgrep
with:
# allowed-failures: docs, linters
# allowed-skips: non-voting-flaky-job
jobs: ${{ toJSON(needs) }}
Loading

0 comments on commit 24f9167

Please sign in to comment.