* Re-added missing notebook
* Test installing postgres
* Error handle the connection.
* Fixed import.
* Fixed import.
* Fixed creation of collection without client.
* PGVector portion working. OpenAI untested.
* Fixed prints.
* Added output.
* Fixed pre-commits.
* Run pgvector notebook
* Improve efficiency of get_collection
* Fix delete_collection
* Fixed issues with pytests and validated functions.
* Validated pytests.
* Fixed pre-commits
* Separated extra_requires to allow more logic. Retrieve_chat base dependencies included on pgvector and qdrant.
* Fixed extra newline.
* Added username and password fields.
* URL Encode the connection string parameters to support symbols like %
* Fixed pre-commits.
* Added pgvector service
* pgvector doesn't have health intervals.
* Switched to colon based key values.
* Run on Ubuntu only. Linux is only option with container service support.
* Using default credentials instead.
* Fix postgres setup
* Fix postgres setup
* Don't skip tests on win and mac
* Fix command error
* Try apt install postgresql
* Assert table does not exist when deleted.
* Raise value error on a empty list or None value provided for IDs
* pre-commit
* Add install pgvector
* Add install pgvector
* Reorg test files, create a separate job for test pgvector
* Fix format
* Fix env format
* Simplify job name, enable test_retrieve_config
* Fix test_retrieve_config
* Corrected behavior for get_docs_by_ids with no ids returning all docs.
* Corrected behavior for get_docs_by_ids with no ids returning all docs.
* Fixed pre-commits.
* Added return values for all functions.
* Validated distance search is implemented correctly.
* Validated all pytests
* Removed print.
* Added default clause.
* Make ids optional
* Fix test, make it more robust
* Bump version of openai for the vector_store support
* Added support for choosing the sentence transformer model.
* Added error handling for model name entered.
* Updated model info.
* Added model_name db_config param.
* pre-commit fixes and last link fix.
* Use secrets password.
* fix: link fixed
* updated tests
* Updated config_list.
* pre-commit fix.
* Added chat_result to all output.
Unable to re-run notebooks.
* Pre-commit fix detected this requirement.
* Fix python 3.8 and 3.9 not supported for macos
* Fix python 3.8 and 3.9 not supported for macos
* Fix format
* Reran notebook with MetaLlama3Instruct7BQ4_k_M
* added gpt model.
* Reran notebook
---------
Co-authored-by: Li Jiang <bnujli@gmail.com>
Co-authored-by: Hk669 <hrushi669@gmail.com>
* Add support for HTML, CSS and Javascript in LocalCommandLineCodeExecutor
* init branch
* init branch
* feat: test code execution added
* fix: test update
* fix: test
* fix: policy test
* feat: default policy
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* adapted to openai assistant v2 api
* fix comments
* format code
* fix ci
* Update autogen/agentchat/contrib/gpt_assistant_agent.py
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* PGVector Contrib Initial Commit - KnucklesTeam:autogen:pgvector_contrib fork
* Update website/docs/ecosystem/pgvector.md
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Updated qdrant installation instructions.
* Fixed openai version.
* Added dependencies to install for qdrant and pgvector in contrib tests.
* Added dependencies to install for qdrant and pgvector in contrib tests.
* Cleaned up dependencies.
* Removed flaml out of setup.py. Used only for notebook example.
* Added PGVector notebook link
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* speed up notebook in CI
* improve notebook
* comment about filter
* bug fix for summary
* bump version to 0.2.26
* restrict openai version
* news update
* add tags in example
* Start Gemini integration: works ok with Text now
* Gemini notebook lint
* try catch "import" for Gemini
* Debug: id issue for chat completion in Gemini
* Add RAG example
* Update docs for RAG
* Fix missing pydash
* Remove temp folder
* Fix test error in runs/7206014032/job/19630042864
* Fix tqdm warning
* Fix notebook output
* Gemini's vision model is supported now
* Install instructions for the Gemini branch
* Catch and retry when see Interval Server Error 500
* Allow gemini to take more flexible messages
i.e., it can take messages where "user" is not the last role.
* Use int time for Gemini client
* Handle other exceptions in gemini call
* rename to "create" function for gemini
* GeminiClient compatible with ModelClient now
* Lint
* Update instructions in Gemini notebook
* Lint
* Remove empty blocks from Gemini notebook
* Add gemini into example page
* self.create instead of call
* Add py and Py into python execution
* Remove error code from merging
* Remove pydash dependency for gemini
* Add cloud-gemini doc
* Remove temp file
* cache import update
* Add test case for summary with mm input
* Lint: warnings instead of print
* Add test cases for gemini
* Gemini test config
* Disable default model for gemini
* Typo fix in gemini workflow
* Correct grammar in example notebook
* Raise if "model" is not provided in create(...)
* Move TODOs into a roadmap
* Update .github/workflows/contrib-tests.yml
Co-authored-by: Davor Runje <davor@airt.ai>
* Gemini test config update
* Update setup.py
Co-authored-by: Davor Runje <davor@airt.ai>
* Update test/oai/test_gemini.py
Co-authored-by: Davor Runje <davor@airt.ai>
* Update test/oai/test_gemini.py
Co-authored-by: Davor Runje <davor@airt.ai>
* Remove python 3.8 from gemini
No google's generativeai for Windows with Python 3.8
* Update import error handling for gemini
* Count tokens and cost for gemini
---------
Co-authored-by: Li Jiang <bnujli@gmail.com>
Co-authored-by: Davor Runje <davor@airt.ai>
* gather_usage_summary has been updated
* updated cost info to 'usage_including_cached_inference' and 'usage_excluding_cached_inference'
* fix: pre-commit formatting for cost_info
* improved cost explanation and doc
* improved cost info doc
* include - exclude
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Standardize printing of MessageTransforms
* Fix pre-commit black failure
* Add test for transform_messages printing
* Return str instead of printing
* Rename to_print_stats to verbose
* Cleanup
* t i# This is a combination of 3 commits.
Update requirements
* Remove lazy-fixture
* Avoid calling apply_transform in two code paths
* Format
* Replace stats with logs
* Handle no content messages in TokenLimiter get_logs()
* Move tests from test_transform_messages to test_transforms
---------
Co-authored-by: Wael Karkoub <wael.karkoub96@gmail.com>
* Add "py" as lang in conversable agent (#1062)
* Add conditions to allow for python executable variants (#1062)
* reverted import (#1062)
* Parameterized tests, moved Python variants to a constant (#1062)
* Moved Python variants to a constant (#1062)
* Update autogen/code_utils.py (#1062)
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Update autogen/coding/local_commandline_code_executor.py (#1062)
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Added PYTHON_VARIANTS as imported constant (#1062)
* ran pre-commit-check (#1062)
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* support llm_config in agentoptimizer
* fix doc
* restore seed timeout
---------
Co-authored-by: “skzhang1” <“shaokunzhang529@gmail.com”>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Added vectordb base and chromadb
* Remove timer and unused functions
* Added filter by distance
* Added test utils
* Fix format
* Fix type hint of dict
* Rename test
* Add test chromadb
* Fix test no chromadb
* Add coverage
* Don't skip test vectordb utils
* Add types
* Fix tests
* Fix docs build error
* Add types to base
* Update base
* Update utils
* Update chromadb
* Add get_docs_by_ids
* Improve docstring
* Add get all docs
* Move chroma_results_to_query_results to utils
* Improve type hints
* Update logger
* Update init, add embedding func
* Improve docstring of vectordb, add two attributes
* Improve test workflow
* Add isort
* Apply isort on py files
* Fix circular import
* Fix format for notebooks
* Fix format
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Re-commit of code from PR (#2167) addressing #1861, due to wrong basing
* Update website/docs/topics/non-openai-models/best-tips-for-nonopenai-models.md
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Removed unnecessary notebook images
* Update conversation-patterns.ipynb
Updated to include note about being applicable when auto.
* Updated to include checks that the role is not blank/None. Added tests.
* Changed try-except to use pytest
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* fixed get_stream in new thread by introducing a global default
* fixed get_stream in new thread by introducing a global default
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Implement user defined functions feature for local cli exec, add docs
* add tests, update docs
* fixes
* fix test
* add pandas test dep
* install test
* provide template as func
* formatting
* undo change
* address comments
* add test deps
* formatting
* test only in 1 env
* formatting
* remove test for local only
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Introducing IOStream
* bug fixing
* polishing
* refactoring
* refactoring
* refactoring
* wip: async tests
* websockets added
* wip
* merge with main
* notebook added
* FastAPI example added
* wip
* merge
* getter/setter to iostream added
* website/blog/2024-03-03-AutoGen-Update/img/dalle_gpt4v.png: convert to Git LFS
* website/blog/2024-03-03-AutoGen-Update/img/gaia.png: convert to Git LFS
* website/blog/2024-03-03-AutoGen-Update/img/teach.png: convert to Git LFS
* add SSL support
* wip
* wip
* exception handling added to on_connect()
* refactoring: default iostream is being set in a context manager
* test fix
* polishing
* polishing
* polishing
* fixed bug with new thread
* polishing
* a bit of refactoring and docs added
* notebook added to docs
* type checking added to CI
* CI fix
* CI fix
* CI fix
* polishing
* obsolete todo comment removed
* fixed precommit error
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* tried implementing my own regex
* improves tests
* finally works
* removes prints
* fixed test
* adds start and end
* delete unused imports
* refactored to use new tool
* significantly improved algo
* tag content -> tag attr
* fix tests + adds new field
* return full match
* return remove start and end
* update docstrings
* update docstrings
* update docstrings
---------
Co-authored-by: Beibin Li <BeibinLi@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* context to kwargs
* add tag
* add test
* text to kwargs
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Add vision capability
* Configurate: description_prompt
* Print warning instead of raising issues for type
* Skip vision capability test if dependencies not installed
* Append "vision" to agent's system message when enabled VisionCapability
* GPT-4V notebook update with ConversableAgent
* Clean GPT-4V notebook
* Add vision capability test to workflow
* Lint import
* Update system message for vision capability
* Add a `custom_caption_func` to VisionCapability
* Add custom function example for vision capability
* Skip test Vision capability custom func
* GPT-4V notebook metadata to website
* Remove redundant files
* The custom caption function takes more inputs now
* Add a more complex example of custom caption func
* Remove trailing space
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* add assistant config
* add test
* change notebook to use assistant config
* use assistant config in testing
* code refinement
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* fix type and default value of the code_execution_config of UserProxAgent
* fix type and default value of the code_execution_config of UserProxAgent
* set default value of llm_config in UserProxyAgent to None
* fixed tests
* revert llm_config to False
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* consistent file saving across cli executors
* test fixes
* feedback
* make path
* formatting
* run timeout test on windows
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Remove system message functionality from code executors
* remove from protocol
* fix tests, pre-commit
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* improve validation of llm_config
* fixed test_register_for_llm_without_LLM
* docstr about llm_config=None
* Make None a sentinel
* pop tools
---------
Co-authored-by: Davor Runje <davor@airt.ai>
* init PR
* update
* update code check
* update
* update
* update
* update
* Test the ability to have agents a,u,t,o,g,e,n speak in turn.
* update
* update
* update
* Evidence that groupchat not terminating because of the TERMINATE substring.
* Raising NoEligibleSpeakerException allows graceful exit before max turns
* update
* To confirm with author that custom function is meant to override graph constraints
* Confirmed the expected test behaviour with author
* Update autogen/agentchat/groupchat.py
* update
* update
---------
Co-authored-by: Joshua Kim <Joshua@spectdata.com>
Co-authored-by: Qingyun Wu <qingyun0327@gmail.com>
* Change name from LocalCommandlineCodeExecutor to LocalCommandLineCodeExecutor
* formatting
* name
* name
* CommandLineCodeResult rename too
* formatting
* add doc about effects for capabilities
* remove unnecessary imports
* improve doc
* test
* test location
* polish
* improve import of colored
* termcolor
* termcolor
* use pull request for openai test
* resolved errors happening when using function calling and clear history
* checking in nr_of_messages_to_preserve were provided
* code formatting
* test added, dict signature improved
* test added, dict signature improved
* test added, dict signature improved
* test added, dict signature improved
* test added, dict signature improved
* test added, dict signature improved
* test added, dict signature improved
* test added, dict signature improved
* Test updated
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* test improved
* test improved
* comment about preserving additional message added
* commentary about clear history called in tool response improved
* created test for clear hisotry called from tool response
* code formatting
* added 'USER INTERRUPTED' as internal content of tool response
* added separate vatiable 'nr_messages_to_preserve_internal'
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Change defualt model for `lmm`
* Try to use PIL image for LMM's _oai_messages
* Update test cases and llava
* Remove redundant files
* Update the imports for lmm tests
* Test case fix
* Docstring update
* LMM notebook lint
* Typo correction for img_utils and its test
* Fix self.client bug for Dalle Agent
The self.client member variable is reserved for OpenAI's LLM-compatible
client, which requires usage summary support.
So, we rename self.client to self._dalle_client to resolve this issue
* Initialization of fsm blog
* Pre-commit pass
* Pinyin name correction
* Updated title
* Updated title
* Added summary of notebook and note about DAG
* Update index.mdx
* Update website/blog/2024-02-11-FSM-GroupChat/index.mdx
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update website/blog/2024-02-11-FSM-GroupChat/index.mdx
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Removed outdated filename and followed SoM notebook format
* Pre-commit pass
* Update notebook link
* Corrected link to rendered notebook
* Removed agentchat_hierarchy_flow_using_select_speaker and modified agentchat_groupchat_finite_state_machine
* Add notebook/agentchat_groupchat_finite_state_machine.ipynb to paths
---------
Co-authored-by: freedeaths <register917@gmail.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Allow the GroupChatManager to send introductions.
* Fixed function name.
* Added test cases for sending introductions.
* Trying to sort out why remote pytest is failing.
* Fixed broken plugin behavior.
* Update autogen/agentchat/groupchat.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Updated as per Chi's suggestions.
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* support getting model from both llm config and config list
* address comments
* address commentsd
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* checkpoint async based
* Implement jupyter client and use jupyer gateway
* update deps
* address comments
* add missing parenthesis
* Update build.yml
* CI fixes
* change requirement name
* debug
* print stderr
* dont seek
* show token
* mitigaton for windows bug
* use hex token to avoid - in token
* formatting
* put back in place original while the windows bug exists
* lint
* Update autogen/coding/jupyter_code_executor.py
* Update jupyter_code_executor.py
* Update test_embedded_ipython_code_executor.py
* Update setup.py
* Update build.yml
* fix nameerror
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Update code_utils.py
Updated the powershell command to pwsh
* Update code_utils.py
added a split to handle powershell in the first condition as well
* Update local_commandline_code_executor.py
added "pwsh" as a command option in lang variable
* Update autogen/coding/local_commandline_code_executor.py
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Update code_utils.py
* Update code_utils.py
fixed formatting
* Update code_utils.py
defined a function to detect whether 'powershell' or 'pwsh' works and accordingly use the one that works
* Update code_utils.py
fixed formatting
* Update and rename test_code.py to test_code_utils.py
added a unit test for get_powershell_command function in code_utils.py
* Update test_code_utils.py
fixed formatting
* Update test_code_utils.py
fixed formatting
* Update autogen/code_utils.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* solved issue #1747
* updated unit test
* fixed formatting
* fixed formatting
* fixed formatting
* fixed a bug
* removed extra return None and removed redundant comments
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.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
* remove TERMINATE assertion for sys msg
* remove TERMINATE assertion
---------
Co-authored-by: Jieyu Zhang <jieyuz2@cs.washington.edu>
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
* Allow None for sender field
* Apply formatting fixes
* Add test for ConversableAgent generate_reply with message is provided and sender is None
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* refactored code to simplify
* optimize function. Instead of iterating over each character, guess at size and then iterate by token.
* adding tests
* Add missing tests
* minor test fix
* simplified token truncation by using tiktoken to encode and decode
* updated truncated notification message
* Fix llm_config spec to use os.environ
* Add test case and fix bug in loop
---------
Co-authored-by: gagb <gagb@users.noreply.github.com>
* Update code_utils.py
Updated the powershell command to pwsh
* Update code_utils.py
added a split to handle powershell in the first condition as well
* Update local_commandline_code_executor.py
added "pwsh" as a command option in lang variable
* Update autogen/coding/local_commandline_code_executor.py
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Update code_utils.py
* Update code_utils.py
fixed formatting
* Update code_utils.py
defined a function to detect whether 'powershell' or 'pwsh' works and accordingly use the one that works
* Update code_utils.py
fixed formatting
* Update and rename test_code.py to test_code_utils.py
added a unit test for get_powershell_command function in code_utils.py
* Update test_code_utils.py
fixed formatting
* Update test_code_utils.py
fixed formatting
* Update autogen/code_utils.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* UPDATE - add commandline sanitation class, update local_commandline_code_executor.py and renamed test for code_utils.py
* FIX - precommit run
* UPDATE - moved sanitation function to LocalCommandlineCodeExecutor, moved testo to test_commandline_code_executor.py
* UPDATE - added docstring notice to sanitize_code
* Update autogen/coding/local_commandline_code_executor.py
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* FIX - regular expression
* FIX - function invocation in tests
* UPDATE - pre-commit run
* FIX - pre-commit run -_-
---------
Co-authored-by: Ward <award40@LAMU0CLP74YXVX6.uhc.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Change defualt model for `lmm`
* Try to use PIL image for LMM's _oai_messages
* Update test cases and llava
* Remove redundant files
* Update the imports for lmm tests
* Test case fix
* Docstring update
* LMM notebook lint
* Typo correction for img_utils and its test
* Update test_llava.py
debug, reformat
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Shaokun Zhang <shaokunzhang529@gmail.com>
Co-authored-by: Shaokun Zhang <shaokun.zhang@psu.edu>
* 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