An agent for agents to explore the web
Project description
AIWebExplorer 🌐
An agent for agents to explore the web
📦 Installation
This project uses uv for dependency management.
# Clone the repository
git clone <repository-url>
cd AIWebExplorer
# Install dependencies
uv sync
# Activate virtual environment
source .venv/bin/activate
🛠️ Development
# Run linting
uv run ruff check .
# Run formatting
uv run ruff format .
# Run type checking
uv run ruff check --select I
⚙️ Environment Variables
Copy .env.example to .env and adjust the values:
# Environment setting (DEV, TEST, CI, PROD)
AWE_ENV=DEV
# Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
AWE_LOG_LEVEL=INFO
# LLM Provider configuration (REQUIRED)
# Supported providers: openai, togetherai, deepseek
AWE_LLM_PROVIDER=openai
# LLM Model to use (REQUIRED)
# Examples:
# - OpenAI: gpt-4, gpt-4-turbo, gpt-3.5-turbo
# - TogetherAI: meta-llama/Llama-2-70b-chat-hf, mistralai/Mixtral-8x7B-Instruct-v0.1
# - DeepSeek: deepseek-chat, deepseek-coder
AWE_LLM_MODEL=gpt-4
# API Key for the selected provider (REQUIRED)
AWE_LLM_API_KEY=your-api-key-here
Configuration Options
AWE_ENV: Application environment (default:DEV)- Options:
DEV,TEST,CI,PROD
- Options:
AWE_LOG_LEVEL: Logging verbosity level (default:INFO)- Options:
DEBUG,INFO,WARNING,ERROR,CRITICAL
- Options:
AWE_LLM_PROVIDER: LLM provider selection (REQUIRED)- Supported providers:
openai,togetherai,deepseek - Can be overridden when creating agents programmatically
- Supported providers:
AWE_LLM_MODEL: Model identifier to use (REQUIRED)- Must be compatible with the selected provider
- Can be overridden when creating agents programmatically
AWE_LLM_API_KEY: API key for authentication (REQUIRED)- Must be valid for the selected provider
- Can be overridden when creating agents programmatically
Supported Providers
🤖 OpenAI
- Provider:
openai - Models:
gpt-4,gpt-4-turbo,gpt-3.5-turbo, and more - API Key: Get from OpenAI Platform
🔗 TogetherAI
- Provider:
togetherai - Models: Various open-source models including Llama, Mixtral, etc.
- API Key: Get from Together.ai
🔍 DeepSeek
- Provider:
deepseek - Models:
deepseek-chat,deepseek-coder - API Key: Get from DeepSeek Platform
🧪 Testing
For comprehensive testing documentation, including how to run tests, use dependency injection for mocking, and write new tests, see the Tests README.
Running Tests
# Run all tests
pytest
# Run with verbose output
pytest -v
# Run specific test file
pytest tests/test_webexplorer_integration.py
📊 Evaluation Reports
Performance evaluation reports are available in the tests/reports/ directory:
- Amazon Extraction Report - Evaluation of product information extraction from Amazon
- Wikipedia Extraction Report - Evaluation of information extraction from Wikipedia
These reports track the accuracy and performance of the WebExplorer across different types of websites and extraction tasks.
✨ New Features
To develop a new feature:
-
Create a feature branch from
develop:git checkout develop git pull origin develop git checkout -b feature/your-feature-name
-
Work on your feature and commit changes:
git add . git commit -m "feat: add your new feature" git push origin feature/your-feature-name
-
Create a Pull Request to
developbranch -
After review and merge, delete the feature branch
🚀 New Versions
Option 1: Automated Release (Recommended)
For automated releases, simply commit with the release message:
git commit -m "chore: release v1.2.0"
git push origin master
This will automatically:
- Create the version tag
- Publish to PyPI
- Create a GitHub release
Option 2: Manual Release
-
Create a release branch from
develop:git checkout develop git pull origin develop git checkout -b release/v1.2.0
-
Update CHANGELOG.md with your changes
-
Merge to master and create version tag:
git checkout master git merge release/v1.2.0 git tag v1.2.0 git push origin master --tags
-
Merge back to develop:
git checkout develop git merge release/v1.2.0 git push origin develop
The CI/CD pipeline will automatically:
- Run tests and linting
- Build and publish to PyPI when version tags are pushed
- Create GitHub releases
Version numbering:
- Patch (1.0.0 → 1.0.1): Bug fixes
- Minor (1.0.0 → 1.1.0): New features
- Major (1.0.0 → 2.0.0): Breaking changes
License
[Add your license here]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiwebexplorer-0.0.4.tar.gz.
File metadata
- Download URL: aiwebexplorer-0.0.4.tar.gz
- Upload date:
- Size: 91.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d719a4e9c33c479bf4cf88f0f237a82ff2f9aad8706fce0899d63b8a888218f
|
|
| MD5 |
9b1737c01569a09b73c3e031302a1efc
|
|
| BLAKE2b-256 |
43a242ceb55dfad2863f230c051d053e46bd37fed5f12f3b3aaa50c2661e4bb1
|
File details
Details for the file aiwebexplorer-0.0.4-py3-none-any.whl.
File metadata
- Download URL: aiwebexplorer-0.0.4-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1408daf0cfecad3e2edd355d8475f75ba68250b56f69156324d56535f8c5b78c
|
|
| MD5 |
00dd0d851e95c621b44ceeb9d1e332dc
|
|
| BLAKE2b-256 |
8acf0afdb8e0d12db00fc17761ca05a21e8e930330f0343331775475ab743606
|