* Initial commit.
* Disable LLM response caching.
* Add teachability option to setup.py
* Modify test to use OAI_CONFIG_LIST as suggested in the docs.
* Expand unit test.
* Complete unit test.
* Add filter_dict
* details
* AnalysisAgent
* details
* More documentation and debug output.
* Support retrieval of any number of relevant memos, including zero.
* More robust analysis separator.
* cleanup
* teach_config
* refactoring
* For robustness, allow more flexibility on memo storage and retrieval.
* de-dupe the retrieved memos.
* Simplify AnalysisAgent. The unit tests now pass with gpt-3.5
* comments
* Add a verbosity level to control analyzer messages.
* refactoring
* comments
* Persist memory on disk.
* cleanup
* Use markdown to format retrieved memos.
* Use markdown in TextAnalyzerAgent
* Add another verbosity level.
* clean up logging
* notebook
* minor edits
* cleanup
* linter fixes
* Skip tests that fail to import openai
* Address reviewer feedback.
* lint
* refactoring
* Improve wording
* Improve code coverage.
* lint
* Use llm_config to control caching.
* lowercase notebook name
* Sort out the parameters passed through to ConversableAgent, and supply full docstrings for the others.
* lint
* Allow TextAnalyzerAgent to be given a different llm_config than TeachableAgent.
* documentation
* Modifications to run openai workflow.
* Test on just python 3.10.
Replace agent with agent teachable_agent as recommended.
* Test on python 3.9 instead of 3.10.
* Remove space from name -> teachableagent
---------
Co-authored-by: Li Jiang <bnujli@gmail.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Add custom embedding function
* Add support to custom vector db
* Improve docstring
* Improve docstring
* Improve docstring
* Add support to customized is_termination_msg fucntion
* Add a test for customize vector db with lancedb
* Fix tests
* Add test for embedding_function
* Update docstring
* FORMATTING
* UPDATE - OAI __init__.py
* ruff
* ADD - notebook covering oai API configuration options and their different purposes
* ADD openai util updates so that the function just assumes the same environment variable name for all models, also added functionality for adding API configurations like api_base etc.
* ADD - updates to config_list_from_dotenv and tests for openai_util testing, update example notebook
* UPDATE - added working config_list_from_dotenv() with passing tests, and updated notebook
* UPDATE - code and tests to potentially get around the window build permission error, used different method of producing temporary files
---------
Co-authored-by: Ward <award40@LAMU0CLP74YXVX6.uhc.com>
* Replace `assert`s in the `conversable_agent` module with `if-log-raise`.
* Use a `logger` object in the `code_utils` module.
* Replace use of `assert` with `if-log-raise` in the `code_utils` module.
* Replace use of `assert` in the `math_utils` module with `if-not-raise`.
* Replace `assert` with `if` in the `oai.completion` module.
* Replace `assert` in the `retrieve_utils` module with an if statement.
* Add missing `not`.
* Blacken `completion.py`.
* Test `generate_reply` and `a_generate_reply` raise an assertion error
when there are neither `messages` nor a `sender`.
* Test `execute_code` raises an `AssertionError` when neither code nor
filename is provided.
* Test `split_text_to_chunks` raises when passed an invalid chunk mode.
* * Add `tiktoken` and `chromadb` to test dependencies as they're used in
the `test_retrieve_utils` module.
* Sort the test requirements alphabetically.
* minor fix for stablility
* fix format
* fix format
* update run_code logic
* format
* Update conversable_agent.py
* fix format
* Update conversable_agent.py
* add tests
* fix format
* revert changes
* UPDATE - Updated retrieve_utils.py to have the ability to parse text from pdf files
* UNDO - change to recursive condition
* UPDATE - updated agentchat_RetrieveChat.ipynb to clarify which file types are accepted to be in the docs path
* ADD - missing import
* UPDATE - setup.py to have PyPDF2 in retrievechat
* RE-ADD - urls
* ADD - tests for retrieve utils, and removed deprecated PyPdf2
* Update agentchat_RetrieveChat.ipynb
* Update retrieve_utils.py
Fix format
* Update retrieve_utils.py
Replace print with logger
* UPDATE - added more specific exception to PDF decryption try/catch
* FIX - typo, return statement at wrong indentation in extract_text_from_pdf
---------
Co-authored-by: Ward <award40@LAMU0CLP74YXVX6.uhc.com>
Co-authored-by: Li Jiang <bnujli@gmail.com>
* fix bug for windows
* fix bug for windows
* more clear example
* link to example
* add test
* format
* comment
* fix assertion error
* fix test error and links
---------
Co-authored-by: Chi Wang (MSR) <chiw@microsoft.com>
* Extact_code can detect single-line code now
* Add comments for RE
* Add test case and adjust UNKNOWN behavior
* Remove tmp test files
* Update autogen/code_utils.py
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* fix generate_reply
* code format
* add test case
* update
* update
* Update test/autogen/agentchat/test_responsive_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update test/autogen/agentchat/test_responsive_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update flaml/autogen/agentchat/responsive_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* max consecutive auto reply
* chess notebook
* link to notebook
* clear history
* filter
* **context -> context
* format str template
* groupchat
* register class specific reply
* groupchat notebook
* move human reply into generate_reply
* arg in config
* colab link
* remove room
* rename
* update colab link
* typo
* upload file instruction
* update system message and notebooks
* update notebooks
* notebook test
* aoai api version and exclusion
* gpt-3.5-turbo
* dict check
* change model for test
* endpoints, cache_path and func description update
* model list
* gitter -> discord
* add funccall example and doc
* revise to comments
* Update website/docs/Use-Cases/Auto-Generation.md
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* revise
* update
* minor update
* add test notebook
* update
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* add doc for spark
* labelCol equals to label by default
* change title and reformat
* reference about default index type
* fix doc build
* Update website/docs/Examples/Integrate - Spark.md
* update doc
* Added more references
* remove exception case when `y_train.name` is None
* fix broken link
---------
Co-authored-by: Wendong Li <v-wendongli@microsoft.com>
Co-authored-by: Li Jiang <bnujli@gmail.com>
* update funccall
* code format
* update to comments
* update notebook
* remove test for py3.7
* allow funccall to class functions
* add test and clean up notebook
* revise notebook and test
* update
* update mathagent
* Update flaml/autogen/agent/agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update flaml/autogen/agent/user_proxy_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* revise to comments
* revise function call design, notebook and test. add doc
* code format
* ad message_to_dict function
* update mathproxyagent
* revise docstr
* update
* Update flaml/autogen/agent/math_user_proxy_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Update flaml/autogen/agent/math_user_proxy_agent.py
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
* Update flaml/autogen/agent/user_proxy_agent.py
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
* simply funccall in userproxyagent, rewind auto-gen.md, revise to comments
* code format
* update
* remove notebook for another pr
* revise oai_conversation part in agent, revise function exec in user_proxy_agent
* update test_funccall
* update
* update
* fix pydantic version
* Update test/autogen/test_agent.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* fix bug
* fix bug
* update
* update is_termination_msg to accept dict
---------
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
Co-authored-by: Li Jiang <bnujli@gmail.com>
* Refactor into automl subpackage
Moved some of the packages into an automl subpackage to tidy before the
task-based refactor. This is in response to discussions with the group
and a comment on the first task-based PR.
Only changes here are moving subpackages and modules into the new
automl, fixing imports to work with this structure and fixing some
dependencies in setup.py.
* Fix doc building post automl subpackage refactor
* Fix broken links in website post automl subpackage refactor
* Fix broken links in website post automl subpackage refactor
* Remove vw from test deps as this is breaking the build
* Move default back to the top-level
I'd moved this to automl as that's where it's used internally, but had
missed that this is actually part of the public interface so makes sense
to live where it was.
* Re-add top level modules with deprecation warnings
flaml.data, flaml.ml and flaml.model are re-added to the top level,
being re-exported from flaml.automl for backwards compatability. Adding
a deprecation warning so that we can have a planned removal later.
* Fix model.py line-endings
* WIP
* WIP - Notes below
Got to the point where the methods from AutoML are pulled to
GenericTask. Started removing private markers and removing the passing
of automl to these methods. Done with decide_split_type, started on
prepare_data. Need to do the others after
* Re-add generic_task
* Most of the merge done, test_forecast_automl fit succeeds, fails at predict()
* Remaining fixes - test_forecast.py passes
* Comment out holidays-related code as it's not currently used
* Further holidays cleanup
* Fix imports in a test
* tidy up validate_data in time series task
* Test fixes
* Fix tests: add Task.__str__
* Fix tests: test for ray.ObjectRef
* Hotwire TS_Sklearn wrapper to fix test fail
* Attempt at test fix
* Fix test where val_pred_y is a list
* Attempt to fix remaining tests
* Push to retrigger tests
* Push to retrigger tests
* Push to retrigger tests
* Push to retrigger tests
* Remove plots from automl/test_forecast
* Remove unused data size field from Task
* Fix import for CLASSIFICATION in notebook
* Monkey patch TFT to avoid plotting, to fix tests on MacOS
* Monkey patch TFT to avoid plotting v2, to fix tests on MacOS
* Monkey patch TFT to avoid plotting v2, to fix tests on MacOS
* Fix circular import
* remove redundant code in task.py post-merge
* Fix test: set svd_solver="full" in PCA
* Update flaml/automl/data.py
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* Fix review comments
* Fix task -> str in custom learner constructor
* Remove unused CLASSIFICATION imports
* Hotwire TS_Sklearn wrapper to fix test fail by setting
optimizer_for_horizon == False
* Revert changes to the automl_classification and pin FLAML version
* Fix imports in reverted notebook
* Fix FLAML version in automl notebooks
* Fix ml.py line endings
* Fix CLASSIFICATION task import in automl_classification notebook
* Uncomment pip install in notebook and revert import
Not convinced this will work because of installing an older version of
the package into the environment in which we're running the tests, but
let's see.
* Revert c6a5dd1a0
* Fix get_classification_objective import in suggest.py
* Remove hcrystallball docs reference in TS_Sklearn
* Merge markharley:extract-task-class-from-automl into this
* Fix import, remove smooth.py
* Fix dependencies to fix TFT fail on Windows Python 3.8 and 3.9
* Add tensorboardX dependency to fix TFT fail on Windows Python 3.8 and 3.9
* Set pytorch-lightning==1.9.0 to fix TFT fail on Windows Python 3.8 and 3.9
* Set pytorch-lightning==1.9.0 to fix TFT fail on Windows Python 3.8 and 3.9
* Disable PCA reduction of lagged features for now, to fix svd convervence fail
* Merge flaml/main into time_series_task
* Attempt to fix formatting
* Attempt to fix formatting
* tentatively implement holt-winters-no covariates
* fix forecast method, clean class
* checking external regressors too
* update test forecast
* remove duplicated test file, re-add sarimax, search space cleanup
* Update flaml/automl/model.py
removed links. Most important one probably was: https://robjhyndman.com/hyndsight/ets-regressors/
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
* prevent short series
* add docs
* First attempt at merging Holt-Winters
* Linter fix
* Add holt-winters to TimeSeriesTask.estimators
* Fix spark test fail
* Attempt to fix another spark test fail
* Attempt to fix another spark test fail
* Change Black max line length to 127
* Change Black max line length to 120
* Add logging for ARIMA params, clean up time series models inheritance
* Add more logging for missing ARIMA params
* Remove a meaningless test causing a fail, add stricter check on ARIMA params
* Fix a bug in HoltWinters
* A pointless change to hopefully trigger the on and off KeyError in ARIMA.fit()
* Fix formatting
* Attempt to fix formatting
* Attempt to fix formatting
* Attempt to fix formatting
* Attempt to fix formatting
* Add type annotations to _train_with_config() in state.py
* Add type annotations to prepare_sample_train_data() in state.py
* Add docstring for time_col argument of AutoML.fit()
* Address @sonichi's comments on PR
* Fix formatting
* Fix formatting
* Reduce test time budget
* Reduce test time budget
* Increase time budget for the test to pass
* Remove redundant imports
* Remove more redundant imports
* Minor fixes of points raised by Qingyun
* Try to fix pandas import fail
* Try to fix pandas import fail, again
* Try to fix pandas import fail, again
* Try to fix pandas import fail, again
* Try to fix pandas import fail, again
* Try to fix pandas import fail, again
* Try to fix pandas import fail, again
* Try to fix pandas import fail, again
* Try to fix pandas import fail, again
* Try to fix pandas import fail, again
* Try to fix pandas import fail, again
* Formatting fixes
* More formatting fixes
* Added test that loops over TS models to ensure coverage
* Fix formatting issues
* Fix more formatting issues
* Fix random fail in check
* Put back in tests for ARIMA predict without fit
* Put back in tests for lgbm
* Update test/test_model.py
cover dedup
* Match target length to X length in missing test
---------
Co-authored-by: Mark Harley <mark.harley@transferwise.com>
Co-authored-by: Mark Harley <mharley.code@gmail.com>
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Andrea W <a.ruggerini@ammagamma.com>
Co-authored-by: Andrea Ruggerini <nescio.adv@gmail.com>
Co-authored-by: Egor Kraev <Egor.Kraev@tw.com>
Co-authored-by: Li Jiang <bnujli@gmail.com>
* update openai model support
* new gpt3.5
* docstr
* function_call and content may co-exist
* test function call
---------
Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>