* implements features
* fix docstring
* adds test
* resolve some comments
* remove unused group chat manager from test
* list implementation
* better naming
* resolve comments
* adds one more test
* checks case when agent doesnt exist
* clean up
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* support azure assistant api
* try to add azure testing
* improve testing
* fix testing
* fix code
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Validate llm_config passed to ConversableAgent
Based on #1522, this commit implements the additional validation checks in
`ConversableAgent.`
Add the following validation and `raise ValueError` if:
- The `llm_config` is `None`.
- The `llm_config` is valid, but `config_list` is missing or lacks elements.
- The `config_list` is valid, but no `model` is specified.
The rest of the changes are code churn to adjust or add the test cases.
* Validate llm_config passed to ConversableAgent
Based on #1522, this commit implements the additional validation checks in
`ConversableAgent.`
Add the following validation and `raise ValueError` if:
- The `llm_config` is `None` (validated in `ConversableAgent`).
- The `llm_config` has no `model` specified and `config_list` is empty
(validated in `OpenAIWrapper`).
- The `config_list` has at least one entry, but not all the entries have
the `model` is specified (validated in `OpenAIWrapper`).
The rest of the changes are code churn to adjust or add the test cases.
* Validate llm_config passed to ConversableAgent
Based on #1522, this commit implements the additional validation checks in
`ConversableAgent.`
Add the following validation and `raise ValueError` if:
- The `llm_config` is `None` (validated in `ConversableAgent`).
- The `llm_config` has no `model` specified and `config_list` is empty
(validated in `OpenAIWrapper`).
- The `config_list` has at least one entry, but not all the entries have
the `model` is specified (validated in `OpenAIWrapper`).
The rest of the changes are code churn to adjust or add the test cases.
* Validate llm_config passed to ConversableAgent
Based on #1522, this commit implements the additional validation checks in
`ConversableAgent.`
Add the following validation and `raise ValueError` if:
- The `llm_config` is `None` (validated in `ConversableAgent`).
- The `llm_config` has no `model` specified and `config_list` is empty
(validated in `OpenAIWrapper`).
- The `config_list` has at least one entry, but not all the entries have
the `model` is specified (validated in `OpenAIWrapper`).
The rest of the changes are code churn to adjust or add the test cases.
* Validate llm_config passed to ConversableAgent
Based on #1522, this commit implements the additional validation checks in
`ConversableAgent.`
Add the following validation and `raise ValueError` if:
- The `llm_config` is `None` (validated in `ConversableAgent`).
- The `llm_config` has no `model` specified and `config_list` is empty
(validated in `OpenAIWrapper`).
- The `config_list` has at least one entry, but not all the entries have
the `model` is specified (validated in `OpenAIWrapper`).
The rest of the changes are code churn to adjust or add the test cases.
* Fix the test_web_surfer issue
For anyone reading this: you need to `pip install markdownify` for the
`import WebSurferAgent` to succeed. That is needed to run the
`test_web_surfer.py` locally.
Test logic needs `llm_config` that is not `None` and that is not
`False`.
Let us pray that this works as part of GitHub actions ...
* One more fix for llm_config validation contract
* WIP:logging
* serialize request, response and client
* Fixed code formatting.
* Updated to use a global package, and added some test cases. Still very-much a draft.
* Update work in progress.
* adding cost
* log new agent
* update log_completion test in test_agent_telemetry
* tests
* fix formatting
* Added additional telemetry for wrappers and clients.
* WIP: add test for oai client and oai wrapper table
* update test_telemetry
* fix format
* More tests, update doc and clean up
* small fix for session id - moved to start_logging and return from start_logging
* update start_logging type to return str, add notebook to demonstrate use of telemetry
* add ability to get log dataframe
* precommit formatting fixes
* formatting fix
* Remove pandas dependency from telemetry and only use in notebook
* formatting fixes
* log query exceptions
* fix formatting
* fix ci
* fix comment - add notebook link in doc and fix groupchat serialization
* small fix
* do not serialize Agent
* formatting
* wip
* fix test
* serialization bug fix for soc moderator
* fix test and clean up
* wip: add version table
* fix test
* fix test
* fix test
* make the logging interface more general and fix client model logging
* fix format
* fix formatting and tests
* fix
* fix comment
* Renaming telemetry to logging
* update notebook
* update doc
* formatting
* formatting and clean up
* fix doc
* fix link and title
* fix notebook format and fix comment
* format
* try fixing agent test and update migration guide
* fix link
* debug print
* debug
* format
* add back tests
* fix tests
---------
Co-authored-by: Adam Fourney <adamfo@microsoft.com>
Co-authored-by: Victor Dibia <victordibia@microsoft.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Validate the OpenAI API key format
Increase the amount of internal validation for OpenAI API keys. The intent is
to shorten the debugging loop in case of typos. The changes do *not* add
validation for Azure OpenAI API keys.
* Add the validation in `__init__` of `OpenAIClient`.
* Introduce the `MOCK_OPEN_AI_API_KEY` constant for testing.
* Add unit test coverage for the `is_valid_api_key` function.
* Validate the OpenAI API key format
Increase the amount of internal validation for OpenAI API keys. The intent is
to shorten the debugging loop in case of typos. The changes do *not* add
validation for Azure OpenAI API keys.
* Add the validation in `__init__` of `OpenAIClient`.
* Introduce the `MOCK_OPEN_AI_API_KEY` constant for testing.
*Add unit test coverage for the `is_valid_api_key` function.
* Log a warning when register a default client fails.
* Validate the OpenAI API key format
Increase the amount of internal validation for OpenAI API keys. The intent is
to shorten the debugging loop in case of typos. The changes do *not* add
validation for Azure OpenAI API keys.
* Add the validation in `__init__` of `OpenAIClient`. We'll log a
warning when the OpenAI API key isn't valid.
* Introduce the `MOCK_OPEN_AI_API_KEY` constant for testing.
* Add unit test coverage for the `is_valid_api_key` function.
* Check for OpenAI base_url before API key validation
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* 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 more descriptive error message in the presence of OpenAI API timeouts
* handle specific exception
* Update autogen/oai/client.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.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>
Location of dockerfiles was changed from samples to but not updated in these website docs for docker
- I changed the link so it points to the actual location of the docker files