Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: Centralize configuration management for URLs and client settings #19

Merged
merged 27 commits into from
Jan 3, 2025

Conversation

XiangZhang-zx
Copy link
Contributor

  1. Add centralized configuration using YAML file
  2. Move hardcoded URLs and client settings to config
  3. Add configuration manager with environment variables support
  4. Update run_agent.py to use config values

XiangZhang-zx and others added 26 commits December 8, 2024 17:30
## What Changed
1. **Local Tool Loading**: Added logic to check and load tools from the local directory first.
2. **Fixed NoneType Error**: Resolved the issue where the version was `None`, causing a `'NoneType' object has no attribute 'replace'` error.
3. **Improved Error Messages**: Enhanced error messages for better clarity and debugging.

## How It Works Now
- **Local First**: The system first checks the local tools folder.
- **Use Local Tool**: If a tool is found locally, it uses that version.
- **Remote Fallback**: If not found locally, it downloads the tool.
- **Version Handling**: Retrieves version from local `config.json` to ensure correct versioning.

## Testing
- Tested with `math_agent` using local `wikipedia` tool.
- Tested with `story_teller` agent.
- Confirmed no NoneType errors occur.
## What Changed
1. **Local Tool Loading**: Added logic to check and load tools from the local directory first.
2. **Fixed NoneType Error**: Resolved the issue where the version was `None`, causing a `'NoneType' object has no attribute 'replace'` error.
3. **Improved Error Messages**: Enhanced error messages for better clarity and debugging.

## How It Works Now
- **Local First**: The system first checks the local tools folder.
- **Use Local Tool**: If a tool is found locally, it uses that version.
- **Remote Fallback**: If not found locally, it downloads the tool.
- **Version Handling**: Retrieves version from local `config.json` to ensure correct versioning.
## What Changed
1. **Local Tool Loading**: Added logic to check and load tools from the local directory first.
2. **Fixed NoneType Error**: Resolved the issue where the version was `None`, causing a `'NoneType' object has no attribute 'replace'` error.
3. **Improved Error Messages**: Enhanced error messages for better clarity and debugging.

## How It Works Now
- **Local First**: The system first checks the local tools folder.
- **Use Local Tool**: If a tool is found locally, it uses that version.
- **Remote Fallback**: If not found locally, it downloads the tool.
- **Version Handling**: Retrieves version from local `config.json` to ensure correct versioning.
## What Changed
1. **Local Tool Loading**: Added logic to check and load tools from the local directory first.
2. **Fixed NoneType Error**: Resolved the issue where the version was `None`, causing a `'NoneType' object has no attribute 'replace'` error.
3. **Improved Error Messages**: Enhanced error messages for better clarity and debugging.

## How It Works Now
- **Local First**: The system first checks the local tools folder.
- **Use Local Tool**: If a tool is found locally, it uses that version.
- **Remote Fallback**: If not found locally, it downloads the tool.
- **Version Handling**: Retrieves version from local `config.json` to ensure correct versioning.
- Add debug logs to track agent loading
- Fix config handling in agent manager
- Update seeact_demo_agent config format

The code now:
- Shows better error messages
- Loads agents more reliably
- Keeps full config when packaging"
## What's Changed
- Added `--local_agent` flag to support loading agents from local filesystem
- Added path validation for local agent loading
- Simplified agent execution logic
This PR refactors the configuration management for Cerebrum by moving the URLs for the Agent and Tool Managers into a centralized configuration file (default.yaml). This change allows for easier management and customization of these URLs across different environments.
Changes:
Added agent_hub_url and tool_hub_url to default.yaml.
2. Updated AutoAgent and AutoTool classes to use URLs from the configuration file.
Copy link
Collaborator

@dongyuanjushi dongyuanjushi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about changing the local_agent argument as 'store_true' or making it as bool value from [True, False]? The others look good to me.

@XiangZhang-zx
Copy link
Contributor Author

Thank you for the suggestion! During the developer hour meeting, it was discussed to use 'yes' or 'no' for this argument, so I implemented it to support both 'yes/no' and 'true/false'. The GitBook documentation uses 'yes/no' as examples, but as shown in the code, 'true/false' are also supported.

Let me know if this implementation works for you, or if any adjustments are needed!

image Screenshot 2025-01-03 at 9 11 01 AM

@dongyuanjushi
Copy link
Collaborator

dongyuanjushi commented Jan 3, 2025

okay, this implementation also looks good, merged!

@dongyuanjushi dongyuanjushi merged commit 12cdcc6 into agiresearch:main Jan 3, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants