aws-samples / bedrock-claude-chat

AWS-native chatbot using Bedrock + Claude (+Mistral)
MIT No Attribution
688 stars 232 forks source link

[Feature Request] Allow to send parameters to agent from Bot configuration page #362

Open mirecekd opened 2 weeks ago

mirecekd commented 2 weeks ago

Describe the solution you'd like

I would like to send to agent configuration parameters from Bot configuration page.

For example I would like to costumize my bot

I understand and can simply think about the "security" questions around, but sometimes there would be nice to have possibility to send configuration parameters to agent. For example just name or something else...

Implementation feasibility

Are you willing to discuss the solution with us, decide on the approach, and assist with the implementation?

But I am not frontend developer :)

Thanks Miroslav

statefb commented 2 weeks ago

Could you describe more about the detail of the concrete user story please? I wasn't able to understand the situation (sorry). Thank you.

mirecekd commented 2 weeks ago

Based on Agent requerements, there will be specific field in UI to add what Agent needs

statefb commented 2 weeks ago

I still don't understand very well, but do you want to be able to use different API keys to access external api for each user?

mirecekd commented 2 weeks ago

I still don't understand very well, but do you want to be able to use different API keys to access external api for each user?

Yes, this is the exact situation i would like to have - to have "common" python Agent, which will be personalised for every user who will deploy it.

Different case is to "parametrize" agent -> Now I am working on PR for search over internet which is going through search results and grabs whole page from agent search. And sometimes the returned result is long. I would like to have setup for limit if to (for example) 5 paragraphs. Now I can do this via fix variable on Agent, but need to re-deploy backend stack. With this possibility of parametrizing just editing Bot with Agent would be needed to change totally the behavior or Agent based on those parameters.

statefb commented 2 weeks ago

, which will be personalised for every user who will deploy it.

The interface receives user information (ex. websocket.py) so you would be able to prepare another data store which has user_id as key and some user related values e.g. api keys and then you can utilize it on the customized tool. It would be one of reasonable way to handle personal contexts.

Different case is to "parametrize" agent

yes currently implementation does not support "parametric" tools, so if we'd like to do so, we need to add or modify some implementations on schemas and models so that we can CRUD the parameters. Also we may need to modify the endpoint GET /bot/bot_id/agent/available-tools (source) so that frontend can render the parameters according to the tool definitions.