* Added fixes and tests for basic auth format
* User can provide their own connection object. Added test for it.
* Updated instructions on how to use. Fully tested all 3 authentication methods successfully.
* Get password from gitlab secrets.
* Hide passwords.
* Update notebook/agentchat_pgvector_RetrieveChat.ipynb
Co-authored-by: Li Jiang <bnujli@gmail.com>
* Hide passwords.
* Added connection_string test. 3 tests total for auth.
* Fixed quotes on db config params. No other changes found.
* Ran notebook
* Ran pre-commits and updated setup to include psycopg[binary] for windows and mac.
* Corrected list extension.
* Separate connection establishment function. Testing pending.
* Fixed pgvectordb auth
* Update agentchat_pgvector_RetrieveChat.ipynb
Added autocommit=True in example
* Rerun notebook
---------
Co-authored-by: Li Jiang <bnujli@gmail.com>
Co-authored-by: Li Jiang <lijiang1@microsoft.com>
* improved deprecation warnings
* compressible_agent test fix
* fix retrieve chat history test
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* add warning if duplicate function is registereed
* check _function_map and llm_config
* check function_map and llm_config
* use register_function and llm_config
* cleanups
* cleanups
* warning test
* warning test
* more test coverage
* use a fake config
* formatting
* formatting
---------
Co-authored-by: Jason <jtoy@grids.local>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* added logger param for custom logger support
* added FileLogger
* bump: spell check
* bump: import error
* added more log functionalites
* bump: builtin logger for FileLogger
* type check and instance level logger
* tests added for the fileLogger
* formatting bump
* updated tests and removed time formatting
* separate module for the filelogger
* update file logger test
* added the FileLogger into the notebook
* bump json decode error
* updated requested changes
* Updated tests with AutoGen agents
* bump file
* bump: logger accessed before intializedsolved
* Updated notebook to guide with a filename
* added thread_id to the FileLogger
* bump type check in tests
* Updated thread_id for each log event
* Updated thread_id for each log event
* Updated with tempfile
* bump: str cleanup
* skipping-windows tests
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* first pass at offline agent eval integration
* Integrating AgentEval for offline scenarios
* removing old changes
* fixing notebook, updating docs
* fixing subcriteria bug
* updating class comment
* cleaning up agent constructors
* moving AgentEval agents to separate folder and adding a brief README
* fixing build breaks
* fixing formatting break
* fixing comments
* consolidating files in the agenteval folder under contrib and cleaning up imports
* fixing import ordering
* adding basic agenteval tests and fixing criteria parsing bug
* first try at adding openai agenteval tests to build process
* adding non-openai agenteval tests to build process
* updating test settings
* updating openai test
* Update test/agentchat/contrib/agent_eval/test_agent_eval.py
Co-authored-by: Wael Karkoub <wael.karkoub96@gmail.com>
* Update .github/workflows/contrib-openai.yml
Co-authored-by: Wael Karkoub <wael.karkoub96@gmail.com>
* test commit
* updating typing and converting to pydantic objects
* fixing test file
---------
Co-authored-by: Beibin Li <BeibinLi@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Wael Karkoub <wael.karkoub96@gmail.com>
* Added 'role' as a summary_args and to the reflection_with_llm flow to be able to pass the role for the summarizing prompt
* Added 'role' as a summary_args and to the reflection_with_llm flow to be able to pass the role for the summarizing prompt, minor docstring adjustments
* Added test for summary prompt role assignment
* Fixed docstrings and mocked llm-config in the test
* Update autogen/agentchat/conversable_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* ran pre-commit
* ran pre-commit2
* fixed old arg name
* Delete dasdaasd
No idea what this file was about
* Fixed incorrect merge update on test_groupchat
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Add ability to use virtual environments in local executor
* Copy environment variables from parent environment
* Fix mypy errors and formatting
* Account for venv on Windows
* Use a virtual environment context object instead of path
* Add utility method to create a virtual environment
* Remove assertion using `_venv_path`
* Add tests for `create_virtual_env`
* Modify test code and add output assertion
* Modify test code and assertion
* Execute activation script before actual command on windows
* Add docs for using a virtual env
* Initial resume
* Cleaned up resume function
* Further updating resuming group chat
* Added async resume_chat and documentation
* Added test cases, refined group chat function parameters
* compiled documentation
* Added tests to main
* Removed mdx file.
* Revert "Merge remote-tracking branch 'origin/main' into groupchatresume"
This reverts commit 8f709308f0, reversing
changes made to 8bfcb2bff1.
* Refactored resume to remove initiate_chat
* fix git history
* fix history
* Added clean-up of objects, _groupchat references, and messages_to_string updated
* Added termination-based resumption in notebook, added test cases and improved robustness on resuming messages parameter
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Fix for http client
* fixed constructor to only ignore the http_client while copying
* fixed comment formating
* removed check for http_client and added error message with docs
* fix formatting
* fix formatting
* added test for http-fix
* changed title and content of docs
* changed test func name
* Added requery_on_multiple_speaker_names to GroupChat and updated _finalize_speaker to requery on multiple speaker names (if enabled)
* Removed unnecessary comments
* Update to current main
* Tweak error message.
* Comment clarity
* Expanded description of Group Chat requery_on_multiple_speaker_names
* Reworked to two-way nested chat for speaker selection with default of 2 retries.
* Adding validation of new GroupChat attributes
* Updates as per @ekzhu's suggestions
* Update groupchat
- Added select_speaker_auto_multiple_template and select_speaker_auto_none_template
- Added max_attempts comment
- Re-instated support for role_for_select_speaker_messages
-
* Update conversable_agent.py
Added ability to force override role for a message to support select speaker prompt.
* Update test_groupchat.py
Updated existing select_speaker test functions as underlying approach has changed, added necessary tests for new functionality.
* Removed block for manual selection in select_speaker function.
* Catered for no-selection during manual selection mode
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Add minimum token threshold in MessageHistoryLimiter
* Update transforms tests for the threshold
* Move min_threshold_tokens from Message to Token Limiter
* Optimize _check_tokens_threshold
Co-authored-by: Wael Karkoub <wael.karkoub96@gmail.com>
* Apply requested changes (renaming, phrasing, validations)
* Fix format
* Fix _check_tokens_threshold logic
* Update docs and notebook
* Improve phrasing
* Add min_tokens example in notebook
* Add min_tokens example in website docs
* Add min_tokens example in notebook
* Update website docs to be in sync with get_logs change
---------
Co-authored-by: Wael Karkoub <wael.karkoub96@gmail.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* 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>