* adjust conversable and compressible agents to support tool_calls
* split out tools into their own reply def
* copilot typo
* address review comments
* revert compressible_agent and token_count_utils calls
* cleanup terminate check and remove unnecessary code
* doc search and update
* return function/tool calls as interrupted when user provides a reply to a tool call request
* fix tool name reference
* fix formatting
* fix initiate receiving a dict
* missed changed roled
* ignore incoming role, more similiar to existing code
* consistency
* redundant to_dict
* fix todo comment
* uneeded change
* handle dict reply in groupchat
* Fix generate_tool_call_calls_reply_comment
* change method annotation for register_for_llm from functions to tools
* typo autogen/agentchat/conversable_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* add deprecation comments for function_call
* tweak doc strings
* switch to ToolFunction type
* update the return to
* fix generate_init_message return type
* Revert "fix generate_init_message return type"
This reverts commit 645ba8b76a.
* undo force init to dict
* fix notebooks and groupchat tool handling
* fix type
* use get for key error
* fix teachable to pull content from dict
* change single message tool response
* cleanup unnessary changes
* little better tool response concatenation
* update tools tests
* add skip openai check to tools tests
* fix nits
* move func name normalization to oai_reply and assert configured names
* fix whitespace
* remove extra normalize
* tool name is now normalized in the generate_reply function, so will not be incorrect when sent to receive
* validate function names in init and expand comments for validation methods
* fix dict comprehension
* Dummy llm config for unit tests
* handle tool_calls set to None
* fix tool name reference
* method operates on responses not calls
---------
Co-authored-by: Yiran Wu <32823396+kevin666aa@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* try to fix blog
* modify blog
* fix test error in #717; fix blog typo in installation; update blogs with output examples.
* pre-commit
* pre-commit
* Update website/blog/2023-11-26-Agent-AutoBuild/index.mdx
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
* add future work
* fix grammar
* update agent_builder
* solve #941; add detailed debug info; support json string config
* pre-commit
* solve #954
* pre-commit
* [new feature] build group chat agents from library.
* pre-commit
* add authors' info in notebook; add a new notebook for build_from_library; reduce prompt effort
* update test and example for build_from_library
* pre-commit
* add notebook; update docs
* change notebook name
* change description for notebook and doc
* remove default value for default_llm_config
* add embedding similarity agent selection
* pre-commit
* update test
* add dependency installation in github workflow
* update test
* pre-commit
* update notebook
* support directly json as library; support customize embedding model
* update test
* pre-commit
* update github test workflow
* Update autobuild_agent_library.ipynb
* add agent description
* refine prompt; update notebook
* pre-commit
* update test example
* update test
* update test
* update test
* change `config_path` to `config_path_or_env`; update test
* pre-commit
* update test
* update test
* update test: add config_file_location
* change `config_path_or_env` to `config_file_or_env`
* update test
* solve noqa
* fix import error for conftest
* fix test error
* pre-commit
* * update error message in `_create_agent`.
* replace `gpt-4-1106-preview` to `gpt-4` in test file.
* add comment on local server creation; modify notebook; update contrib-openai.yml for test; add autobuild option in setup.py; add autotest model name statement
* move import huggingface_hub to _create_agent
* pre-commit
* add uncover comment in the endpoint creation code block
* recover contrib-openai.yml for merge
---------
Co-authored-by: Jieyu Zhang <jieyuz2@cs.washington.edu>
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
* Remove GPT-4 as the default model.
* Updated test_compressible_agent to work around a bug that would otherwise default to gpt-4. Revist after #1073 is addressed.
* Worked around another bug in test_compressible_agent. It seems the config_list was always empty!
* Reverted changes to compressible agent.
* Noted that GPT-4 is the preferred model in the OAI_CONFIG_LIST_sample and README.
* Fixed failing tests after #1110
* Update OAI_CONFIG_LIST_sample
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Throw an explicit and proper error when someone asks to load the OAI_CONFIG_LIST, and it is missing.
* Updated to use pytest.raises. Added docstring. Updated some tests to not try to load the config_list when skipping OAI tests.
* Fixed wrong indentation in config_list_from_json, and updated test_utils to work with non-empty lists.
* Read key location from global constants.
* Added missingpath.
* Moved config_list_from_json to inside a skip check.
* Improve config_list_from_json
The `env_or_file` variabe can point to an
environment variable of file path.
* Update autogen/oai/openai_utils.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Use "with" to open config file
* Remove unused.
* Remove accidental added file
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* fix for #762 ,get_config_list/oia assetion, docs, test
* Improved docstrings
* test_utils using fake data and temp files
* "Black" formatting applied
* Fix build (KEY_LOC and OAI_CONFIG_LIST as consts in test_client)
* Ramping up openai_utils coverage
* Missing parameter doc.
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Filter out candidates with the same name but different instructions, file IDs, and function names
* polish
* improve log
* improving log
* improve log
* Improve function signature (#2)
* try to fix ci
* try to fix ci
---------
Co-authored-by: gagb <gagb@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* add function decorator to converasble agent
* polishing
* polishing
* added function decorator to the notebook with async function calls
* added support for return type hint and JSON encoding of returned value if needed
* polishing
* polishing
* refactored async case
* Python 3.8 support added
* polishing
* polishing
* missing docs added
* refacotring and changes as requested
* getLogger
* documentation added
* test fix
* test fix
* added testing of agentchat_function_call_currency_calculator.ipynb to test_notebook.py
* added support for Pydantic parameters in function decorator
* polishing
* Update website/docs/Use-Cases/agent_chat.md
Co-authored-by: Li Jiang <bnujli@gmail.com>
* Update website/docs/Use-Cases/agent_chat.md
Co-authored-by: Li Jiang <bnujli@gmail.com>
* fixes problem with logprob parameter in openai.types.chat.chat_completion.Choice added by openai version 1.5.0
* get 100% code coverage on code added
* updated docs
* default values added to JSON schema
* serialization using json.dump() add for values not string or BaseModel
* added limit to openai version because of breaking changes in 1.5.0
* added line-by-line comments in docs to explain the process
* polishing
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Li Jiang <bnujli@gmail.com>
* fix: typo
* fix: typo
* fix: typo of function name
* fix: typo of function name of test file
* Update test_token_count.py
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Add example nb for async funcs
* Add a notebook based test for async function calls
* Update nb
* Update nb
* Remove duplicate code
* Rename func for consistency
* Fix bug
* Add intro text for cmd cell 4
* Add a short comment on await
* Update agentchat_function_call_async.ipynb
Minor typo
* Add link to nb
---------
Co-authored-by: Joshua Kim <joshkyh@users.noreply.github.com>
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
* Updated with latest models and numbers
* Updated as per comments.
* Added common Azure deployment names for models.
---------
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
* Added an agent description field that can be distinct from the system_message, and be used to for orchestration (e.g., GroupChatManager, etc.)
* Added debugging.
* Moved default descriptions to constants.
* Fixed conditions under which the assistant uses the default description.
* Removed debugging.
* Updated GroupChat prompt.
* Re-added debugging.
* Removed double [[ ]].
* Another update to GroupSelection prompt.
* Changed 'people' to 'participants' since agents are not people.
* Changed 'role' to 'name'
* Removed debugging statements.
* Restored the default prompt. Created a contrib class with new prompt.
* Fixed documentation.
* Removed broken link.
* Fixed a warning message.
* Removed GroupChatModerator contrib. Will re-add in another PR
* Resolving comment.
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* bump version to 0.2.1
* remove example link
* update
---------
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
Co-authored-by: kevin666aa <yrwu000627@gmail.com>
* Change "content" type in Conversable Agent
* content and system_message support str and List
Update for all other agents
* Content_str now also takes None as input
* Group Chat now works with LMM too
* Style: newline for import in Conversable Agentt
* Add test for gourpchat + lmm
* Resolve comments
1. Undo AssistantAgent changes
2. Modify the asserts and raises in `content_str` function and update
test accordingly.
* Undo AssistantAgent
* Update comments and add assertion for LMM
* Typo fix in docstring for content_str
* Remove “None” out conversable_agent.py
* Lint message to dict in multimodal_conversable_agent.py
* Address lint issues
* linting
* Move lmm test into contrib test
* Resolve 2 comments
* Move img_utils into contrib folder
* Resolve img_utils path issues
* Enable defining new functions after agent creation
* Add notebook for function inception example
* format
* 1. fix bug 2. support remove function
* 1. fix bug 2. support remove function
* 1. add example doc 2. change test file 3. change ipynb title
* Update website/docs/Examples.md
---------
Co-authored-by: Li Jiang <bnujli@gmail.com>
Co-authored-by: “skzhang1” <“shaokunzhang529@gmail.com”>
Co-authored-by: Shaokun Zhang <shaokunzhang529@gmail.com>
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
* Update chat_with_teachable_agent.py to v2.
* Update agentchat_teachability.ipynb to v2.
* Add test of teachability accuracy.
* Update installation instructions.
* Add to contrib tests.
* pre-commit fixes
* Apply reviewer suggestions to test workflows.
* support assistant retrieval using name
* address comment
* Update autogen/agentchat/contrib/gpt_assistant_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* make code more reading friendly
* ignore test error
* format code
* Update autogen/agentchat/contrib/gpt_assistant_agent.py
typo fix
* fix test case
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
* improve CODE_BLOCK_PATTERN for more robust match
* improve and add tests
* Add support for \r\n
* Updated the regex to support indented code blocks (per the Markdown spec). Added test cases for both.
* Update formatting
---------
Co-authored-by: Adam Fourney <adamfo@microsoft.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* add agenteval-notebook for math problems and the blog post about it
* update gitignore
* updates to notebook
* adding folder for the logs
* adding math problems logs
* adding folder for alfworld logs
* added limitiation and future work to blog post
* minor edits blog post
* adding changes
* reorg
* modify the main notebook
* modification of the main notebook
* remove wrong notebook
* uploading new notebook
* update agenteval notebook
* change the sample
* Update agenteval_cq_math.ipynb
* adding final changes to notebook
* updated framework picture
* Update index.mdx
* Update index.md
* Add files via upload
* updates to notebool
* revise the blog
* revise the blog
* update the agent img
* revise the blog
* revise the blog
* Excluded model logs from the main branch, you can find them in agenteval branch
* Fixed pre-commit formatting.
* Update website/blog/2023-11-11-AgentEval/index.mdx
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* update gitignore
* update index.mdx
* update authors.yml by adding Negar and Julia
* remove md file
* remove md file
* update gitignore
* update authors file
* pre-commit checks
* pre-commit checks on authors.yml
* pre-commit checks on authors.yml
* update index.mdx
* update authors.yml by adding Negar and Julia
* updated the blog-post version 1
* updated the blog-post: TL;DR is ready
* updated the blog-post: first part of introduction is ready
* updated figures: typos on fig 1, changed terminology on the fig 2
* upadated the Framework part
* fixed redering issues
* upload zip file instead of single samples
* update prealgebra.zip
* update
* upload
* update z
* update naming
* update zip
* update the agenteval notebook
* update the notebook - removing unmercenary logs
* updated fig 1 and references to it
* updated fig 1
* incorporated PR comments
* merged agenteval branch
* final changes to the blog
* updated taxonomy
* update notebook
* minor changes to the blog
* Fixed formatting
* Update the link in agenteval_cq_math.ipynb
* update the blog and link in notebook
* Update index.mdx
* change folder name
* Changes to be committed:
modified: OAI_CONFIG_LIST_sample.txt
* add sample OAI file
* fix the url link to colab and typos
* fix the url link to colab and typos
* add authors
* update profile pic
* "update authors"
* fixing the problem in test_groupchat.py
* update the title lower case
* reverting changes in setup.py
* rerun pre-commit
---------
Co-authored-by: Negar Arabzadeh <ngr.arabzadeh@gmail.com>
Co-authored-by: Julia Kiseleva <jukisele@microsoft.com>
Co-authored-by: afourney <adamfo@microsoft.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
* Add custom text types and recursive
* Add custom text types and recursive
* Fix format
* Update qdrant, Add pdf to unstructured
* Use unstructed as the default text extractor if installed
* Add tests for unstructured
* Update tests env for unstructured
* Fix error if last message is a function call, issue #569
* Remove csv, md and tsv from UNSTRUCTURED_FORMATS
* Update docstring of docs_path
* Update test for get_files_from_dir
* Update docstring of custom_text_types
* Fix missing search_string in update_context
* Add custom_text_types to notebook example
* fix typos in autogen/agentchat/conversable_agent.py
* fix typos in autogen/code_utils.py
* fix typos in autogen/oai/completion.py
* fix typos in test/agentchat/test_assistant_agent.py
* Update test/agentchat/test_assistant_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Makes select_speaker more robust by checking for agents mentioned anywhere in the selection string. Addresses 663.
* Added test coverage for group chat mentions. Refactored mention counter to own function.
* Fixed pre-commit formatting.
* Added an 'auto' mode to last_n_messages
* Added tests for the last_n_messages = 'auto' mode
* Added test one additional test case that was overlooked.