A multi-agent procurement assistant system that helps automate and streamline the procurement process.
- Input Understanding: Extracts key information from procurement requests
- Clarification: Generates questions for missing or ambiguous information
- Product Search: Finds relevant products using various search APIs
- Evaluation: Ranks and recommends products based on requirements
- Action Decision: Determines next steps based on company rules
- Communication: Generates approval requests and confirmations
- Order Execution: Simulates or automates the order placement process
- Python 3.12
- UV (Python package manager)
- Playwright (for order execution)
-
Clone the repository:
git clone <repository-url> cd aes-agents
-
Install UV (if not already installed):
curl -LsSf https://astral.sh/uv/install.sh | sh -
Create and activate a Python 3.12 virtual environment using UV:
uv venv .venv --python 3.12 source .venv/bin/activate # On Unix/macOS # or .venv\Scripts\activate # On Windows
-
Install dependencies using UV:
uv pip install -r requirements.txt
-
Install Playwright browsers:
playwright install
-
Set up API keys:
- Create a
.envfile in the root directory - Add your API keys for the providers you want to use:
# API Keys OPENAI_API_KEY=your_openai_api_key_here ANTHROPIC_API_KEY=your_anthropic_api_key_here GOOGLE_API_KEY=your_google_api_key_here BRAVE_API_KEY=your_brave_api_key_here # Default Providers DEFAULT_LLM_PROVIDER=openai DEFAULT_SEARCH_PROVIDER=brave DEFAULT_ORDER_PROVIDER=playwright # LLM Model Settings OPENAI_MODEL=gpt-4-turbo-preview ANTHROPIC_MODEL=claude-3-opus-20240229 GOOGLE_MODEL=gemini-pro # Browser Settings BROWSER_HEADLESS=true
- You only need to add the API keys for the providers you plan to use
- The system will work with any combination of providers
- Create a
-
Start the Streamlit application:
streamlit run app.py
-
Open your browser and navigate to the provided URL (usually http://localhost:8501)
-
Check the API connection status in the sidebar:
- ✅ indicates a connected API
- ❌ indicates a missing API key
-
Select your preferred providers in the sidebar:
- LLM Provider (OpenAI, Anthropic, Google)
- Search Provider (Brave, Google, Bing)
-
Enter your procurement request in the text area
-
Click "Process Request" to start the workflow
- The system processes your procurement request
- If clarification is needed, it will ask for additional information
- It searches for relevant products
- Evaluates and ranks the products
- Determines if approval is needed based on company rules
- Either generates an approval request or proceeds with order execution
- Provides confirmation and tracking information
-
API Connection Issues:
- Check your
.envfile for correct API keys - Verify that the API keys are valid and have sufficient quota
- Ensure you have internet connectivity
- Check your
-
Search Issues:
- Try different search queries
- Check the Brave Search API documentation for query limitations
- Verify your Brave Search API key
-
Playwright Issues:
- Ensure Playwright browsers are installed correctly
- Check system requirements for Playwright
- Verify browser compatibility
- This is a Proof of Concept (PoC) implementation
- No real email integration is included
- Order execution can be simulated or automated using Playwright
- The system supports multiple LLM providers (OpenAI, Anthropic, Google)
- The system supports multiple search providers (Brave, Google)
- The system supports multiple order execution methods (simulation, Playwright automation)
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.