1486 Commits

Author SHA1 Message Date
Aaron
e50d5a1747
Command line code sanitation (#1627)
* 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>
2024-02-18 16:41:36 +00:00
Li Jiang
5aee9114ae
Fix issue 1440 by applying new function registration decorator (#1661)
* Reproduce #1440

* Updated code with latest APIs

* Reran notebook

* Fix usage of cache
2024-02-18 15:47:19 +00:00
Beibin Li
9de374a495
Use PIL Image internally for the Multimodal Agent (#1124)
* 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>
2024-02-18 15:08:55 +00:00
Aaron
2d29d36b1d
Add agent robot example to gallery (#1718)
* ADD - robot example to gallery

* UPDATE - added image

---------

Co-authored-by: Ward <award40@LAMU0CLP74YXVX6.uhc.com>
2024-02-18 15:05:54 +00:00
Chi Wang
9708058dae
use str for hook key (#1711)
* use str for hook key

* bump version to 0.2.15

* remove github

* disable assertion
2024-02-17 18:00:23 +00:00
Qingyun Wu
f8cb585917
Update example page (#1698)
* update example page

* Update website/docs/Examples.md

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

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-02-17 17:12:10 +00:00
Qingyun Wu
a00df55306
Allow limiting the maximum number of turns in initiate_chat and initiate_chats (#1703)
* max_turns

* add notebook

* simplify code

* groupchat _prepare_chat

* doc

* add doc

* Update autogen/agentchat/conversable_agent.py

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-02-17 17:02:12 +00:00
Gunnar Kudrjavets
bf3cc0f0ef
Check for missing dependencies before building the website (#1678)
- Add an executable permission to the file.
 - Check for dependencies before the build starts.
 - Output a list of missing dependencies.
2024-02-16 15:35:25 +00:00
Shaokun Zhang
aea5bedf26
update ecosystem (#1624)
* update ollama ecosystem

* update ollama ecosystem

---------

Co-authored-by: “skzhang1” <“shaokunzhang529@gmail.com”>
2024-02-16 14:05:21 +00:00
Mats Finsås
7ceee5dadc
Update Azure OpenAI API to 2024-02-15-preview (#1692)
On April 2, 2024 the following API preview releases will be retired and will stop accepting API requests:

2023-03-15-preview
2023-06-01-preview
2023-07-01-preview
2023-08-01-preview

To avoid service disruptions, update to use the latest version 2024-02-15-preview.

https://review.learn.microsoft.com/en-us/azure/ai-services/openai/api-version-deprecation
v0.2.14
2024-02-15 18:57:17 +00:00
cheng-tan
5ca69da8e5
bug fix: logging test may fail if some config fails (#1695) 2024-02-15 18:51:38 +00:00
Wael Karkoub
a52f52a1b5
Feature: Get Nested Agents in a GroupChat (#1636)
* 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>
2024-02-15 18:33:59 +00:00
Ian
b270a2e467
support azure assistant api (#1616)
* support azure assistant api

* try to add azure testing

* improve testing

* fix testing

* fix code

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-02-15 05:29:08 +00:00
Chi Wang
cff9ca9a11
do model check properly (#1686)
* do model check properly

* bug in logging test

* set llm_config
2024-02-15 04:51:22 +00:00
Gunnar Kudrjavets
d677b47c44
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
2024-02-15 00:54:31 +00:00
cheng-tan
4ccff54dbe
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>
2024-02-15 00:54:17 +00:00
Gunnar Kudrjavets
f68c09b035
Validate the OpenAI API key format (#1635)
* Validate the OpenAI API key format

Increase the amount of internal validation for OpenAI API keys. The intent is
to shorten the debugging loop in case of typos. The changes do *not* add
validation for Azure OpenAI API keys.

* Add the validation in `__init__` of `OpenAIClient`.

* Introduce the `MOCK_OPEN_AI_API_KEY` constant for testing.

*  Add unit test coverage for the `is_valid_api_key` function.

* Validate the OpenAI API key format

Increase the amount of internal validation for OpenAI API keys. The intent is
to shorten the debugging loop in case of typos. The changes do *not* add
validation for Azure OpenAI API keys.

* Add the validation in `__init__` of `OpenAIClient`.

* Introduce the `MOCK_OPEN_AI_API_KEY` constant for testing.

*Add unit test coverage for the `is_valid_api_key` function.

* Log a warning when register a default client fails.

* Validate the OpenAI API key format

Increase the amount of internal validation for OpenAI API keys. The intent is
to shorten the debugging loop in case of typos. The changes do *not* add
validation for Azure OpenAI API keys.

* Add the validation in `__init__` of `OpenAIClient`. We'll log a
  warning when the OpenAI API key isn't valid.

* Introduce the `MOCK_OPEN_AI_API_KEY` constant for testing.

* Add unit test coverage for the `is_valid_api_key` function.

* Check for OpenAI base_url before API key validation

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-02-14 18:51:38 +00:00
Jack Gerrits
a62b5c3b2d
Update notebook contrib guidance, update a few notebooks for site (#1651)
* update some notebooks

* Update contributing.md

* remove os

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-02-14 17:00:55 +00:00
FarshidShafia
a8cf7e3cf8
Update agent_chat.md (#1677)
The first argument inside "register_function" shall be "caller" instead of "agent". ref:
https://microsoft.github.io/autogen/docs/reference/agentchat/conversable_agent/
2024-02-14 17:00:11 +00:00
gagb
ad9e5cf2ee
Update Transparency FAQs (#1672) 2024-02-14 16:46:49 +00:00
olgavrou
71829f3fdf
Fix custom client registration (#1653)
* fix custom client registration

* fix

* add test with extra args
2024-02-13 21:41:20 +00:00
Xiaoyun Zhang
b05b148cec
update dotnet workflow (#1669)
* cherry-pick change in dotnet workflow

* delete openai test workflow as it's part of dotnet-build already
2024-02-13 21:28:51 +00:00
Jack Gerrits
8311a87eb3
Update grid to flow better across screen sizes (#1652) 2024-02-13 21:23:12 +00:00
Maxim Saplin
31a732ff46
FAQ, highlight the correct package name is pyautogen (#1665)
* Update FAQ.md

* Update FAQ.md

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-02-13 21:00:08 +00:00
yousonnet
81fc749ead
add GPTAssistantAgent is_termination_msg valid (#1642)
* add GPTAssistantAgent is_termination_msg valid

* make is_termination_msg in GPTAssistantAgent valid and reformatted

* to pass the black format test
2024-02-13 05:24:46 +00:00
Qingyun Wu
fb22f78b08
add autogen.initiate_chats (#1638)
* add initiate_chats

* update notebook

* different user

* add notebook

* add link to website

* update notebook title

* remove redundancy

* notebook

* return list

* tag

* update notebook

* update notebook

* return finished tasks

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-02-13 05:23:08 +00:00
Bob Gregor
d01063d231
remove duplicates (#1646) 2024-02-12 20:10:00 +00:00
Chi Wang
6d93765b96
return None instead of tuple in _generate_oai_reply_from_client (#1644)
* return None instead of tuple

* return final=False if extracted response is None
2024-02-12 19:58:30 +00:00
Chi Wang
5c58be65f4
remove print config list (#1637) 2024-02-12 18:26:15 +00:00
Qingyun Wu
899b250c08
Adding callable summary_method support and enhancements to initiate_chats (#1628)
* initiate_chats enhancements

* callable summary_method

* summary method

* summary method default

* docstr

* add timeout to slient pip install test

* consolidate_chat_info

* a_initiate_chat

* AssertionError test

* update tests

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-02-12 02:25:09 +00:00
Jack Gerrits
b4a2c6e26f
Rewrite and consolidate configuration docs (#1581)
* Rewrite and consolidate configuration docs

* add link to filtering

* updates based on comments

* update lockfile

* update redirect

* spelling mistake

* update the noqa

* update links

* fix broken links

* lint fixes

* address comments

* update wording about model selection

* update cache_seed and json pattern

* add periods

* Update the config json func and other small changes

* update wording of json string

* update intro

* update description of caching

* fix link

* spelling mistake

* fix llm config

* Update website/docs/llm_configuration.ipynb

Co-authored-by: gagb <gagb@users.noreply.github.com>

* Add examples back as notebook

---------

Co-authored-by: gagb <gagb@users.noreply.github.com>
Co-authored-by: Aaron <aaronlaptop12@hotmail.com>
2024-02-11 18:04:43 +00:00
Chi Wang
e83de5d008
add long context handling notebook (#1618)
* add long context handling notebook

* remove compression notebook
v0.2.13
2024-02-11 05:56:05 +00:00
Davor Runje
80890588ca
Refactoring web surfer to use function decorators (#1435)
* refactoring web surfer to use function decorators

* limited pytest version

* bug fix in test

* bug fixes

* refactoring

* Fix web_surfer tests.

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Adam Fourney <adamfo@microsoft.com>
2024-02-10 05:09:08 +00:00
Eric Zhu
609ba7c649
Code executors (#1405)
* code executor

* test

* revert to main conversable agent

* prepare for pr

* kernel

* run open ai tests only when it's out of draft status

* update workflow file

* revert workflow changes

* ipython executor

* check kernel installed; fix tests

* fix tests

* fix tests

* update system prompt

* Update notebook, more tests

* notebook

* raise instead of return None

* allow user provided code executor.

* fixing types

* wip

* refactoring

* polishing

* fixed failing tests

* resolved merge conflict

* fixing failing test

* wip

* local command line executor and embedded ipython executor

* revert notebook

* fix format

* fix merged error

* fix lmm test

* fix lmm test

* move warning

* name and description should be part of the agent protocol, reset is not as it is only used for ConversableAgent; removing accidentally commited file

* version for dependency

* Update autogen/agentchat/conversable_agent.py

Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>

* ordering of protocol

* description

* fix tests

* make ipython executor dependency optional

* update document optional dependencies

* Remove exclude from Agent protocol

* Make ConversableAgent consistent with Agent

* fix tests

* add doc string

* add doc string

* fix notebook

* fix interface

* merge and update agents

* disable config usage in reply function

* description field setter

* customize system message update

* update doc

---------

Co-authored-by: Davor Runje <davor@airt.ai>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
Co-authored-by: Aaron <aaronlaptop12@hotmail.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-02-10 04:52:16 +00:00
Jack Gerrits
5d81ed43f3
Hide table of contents on notebooks page (#1600)
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-02-09 16:20:51 +00:00
gagb
47d6c7567e
Proxy PR for Long Context Capability 1513 (#1591)
* Add new capability to handle long context

* Make print conditional

* Remove superfluous comment

* Fix msg order

* Allow user to specify max_tokens

* Add ability to specify max_tokens per message; improve name

* Improve doc and readability

* Add tests

* Improve documentation and add tests per Erik and Chi's feedback

* Update notebook

* Update doc string of add to agents

* Improve doc string

* improve notebook

* Update github workflows for context handling

* Update docstring

* update notebook to use raw config list.

* Update contrib-openai.yml remove _target

* Fix code formatting

* Fix workflow file

* Update .github/workflows/contrib-openai.yml

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-02-08 18:26:00 +00:00
Xiaoyun Zhang
a3c3317faa
add other language drop down link to AutoGen website (#1573)
* add other language drop down

* fix format
2024-02-08 17:28:56 +00:00
olgavrou
58d77bca0c
check response usage is not None (#1599) 2024-02-08 16:48:40 +00:00
Matt Adams
9eab2b5a24
Fix typo in title (#1594) 2024-02-08 16:34:33 +00:00
Jack Gerrits
9a9c283f6a
Fix a couple of tiny issues in blog posts (#1578)
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-02-08 06:28:35 +00:00
Jack Gerrits
fd680fb8af
Add quarto install to Contribute.md (#1585)
* Update Contribute.md

* Update Contribute.md

---------

Co-authored-by: Victor Dibia <victordibia@microsoft.com>
2024-02-08 03:15:42 +00:00
Chi Wang
0b4bce28cf
avoid access private variable (#1592)
* avoid access private variable

* test chat messages for summary
v0.2.12
2024-02-08 01:35:19 +00:00
gagb
68337b9553
Update base container for website (#1584)
* Add dependencies for website

* Add a shell script to build the website
2024-02-08 01:25:43 +00:00
Jack Gerrits
d675489352
Add more descriptive error message in the presence of OpenAI API timeouts (#1577)
* Add more descriptive error message in the presence of OpenAI API timeouts

* handle specific exception

* Update autogen/oai/client.py

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

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-02-07 22:43:11 +00:00
Jack Gerrits
8ece258c54
Add mypy config to pyproject.toml (#1543)
* Add mypy config to pyproject.toml

* put back follow_imports

* ignore math utils
2024-02-07 22:15:07 +00:00
Aaron Mihalik
7f8cfed661
Adding max_tokens to autogenstudio LLMConfig (#1574)
* Adding max_tokens to autogenstudio LLMConfig

* fix formatting issue

* fix formatting issues

---------

Co-authored-by: Victor Dibia <victordibia@microsoft.com>
2024-02-07 22:14:24 +00:00
Jack Gerrits
620cc0ca59
Expose filter_config (#1582) 2024-02-07 22:10:27 +00:00
Qingyun Wu
2a2e466932
Using a more robust "reflection_with_llm" summary method (#1575)
* summary exception

* badrequest error

* test

* skip reason

* error

* address func call in summary

* reflection_with_llm enhancement and tests

* remove old

* update notebook

* update notebook
2024-02-07 17:17:05 +00:00
gagb
e0fa6ee55b
Introducing AutoAnny: A New Discord Bot Built with AutoGen (#1501)
* Move app from private repo to AutoGen

* Add icon

* Draft initial blog

* Update samples/apps/auto-anny/bot.py

Co-authored-by: Davor Runje <davor@airt.ai>

* Update README.md

* Allow specifying repo name

* Log messages and reactions to messages

* Update readme

* Update blog

* Update blog

* Update website and readme

* Extend examples

* Improve blog

* Update website/blog/2024-02-02-AutoAnny/index.mdx

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

---------

Co-authored-by: Davor Runje <davor@airt.ai>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-02-07 01:51:00 +00:00
gagb
2d171f1a79
Update devcontainer.json with copilot extension (#1556) 2024-02-07 01:45:25 +00:00