* Logging (#1146)
* 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 llm_config passed to ConversableAgent (issue #1522) (#1654)
* 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
* update test_utils
* remove stale files
---------
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>
Co-authored-by: Gunnar Kudrjavets <gunnarku@users.noreply.github.com>