microsoft / teams-ai

SDK focused on building AI based applications and extensions for Microsoft Teams and other Bot Framework channels
MIT License
405 stars 176 forks source link

[PY] feat: Add Autogen Planner Python sample #1787

Closed heyitsaamir closed 3 months ago

heyitsaamir commented 3 months ago

Details

closes #1791

This PR introduces a new sample for Teams AI python library. It demonstrate using autogen to accomplish a task with a group of internal agents. Autogen is gaining significant popularity in the AI world and it would be helpful to demonstrate that it is possible to build a single-agent system using multiple internal agents.

The example we show here is to use a system of 3 agents that work together to analyze and critique a product spect supplied by the user.

  1. Questioner agent - asks questions based on some list of specs
  2. Answerer agent - uses the supplied product spec (included in the sample) to answer questions that the questioner agent asks
  3. Answer evaluator agent - analyzes the answer from the answerer agent and gives the user helpful feedback on how to improve it.

Change details

Describe your changes, with screenshots and code snippets as appropriate

Teams result:

image

Agent reasoning is also sent as a way to look at internal reasoning:

image

Here is what the terminal looks like:

image

Attestation Checklist

Additional information

PS: this is my first contribution to the repo. Please excuse ignorance and help me out. Thanks! There is a critical vulnerability for jsonpickle which is imported by botbuilder-core. How do I get past this?