22 Commits

Author SHA1 Message Date
afourney
4fcc45f140 [Core] Throw an error when the OAI_CONFIG_LIST is missing. (#1082)
* Throw an explicit and proper error when someone asks to load the OAI_CONFIG_LIST, and it is missing.

* Updated to use pytest.raises. Added docstring. Updated some tests to not try to load the config_list when skipping OAI tests.

* Fixed wrong indentation in config_list_from_json, and updated test_utils to work with non-empty lists.

* Read key location from global constants.

* Added missingpath.

* Moved config_list_from_json to inside a skip check.
2024-01-03 16:58:58 +00:00
Beibin Li
b26e659362 [Core] Improve config_list_from_json (#1026)
* Improve config_list_from_json
The `env_or_file` variabe can point to an
environment variable of file path.

* Update autogen/oai/openai_utils.py

Co-authored-by: Chi Wang <wang.chi@microsoft.com>

* Use "with" to open config file

* Remove unused.

* Remove accidental added file

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-01-02 21:33:28 +00:00
Maxim Saplin
c80df8acab Skip tests that depend on OpenAI via --skip-openai (#1097)
* --skip-openai

* All tests pass

* Update build.yml

* Update Contribute.md

* Fix for failing Ubuntu tests

* More tests skipped, fixing 3.10 build

* Apply suggestions from code review

Co-authored-by: Qingyun Wu <qingyun0327@gmail.com>

* Added more comments

* fixed test__wrap_function_*

---------

Co-authored-by: Qingyun Wu <qingyun0327@gmail.com>
Co-authored-by: Davor Runje <davor@airt.ai>
2023-12-31 19:37:21 +00:00
Chi Wang
3b0e059699 openai base url default to None; read files when env vars exist; remove deprecated models (#1110)
* openai base url default to None

* read from files when env vars exist
2023-12-31 18:12:49 +00:00
Maxim Saplin
16b1723c74 [Core] Extending inline docs for openai_utils.py, boosting coverage in test_utils.py, fixing #762 (#1046)
* fix for #762 ,get_config_list/oia assetion, docs, test

* Improved docstrings

* test_utils using fake data and temp files

* "Black" formatting applied

* Fix build (KEY_LOC and OAI_CONFIG_LIST as consts in test_client)

* Ramping up openai_utils coverage

* Missing parameter doc.

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2023-12-30 02:03:34 +00:00
Davor Runje
4b5ec5a52f Add decorator for function calling (#1018)
* add function decorator to converasble agent

* polishing

* polishing

* added function decorator to the notebook with async function calls

* added support for return type hint and JSON encoding of returned value if needed

* polishing

* polishing

* refactored async case

* Python 3.8 support added

* polishing

* polishing

* missing docs added

* refacotring and changes as requested

* getLogger

* documentation added

* test fix

* test fix

* added testing of agentchat_function_call_currency_calculator.ipynb to test_notebook.py

* added support for Pydantic parameters in function decorator

* polishing

* Update website/docs/Use-Cases/agent_chat.md

Co-authored-by: Li Jiang <bnujli@gmail.com>

* Update website/docs/Use-Cases/agent_chat.md

Co-authored-by: Li Jiang <bnujli@gmail.com>

* fixes problem with logprob parameter in openai.types.chat.chat_completion.Choice added by openai version 1.5.0

* get 100% code coverage on code added

* updated docs

* default values added to JSON schema

* serialization using json.dump() add for values not string or BaseModel

* added limit to openai version because of breaking changes in 1.5.0

* added line-by-line comments in docs to explain the process

* polishing

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Li Jiang <bnujli@gmail.com>
2023-12-25 16:07:20 +00:00
Yiran Wu
9cec541630 Convert ChatCompletionMessage to Dict after completion (#791)
* update

* update

* update signature

* update

* update

* fix test funccall groupchat

* reverse change

* update

* update

* update

* update

* update

---------

Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2023-12-10 03:28:13 +00:00
Yiran Wu
cbd1e19307 Update cache if cost not calculated (#903)
* update cost for cache

* fix test
2023-12-07 03:43:30 +00:00
Chi Wang
73d7e9203b bump version to 0.2.1 (#867)
* bump version to 0.2.1

* remove example link

* update

---------

Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu>
Co-authored-by: kevin666aa <yrwu000627@gmail.com>
2023-12-05 21:09:05 +00:00
Yiran Wu
7a4ba1a732 Add cost summary to client.py (#812)
* init commit

* add doc, notebook and test

* fix test

* update

* update

* update

* update
2023-12-03 21:06:46 +00:00
Yiran Wu
f812a238b1 add cost calculation to client (#769)
* add cost calculation

* Update autogen/oai/client.py

Co-authored-by: Joshua Kim <joshkyh@users.noreply.github.com>

* Update autogen/oai/client.py

Co-authored-by: Joshua Kim <joshkyh@users.noreply.github.com>

* update

* add doc

---------

Co-authored-by: Joshua Kim <joshkyh@users.noreply.github.com>
2023-11-28 19:47:53 +00:00
gagb
df2cd36dee Refactor GPTAssistantAgent (#632)
* Refactor GPTAssistantAgent constructor to handle
instructions and overwrite_instructions flag

- Ensure that `system_message` is always consistent with `instructions`
- Ensure provided instructions are always used
- Add option to permanently modify the instructions of the assistant

* Improve default behavior

* Add a test; add method to delete assistant

* Add a new test for overwriting instructions

* Add test case for when no instructions are given for existing assistant

* Add pytest markers to test_gpt_assistant.py

* add test in workflow

* update

* fix test_client_stream

* comment out test_hierarchy_

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: kevin666aa <yrwu000627@gmail.com>
2023-11-12 06:03:51 +00:00
Alvaro Mateos
849feda98e Enable streaming support for openai v1 (#597)
* Enable streaming support for openai v1

* Added tests for openai client streaming

* Fix test_completion_stream
2023-11-11 14:30:40 +00:00
Chi Wang
dfcbea9777 seed -> cache_seed (#600) 2023-11-08 23:39:02 +00:00
Chi Wang
c4f8b1c761 Dev/v0.2 (#393)
* api_base -> base_url (#383)

* InvalidRequestError -> BadRequestError (#389)

* remove api_key_path; close #388

* close #402 (#403)

* openai client (#419)

* openai client

* client test

* _client -> client

* _client -> client

* extra kwargs

* Completion -> client (#426)

* Completion -> client

* Completion -> client

* Completion -> client

* Completion -> client

* support aoai

* fix test error

* remove commented code

* support aoai

* annotations

* import

* reduce test

* skip test

* skip test

* skip test

* debug test

* rename test

* update workflow

* update workflow

* env

* py version

* doc improvement

* docstr update

* openai<1

* add tiktoken to dependency

* filter_func

* async test

* dependency

* migration guide (#477)

* migration guide

* change in kwargs

* simplify header

* update optigude description

* deal with azure gpt-3.5

* add back test_eval_math_responses

* timeout

* Add back tests for RetrieveChat (#480)

* Add back tests for RetrieveChat

* Fix format

* Update dependencies order

* Fix path

* Fix path

* Fix path

* Fix tests

* Add not run openai on MacOS or Win

* Update skip openai tests

* Remove unnecessary dependencies, improve format

* Add py3.8 for testing qdrant

* Fix multiline error of windows

* Add openai tests

* Add dependency mathchat, remove unused envs

* retrieve chat is tested

* bump version to 0.2.0b1

---------

Co-authored-by: Li Jiang <bnujli@gmail.com>
2023-11-04 04:01:49 +00:00
Chi Wang
dd90756bdb bump version to 0.1.14 (#400)
* bump version to 0.1.14

* endpoint

* test

* test

* add ipython to retrievechat dependency

* constraints

* target
2023-10-28 00:24:04 +00:00
Chi Wang
9ed6c8e5d0 config list for test (#395) 2023-10-24 03:54:45 +00:00
Aaron
5c2a268d95 openai_utils.py - functionality for instantiating config_list with a .env file (#68)
* 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>
2023-10-05 04:45:11 +00:00
Chi Wang
904b293aa4 make retry_time configurable, add doc (#53)
* make retry_time configurable, add doc

* in seconds

* retry_wait_time

* bump version to 0.1.4

* remove .json

* rename

* time
2023-09-30 16:21:07 +00:00
Chi Wang
0c60bc5111 cleanup 2023-09-16 20:41:27 +00:00
Chi Wang
a4b9297719 cleanup 2023-09-16 16:34:16 +00:00
Chi Wang
bc4473fe8a cleanup 2023-09-16 10:57:57 +00:00