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

Adding a sample to redact sensitive information after an agent generates a response #2927

Open
wants to merge 676 commits into
base: 0.2
Choose a base branch
from

Conversation

Git-Noob123
Copy link

Why are these changes needed?

There's a need for a way to redact sensitive data that is stored as env variables. Currently the only way to do this is to use transform_messages which ONLY redacts before an agent generates a response. However, if a user asks an agent to run a script that retrieves env data, it's still going to be revealed. So a way to hide sensitive data after a response is generated is needed. The sample here shows how can we do it using hooks

Related issue number

Checks

@Git-Noob123
Copy link
Author

@microsoft-github-policy-service agree

@ma-armenta ma-armenta removed the request for review from Knucklessg1 June 12, 2024 16:37
@sonichi
Copy link
Contributor

sonichi commented Jun 13, 2024

Would you like to render the notebook on the website? Please find instructions here: https://microsoft.github.io/autogen/docs/contributor-guide/documentation

@sonichi sonichi requested a review from WaelKarkoub June 13, 2024 05:24
Copy link
Contributor

@WaelKarkoub WaelKarkoub left a comment

Choose a reason for hiding this comment

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

@Git-Noob123 thank you for the notebook!

I like this notebook since it's a good example to show how process_message_before_send (hooks in general) works.

If we hook TransformMessages onto process_message_before_send it makes debugging these agents much more difficult, since you don't know the ground truth (as it gets modified before being stored in the context history). And as you may already know, it's already difficult to debug vanilla LLMs without any modifications.

In the intro, we should maybe explain the differences between each hookable method, and why you picked the process_message_before_send

notebook/agentchat_postresponse_secret_redaction.ipynb Outdated Show resolved Hide resolved
notebook/agentchat_postresponse_secret_redaction.ipynb Outdated Show resolved Hide resolved
notebook/agentchat_postresponse_secret_redaction.ipynb Outdated Show resolved Hide resolved
notebook/agentchat_postresponse_secret_redaction.ipynb Outdated Show resolved Hide resolved
notebook/agentchat_postresponse_secret_redaction.ipynb Outdated Show resolved Hide resolved
notebook/agentchat_postresponse_secret_redaction.ipynb Outdated Show resolved Hide resolved
notebook/agentchat_postresponse_secret_redaction.ipynb Outdated Show resolved Hide resolved
notebook/agentchat_postresponse_secret_redaction.ipynb Outdated Show resolved Hide resolved
notebook/agentchat_postresponse_secret_redaction.ipynb Outdated Show resolved Hide resolved
notebook/agentchat_postresponse_secret_redaction.ipynb Outdated Show resolved Hide resolved
@Git-Noob123
Copy link
Author

Git-Noob123 commented Jun 14, 2024

@WaelKarkoub Thanks for the comments! I have resolved all of them besides the regex one. I added a section at the beginning of the notebook to describe what's hooks in Autogen as well. Please review it and feel free to put in more comments & thoughts.

For debugging with the postprocess hook, I think we should add another section in the notebook to warn readers about how difficult it can be to debug with redacted message, and users can potentially add logging before redaction. On the other hand hiding sensitive information is more of a security concern, as you dont want users to see your secrets. Please let me know what you think

@ghost
Copy link

ghost commented Jun 14, 2024 via email

Copy link

gitguardian bot commented Jul 20, 2024

️✅ There are no secrets present in this pull request anymore.

If these secrets were true positive and are still valid, we highly recommend you to revoke them.
Once a secret has been leaked into a git repository, you should consider it compromised, even if it was deleted immediately.
Find here more information about risks.


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

ekzhu and others added 14 commits August 28, 2024 01:09
…ption (microsoft#414)

* Refactor core concept docs and add new ones for agent identity and topic subscription.

* update notebook

* update notebook

* resolve conflict

* fix link

* fix ref

* update notebook

* update notebook
* rename core module to base

* Rename agnext.core to agnext.base
* Rename agnext to autogen_core

* fix file name

* fix more file names
* Move packages to packages directory

* remove screenshot

* update some paths
…osoft#424)

* Migrate to uv and poe for workspace management and task running

* install python

* try fix

* ensure workspace venv in used

* package dir

* move nbqa to mypy task

* separate sync, clarify docs
@rysweet rysweet removed the awaiting-op-response Issue or pr has been triaged or responded to and is now awaiting a reply from the original poster label Oct 12, 2024
vikas434 and others added 16 commits October 12, 2024 08:10
* Support structured output

* use ruff format

* add type checking for cookbook

* add the notebook to index.md

* fix the type error

* pass response_format explicitly

* remove casting

* ensure type are correct

* seperate response_format arg

* fix type and resolve pyright errors

---------

Co-authored-by: Eric Zhu <[email protected]>
* Update indexes for better navigation

* Fix link

* Fix link
* Update version to dev1

* lockfile

* update tilde
* update OpenAI, semantic kernel to latest version

* fix build error

* update

* update release note
…3800)

* interim - doesn't work - sharing

* turn off EnforceExtended

* works with dotnet build now... ;-)

* interim progress

* more updates

* make VS happy

* update

* Update AutoGen.Ollama.csproj

* Update Microsoft.AutoGen.Agents.Abstractions.csproj

* Delete dotnet/test/AutoGen.Gemini.Tests/ApprovalTests/FunctionContractExtensionTests.ItGenerateGetWeatherToolTest.received.txt

* fix tests

---------

Co-authored-by: XiaoYun Zhang <[email protected]>
… term maintenance and clarity microsoft#3809 (microsoft#3810)

closes microsoft#3809 - refactor .NET code foldersand namespaces for better clarity and maintainability
* Update FunctionCallGenerator.cs to address race condition

Update FunctionCallGenerator.cs to address race condition

* Update Dockerfile

Use MCR registry

* Update Dockerfile

Use MCR registry
* Move from tomllib to tomli

* added example code for magentic-one + code comments

* remove added package

* make checks pass

* README for magentic-one examples

* typo fix

---------
jackgerrits and others added 6 commits October 17, 2024 10:33
* Restructure extensions, update corresponding docs

* update tests, add deprecation messages

* fix tests

* update lockfile

---------
* Move from tomllib to tomli

* added example code for magentic-one + code comments

* adding benchmarks temporarily

* add license for datasets

* revert changes to magentic-one

* change license location

---------

Co-authored-by: Ryan Sweet <[email protected]>
* Create Semantic Router example

* ruff formatting

* linting fixes

* pyright fixes

---------
@rysweet
Copy link
Collaborator

rysweet commented Oct 18, 2024

Hi @Git-Noob123 - I approved yesterday but the base branch moved on again - I can't update yours since it's a fork. If you bring it up to date we can merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.2 Issues which were filed before re-arch to 0.4
Projects
None yet
Development

Successfully merging this pull request may close these issues.