* refactoring web surfer to use function decorators
* limited pytest version
* bug fix in test
* bug fixes
* refactoring
* Fix web_surfer tests.
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Adam Fourney <adamfo@microsoft.com>
* code executor
* test
* revert to main conversable agent
* prepare for pr
* kernel
* run open ai tests only when it's out of draft status
* update workflow file
* revert workflow changes
* ipython executor
* check kernel installed; fix tests
* fix tests
* fix tests
* update system prompt
* Update notebook, more tests
* notebook
* raise instead of return None
* allow user provided code executor.
* fixing types
* wip
* refactoring
* polishing
* fixed failing tests
* resolved merge conflict
* fixing failing test
* wip
* local command line executor and embedded ipython executor
* revert notebook
* fix format
* fix merged error
* fix lmm test
* fix lmm test
* move warning
* name and description should be part of the agent protocol, reset is not as it is only used for ConversableAgent; removing accidentally commited file
* version for dependency
* Update autogen/agentchat/conversable_agent.py
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
* ordering of protocol
* description
* fix tests
* make ipython executor dependency optional
* update document optional dependencies
* Remove exclude from Agent protocol
* Make ConversableAgent consistent with Agent
* fix tests
* add doc string
* add doc string
* fix notebook
* fix interface
* merge and update agents
* disable config usage in reply function
* description field setter
* customize system message update
* update doc
---------
Co-authored-by: Davor Runje <davor@airt.ai>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
Co-authored-by: Aaron <aaronlaptop12@hotmail.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Add new capability to handle long context
* Make print conditional
* Remove superfluous comment
* Fix msg order
* Allow user to specify max_tokens
* Add ability to specify max_tokens per message; improve name
* Improve doc and readability
* Add tests
* Improve documentation and add tests per Erik and Chi's feedback
* Update notebook
* Update doc string of add to agents
* Improve doc string
* improve notebook
* Update github workflows for context handling
* Update docstring
* update notebook to use raw config list.
* Update contrib-openai.yml remove _target
* Fix code formatting
* Fix workflow file
* Update .github/workflows/contrib-openai.yml
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* add initiate_chats implementation and example
* update notebook
* improve takeaway method
* improve print
* improve print
* improve print
* improve print
* add tests
* minor changes
* format
* correct typo
* make prompt a parameter
* add takeaway method
* groupchat messages
* add SoM example
* fix typo
* fix SoM typo
* simplify chat function
* add carryover
* update notebook
* doc
* remove async for now
* remove condition on reply
* correct argument name
* add notebook in website
* format
* make get_chat_takeaway private
* rename takeaway method and add example
* removing SoM example for now
* carryover test
* add test
* takeaway_method
* update tests
* update notebook
* chats_queue
* add get_chat_takeaway
* delete
* add test
* Update autogen/agentchat/conversable_agent.py
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* docstr
* wording etc
* add chat res
* revise title
* update agent_utils
* unify the async method
* add todo about overriding
* attribute check
* ChatResult type
* revise test
* takeaway to summary
* cache and documentation
* Use cache in summarize chat; polish tests
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Move contrib-openai.yml
* Moved groupgroupchat
* From #753
* Removed local test references
* Added ignore=test/agentchat/contrib
* Trying to pass contrib-openai tests
* More specific in unit testing.
* Update .github/workflows/contrib-tests.yml
Co-authored-by: Li Jiang <lijiang1@microsoft.com>
* Remove coverage as it is included in test dependencies
* Improved docstring with overview of GraphGroupChat
* Iterate on feedback
* Precommit pass
* user just use pip install pyautogen[graphs]
* Pass precommit
* Pas precommit
* Graph utils an test completed
* Added inversion tests
* Added inversion util
* allow_repeat_speaker can be a list of Agents
* Remove unnessary imports
* Expect ValueError with 1 and 0 agents
* Check that main passes all tests
* Check main
* Pytest all in main
* All done
* pre-commit changes
* noqa E402
* precommit pass
* Removed bin
* Removed old unit test
* Test test_graph_utils
* minor cleanup
* restore tests
* Correct documentation
* Special case of only one agent remaining.
* Improved pytest
* precommit pass
* Delete OAI_CONFIG_LIST_sample copy
* Returns a filtered list for auto to work
* Rename var speaker_order_dict
* To write test cases
* Added check for a list of Agents to repeat
* precommit pass
* Update documentation
* Extract names in allow_repeat_speaker
* Post review changes
* hange "pull_request_target" into "pull_request" temporarily.
* 3 return values from main
* pre-commit changes
* PC edits
* docstr changes
* PC edits
* Rest of changes from main
* Update autogen/agentchat/groupchat.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Remove unnecessary script files from tracking
* Non empty scripts files from main
* Revert changes in script files to match main branch
* Removed link from website as notebook is removed.
* test/test_graph_utils.py is tested as part of L52 of build.yml
* GroupChat ValueError check
* docstr update
* More clarification in docstr
* Update autogen/agentchat/groupchat.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update autogen/agentchat/groupchat.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update autogen/agentchat/groupchat.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update autogen/agentchat/groupchat.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* 1.add commit to line138 in groupchat.py;2.fix bug if random choice [];3.return selected_agent if len(graph_eligible_agents) is 1;4.replace all speaker_order to speaker_transitions;5.format
* fix graph_modelling notebook in the last cell
* fix failure in test_groupchat.py
* fix agent out of group to initiate a chat like SocietyOfMind
* add a warning rule in graph_utils to check duplicates in any lists
* refactor allowed_or_disallowed_speaker_transitions to Dict[Agent, List[Agent]] and modify the tests and notebook
* delete Rule 4 in graph_utils and related test case. Add a test to resolve 993fd006e9 (r1460726831)
* fix as the final comments
* modify setup option from graphs to graph and add texts in optional-dependencies.md
* Update autogen/graph_utils.py
---------
Co-authored-by: Li Jiang <lijiang1@microsoft.com>
Co-authored-by: Beibin Li <BeibinLi@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Qingyun Wu <qingyun0327@gmail.com>
Co-authored-by: Yishen Sun <freedeaths@FREEDEATHS-XPS>
Co-authored-by: freedeaths <register917@gmail.com>
* add client interface, response protocol, and move code into openai client class
* add ability to register custom client
* tidy up code
* adding checks and errors, and more unit tests
* remove code
* fix error msg
* add use_docer False in notebook
* better error message
* add another example to custom model notebook
* rename and have register_client take model name too
* make Client protocol and remove inheritance
* renames
* update notebook
* add link
* rename and more error checking for registered agents
* adding message retrieval to client protocol for more flexible response
* fix failing openai test
* api_type req made model_client_cls requirement
* notebook cleanup and added blog
* remove raise error if client list is empty - client list will never be empty it will have placeholders
* rename Client -> ModelClient
* add forgotten file
* fix test by fetching internal client
* Update autogen/oai/client.py
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* don't add retrieval function to cache
* added placeholder cllient class during initial client init, and rewrote registration
* fix spelling
* Update autogen/agentchat/conversable_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* type hints, small fixes, docstr comment
* fix api type checking
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* added overwrite_tools logic to GPTAssistantAgent
* added test test_gpt_assistant_tools_overwrite
* fetch tools without get_assistant_tools method
* fixed code formatting
* fixed no .get found
* function calling upgraded: async/sync mixing works now for all combinations and register_function added to simplify registration of functions without decorators
* polishing
* fixing tests
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Added a GroupChatRepresentative class that uses group chat as an inner-monologue.
* Renamed GroupChatRepresentative to SocietyOfMindAgent
* Added tests for the society of mind agent.
* Don't force message attribution -- the defaults are correct.
* Add names to external messages.
* Added some comments to document code, per request.
* Added some comments to document code, per request.
* Added a Notebook example, and the ability to use a prompt as the response_preparer.
* Protect inner chat with try-catch
* Fixed typo.
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* functionality of manual history cleaning by admin added
* formatting improved
* formatting improved 2
* formatting improved 3
* test function added
* test code formatting
* test code formatting 2
* more advanced logging. Now user can see nr of messages to preserve as confirmation
* test_invalid_allow_repeat_speaker uncommented
* warning when providing recepient agent and nr messages to preserve added, changed variables names
* code formatting
* code formatting
* code formatting
* added 'enable_clear_history' variable to GroupChat
* 'enable_clear_history' added, better descripted
* clearing groupchat history added
* clearing groupchat history added
* two ifs merged into one, formatting improved
* two ifs merged into one, formatting improved
* two ifs merged into one, formatting improved
* formatting
* formatting
---------
Co-authored-by: Davor Runje <davor@airt.ai>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Change last_n_messages to default to 'auto'
* Added last_n_messages validation, as per Eric's comment.
---------
Co-authored-by: Davor Runje <davor@airt.ai>
* Initial commit of WebSurfer. Adds the browser_utils, and related tests. WebSurfer will be added in a subsequent commit.
* Added the web surfer agent, and related tests.
* Added a notebook to show how WebSurferAgent works.
* Fixed a typo.
* Updated test_web_surfer for compatibility with #1110.
* Updated skip_oai logic.
* Fixed code formatting.
* More pre-commit fixes.
* Added block to contrib-openai.yml
* Added block to contrib-openai.yml
* Added hook for BING_API_KEY
* Temporarily commented out other tests, per request.
* Fixed indentation (maybe?)
* Restoring contrib-openai.yml
* implement redis cache mode, if redis_url is set in the llm_config then
it will try to use this. also adds a test to validate both the existing
and the redis cache behavior.
* PR feedback, add unit tests
* more PR feedback, move the new style cache to a context manager
* Update agent_chat.md
* more PR feedback, remove tests from contrib and have them run with the normal jobs
* doc
* updated
* Update website/docs/Use-Cases/agent_chat.md
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* update docs
* update docs; let openaiwrapper to use cache object
* typo
* Update website/docs/Use-Cases/enhanced_inference.md
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* save previous client cache and reset it after send/a_send
* a_run_chat
---------
Co-authored-by: Vijay Ramesh <vijay@regrello.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* allow initiate_chat without passing message
* test human input
* assert called
* Add missing method a_generate_init_message
* fix tests
* add back skipif
* Update test/agentchat/test_async_get_human_input.py
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* set use_docker to default to true
* black formatting
* centralize checking and add env variable option
* set docker env flag for contrib tests
* set docker env flag for contrib tests
* better error message and cleanup
* disable explicit docker tests
* docker is installed so can't check for that in test
* pr comments and fix test
* rename and fix function descriptions
* documentation
* update notebooks so that they can be run with change in default
* add unit tests for new code
* cache and restore env var
* skip on windows because docker is running in the CI but there are problems connecting the volume
* update documentation
* move header
* update contrib tests
* Switched to AzureOpenAI for api_type=="azure"
* Setting AzureOpenAI to empty object if no `openai`
* extra_ and openai_ kwargs
* test_client, support for Azure and "gpt-35-turbo-instruct"
* instruct/azure model in test_client_stream
* generalize aoai support (#1)
* generalize aoai support
* Null check, fixing tests
* cleanup test
---------
Co-authored-by: Maxim Saplin <smaxmail@gmail.com>
* Returning back model names for instruct
* process model in create
* None check
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* #1206
* doc
* add test for azure openai
* prior to
* filter for versions
* up to
* literal type
* update doc
* update doc
* update model list
* Update autogen/agentchat/conversable_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update test/agentchat/test_tool_calls.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update test_tool_calls.py
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Added the ability to add tags to the OAI_CONFIG_LIST, and filter on them.
* Update openai_utils.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* run sync and async in async
* test for async multitool call
* uncomment notebook
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Davor Runje <davor@airt.ai>
* documentation update and added tests for register_reply function
* added raising an exception on an async reply function in sync chat
* big fixing
* test expanded
* Update autogen/agentchat/conversable_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update autogen/agentchat/conversable_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* refactorization
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* bug fix for async functions
* Update test_conversable_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update test/agentchat/test_conversable_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* commented out cell in a notebook until issue #1205 is not fixed
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>