-
Notifications
You must be signed in to change notification settings - Fork 44.7k
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
add plugins list to aiconfig #4089
add plugins list to aiconfig #4089
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## master #4089 +/- ##
==========================================
+ Coverage 60.93% 61.04% +0.11%
==========================================
Files 73 73
Lines 3315 3322 +7
Branches 543 546 +3
==========================================
+ Hits 2020 2028 +8
Misses 1156 1156
+ Partials 139 138 -1
☔ View full report in Codecov by Sentry. |
This is a great pr and brings up important concepts and concerns! We have a ReArch in progress that may fix some of this that may interest you in contributing to. Ping me in the discord if you’re interested |
…gnificant-Gravitas#3870) * Adds pytest-parallel dependencies * Implement pytest-parallel for faster tests * Uses pytest-xdist * Auto number of workers processes * Update ci.yml --------- Co-authored-by: Nicholas Tindle <nick@ntindle.com>
Co-authored-by: Richard Beales <rich@richbeales.net>
Co-authored-by: k-boikov <64261260+k-boikov@users.noreply.github.com>
…tas#4142) Co-authored-by: k-boikov <64261260+k-boikov@users.noreply.github.com>
…nificant-Gravitas#3706) Co-authored-by: k-boikov <64261260+k-boikov@users.noreply.github.com>
Co-authored-by: k-boikov <64261260+k-boikov@users.noreply.github.com>
Co-authored-by: merwanehamadi <merwanehamadi@gmail.com> Co-authored-by: Richard Beales <rich@richbeales.net> Co-authored-by: k-boikov <64261260+k-boikov@users.noreply.github.com>
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request. |
Added future support for PR: Significant-Gravitas#4089 Only handle plugins: list if 'plugins' attribute exists in the AIConfig class
100% agree! I'll go even further and say this also applies to commands. Doing it manually per agent isn't going to be manageable at scale though. Especially when taking dynamic tool acquisition (future feature) into consideration, tool selection should be done using AI to make sure agents focus on their task. You would be welcome to contribute to a routine that filters the list of available commands/tools based on a task description. I'll also add an issue for this to the roadmap or kanban this week(end). |
Background
It seems good practice to only load the plugins needed for a given agent - however, the current implementation will always load what's in the plugins folder as long as it's on the allowed list, meaning if you run multiple setups (ai_settings.yml), you end in a situation where you might have more plugins loaded than you actually want.
Changes
the changes introduced in this PR address the "problem" by introducing an optional plugins section in the ai_settings file. If there is any plugin listed (and only then) it will only load plugins that are on the list (while still respecting the settings from the environment, meaning anything not on the allowlist but in ai_settings will not be treated as if it was on the allowlist, and it won't override the denylist either.) If the list is empty, everything else will behave like before.
Example:
if you have
and your ai_settings have
Only ExamplePlugin1 and ExamplePlugin3 will be loaded (if allow/deny lists / user-input permits)
Documentation
Test Plan
PR Quality Checklist
By submitting this, I agree that my pull request should be closed if I do not fill this out or follow the guidelines.