588 Commits

Author SHA1 Message Date
Eric Zhu
4d688a51ad
remove subdirectory .gitattributes files and add relevant files to lfs (#2270)
Co-authored-by: Yiran Wu <32823396+kevin666aa@users.noreply.github.com>
2024-04-04 18:46:35 +00:00
cheng-tan
e83301ed18
fix logging cost flaky test (#2277) 2024-04-04 14:36:46 +00:00
Mark Sze
89f3cfd1ad
Recommit from my repo - Enhanced speaker name selection during agent name matching. (#2267) 2024-04-03 22:57:41 +00:00
Jack Gerrits
0644a2bc0c
Add in memory cache class (#2266)
* Add in memory cache class

* formatting
2024-04-03 22:18:40 +00:00
Beibin Li
1674c3cbbb
Fix Vision Capability Test for MacOS (#2260)
* Update mm test: create dummy image in case file corrput

* Update vision capability test for MacOS

* Lint

* Upload image for testing
2024-04-02 23:12:45 +00:00
Beibin Li
c030225eb6
Update mm test: create dummy image in case file corrput (#2258) 2024-04-02 17:31:09 +00:00
Jack Gerrits
c3193f847b
Allow custom name for functions module (#2241)
* Allow custom name for functions module

* update tests

* reorder
2024-04-02 06:21:31 +00:00
Mark Sze
32fbfa233b
Re-commit code from #2182 to Microsoft branch (#2233) 2024-04-01 13:49:13 +00:00
Mark Sze
3f63db32b9
Added ability to specify 'role' field for select speaker messages for Group Chats (Replaces PR #2167) (#2199)
* 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>
2024-03-31 22:54:17 +00:00
Jack Gerrits
7b5fd51e2e
Support string based UDFs (#2195) 2024-03-30 15:15:39 +00:00
Wael Karkoub
7a685b52d8
Fix generate_init_message for Multimodal Messages (#2124)
* multimodal carryover

* adds mm carryover tests

* more tests + cleanup code

* check content instead

* beibin suggestion

* cleanup

* fix async

* use deepcopy

* handle carryover method

* remove content copy

* sonichi suggestions

---------

Co-authored-by: Beibin Li <BeibinLi@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-03-30 02:10:24 +00:00
Wael Karkoub
8cb5c14c82
Transform Messages Capability (#1923)
* wip

* Adds docstrings

* fixed spellings

* wip

* fixed errors

* better class names

* adds tests

* added tests to workflow

* improved token counting

* improved notebook

* improved token counting in test

* improved docstrings

* fix inconsistencies

* changed by mistake

* fixed docstring

* fixed details

* improves tests + adds openai contrib test

* fix spelling oai contrib test

* clearer docstrings

* remove repeated docstr

* improved notebook

* adds metadata to notebook

* Improve outline and description (#2125)

* better dir structure

* clip max tokens to allowed tokens

* more accurate comments/docstrs

* add deperecation warning

* fix front matter desc

* add deperecation warning notebook

* undo local notebook settings changes

* format notebook

* format workflow

---------

Co-authored-by: gagb <gagb@users.noreply.github.com>
2024-03-28 16:16:17 +00:00
Davor Runje
21a7eb3115
Fix iostream on new thread (#2181)
* 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>
2024-03-28 14:26:01 +00:00
Chi Wang
e6237d44a1
simplify getting-started; update news (#2175)
* simplify getting-started; update news

* bug fix
2024-03-28 03:43:01 +00:00
Jack Gerrits
5ef2dfc104
Implement User Defined Functions for Local CLI Executor (#2102)
* 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>
2024-03-27 23:45:17 +00:00
Jack Gerrits
95c0118568
Mark cache as a protocol and update type hints to reflect (#2168)
* Mark cache as a protocl and update type hints to reflect

* int

* undo init change
2024-03-27 22:15:24 +00:00
Davor Runje
78aa0eb220
Introducing IOStream protocol and adding support for websockets (#1551)
* 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>
2024-03-26 22:39:55 +00:00
Shaokun Zhang
72994ea127
Integrate AgentOptimizer (#1767)
* draft agent optimizer

* refactor

* remove

* change openai config interface

* notebook

* update blog

* add test

* clean up

* redir

* update

* update interface

* change model name

* move to contrib

* Update autogen/agentchat/contrib/agent_optimizer.py

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

---------

Co-authored-by: “skzhang1” <“shaokunzhang529@gmail.com”>
Co-authored-by: Beibin Li <BeibinLi@users.noreply.github.com>
Co-authored-by: Jieyu Zhang <jieyuz2@cs.washington.edu>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
2024-03-26 20:31:02 +00:00
Wael Karkoub
66d96dd887
Parse Any HTML-esh Style Tags (#2046)
* 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>
2024-03-26 18:46:44 +00:00
Qingyun Wu
a1322d2475
context to kwargs (#2064)
* 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>
2024-03-26 16:31:55 +00:00
Beibin Li
2f109f5f94
Add vision capability (#2025)
* 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>
2024-03-24 19:46:55 +00:00
Wael Karkoub
331818300d
Silences Pip Install Messages in Code Executors (#2105)
* fix

* adds tests

* check if windows

* adds windows shells

* modifies exit code

* fix powershell

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-03-21 20:08:50 +00:00
Jack Gerrits
e35db7ef5f
Encapsulate colored into a module (#2057)
* Encapsulate colored into a module

* lint fix

* add missing file

* undo change

* conform with original colored func

* change import strategy

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-03-19 18:09:43 +00:00
Chi Wang
6b47a966dd
fix test_human_input (#2063)
* fix test_human_input

* shorten tests

* terminate chat early

* limit max turns

* limit max_rounds

* check skip_openai
2024-03-19 06:44:39 +00:00
Davor Runje
b1839c3845
Update pre-commit (#2067)
* update pre-commit

* update pre-commit.ci

* lint fix
2024-03-19 02:55:37 +00:00
Abhay Mathur
3a3d4cc2ee
code_utils.py powershell command bugfix in MacOS (#1963)
* macos bugfix

* logs permissionerror warning only if lang is powershell command

* condensed the if statements down

* Update code_utils.py

* fixed formatting

* handled powershell_command = None case

* bugfix

* raising exceptions instead of logging warnings

* code formatting fixed

* removed return sh statement

* fixed code formatting

* update get_powershell_command

* Update code_utils.py

fixed code format

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-03-18 13:05:19 +00:00
Chi Wang
cc836de13d
adjust order of side bars (#2040)
* adjust order of side bars

* doc improvement

* limit max turns

* improve tests

* improve doc

* improve docstr
2024-03-17 22:57:54 +00:00
Eric Zhu
2cefff9206
Request for longer response to make cache test more robust. (#2043)
* Request for longer response to make cache test more robust.

* 1000 words --> 100 words
2024-03-17 22:49:40 +00:00
cheng-tan
00972a6013
bug fix: fix agent_logging test (#2036)
* fix test

* Update test/agentchat/test_agent_logging.py

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-03-17 01:27:00 +00:00
Ian
36c4d6aa3e
Separate openai assistant related config items from llm_config (#2037)
* 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>
2024-03-16 17:21:59 +00:00
Qingyun Wu
8844f86525
Allow different senders in nested chat (#2028)
* allow sender in nested chat

* description

* update example list

* doc format

* meta data

* add test
2024-03-15 22:26:45 +00:00
Wael Karkoub
c5536ee92b
[Feature] Adds Image Generation Capability 2.0 (#1907)
* adds image generation capability

* add todo

* readded cache

* wip

* fix content str bugs

* removed todo: delete imshow

* wip

* fix circular imports

* add notebook

* improve prompt

* improved text analyzer + notebook

* notebook update

* improve notebook

* smaller notebook size

* made changes to the wrong branch :(

* resolve comments + 1

* adds doc strings

* adds cache doc string

* adds doc string to add_to_agent

* adds doc string to ImageGeneration

* instructions are not configurable

* removed unnecessary imports

* changed doc string location

* more doc strings

* improves testability

* adds tests

* adds cache test

* added test to github workflow

* compatible llm config format

* configurable reply function position

* skip_openai + better comments

* fix test

* fix test?

* please fix test?

* last fix test?

* remove type hint

* skip cache test

* adds mock api key

* dalle-2 test

* fix dalle config

* use apu key function

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-03-15 22:11:53 +00:00
Yiran Wu
f78985d359
StateFlow Blog (#1826)
* init PR

* update

* update code check

* update

* 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

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* udpate to comments

* update

* Update website/blog/2024-02-29-StateFlow/index.mdx

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

* update links

* remove unnecessary changes

* Update website/blog/2024-02-29-StateFlow/index.mdx

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

* Update website/blog/2024-02-29-StateFlow/index.mdx

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

* remove test for custom notebook

* update

* update

---------

Co-authored-by: Joshua Kim <Joshua@spectdata.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Joshua Kim <joshkyh@users.noreply.github.com>
2024-03-14 15:46:28 +00:00
Davor Runje
bf08856389
Fix type and default value of the code_execution_config parameter in UserProxyAgent (#1996)
* 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>
2024-03-13 22:57:43 +00:00
Jack Gerrits
d583c8088e
Update local cli executor to use same filename strategy as docker (#1981)
* 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>
2024-03-12 21:57:32 +00:00
Jack Gerrits
b1c44deb0c
Remove system message from code executors (#1933)
* 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>
2024-03-12 19:04:43 +00:00
Chi Wang
523581825b
improve validation of llm_config (#1946)
* 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>
2024-03-11 22:36:00 +00:00
Qingyun Wu
c75655a340
Supporting callable message (#1852)
* add message field

* send

* message func doc str

* test dict message

* retiring soon

* generate_init_message docstr

* remove todo

* update notebook

* CompressibleAgent

* update notebook

* add test

* retrieve agent

* update test

* summary_method args

* summary

* carryover

* dict message

* update nested doc

* generate_init_message

* fix typo

* update docs for mathchat

* Fix missing message

* Add docstrings

* model

* notebook

* default naming

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: kevin666aa <yrwu000627@gmail.com>
Co-authored-by: Li Jiang <bnujli@gmail.com>
Co-authored-by: Li Jiang <lijiang1@microsoft.com>
2024-03-09 20:27:46 +00:00
Wael Karkoub
29b9c80c40
General Enhancements in agentchat 2.0 (#1906)
* work in progress

* wip

* groupchat type hints

* clean up

* formatting

* formatting

* clean up

* address comments

* better comment

* updates docstring a_send

* resolve comments

* agent.py back to original format

* resolve more comments

* rename carryover type exception

* revert next_agent changes + keeping UndefinedNextagent

* fixed ciruclar dependencies?

* fix cache tests

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-03-09 15:15:19 +00:00
cheng-tan
811fd6926d
Fix threading issue for logging (#1901)
* fix mypy errors for logging

* cleanup

* formatting

* fix threading issue in logging

* remove kwarg

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-03-08 00:08:22 +00:00
Jack Gerrits
e9219fefc0
Implement docker based command line code executor (#1856)
* implement docker based command line code executor

* undo import

* test skips

* format

* fix type issue

* skip docker tests

* fix paths

* add docs

* Update __init__.py

* class name

* precommit

* undo twoagent change

* use relative to directly

* Update, fixes, etc.

* update doc

* Update docstring

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-03-07 18:11:52 +00:00
Yiran Wu
c37227bd04
Allow user to pass in a customized speaker selection method (#1791)
* 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>
2024-03-07 02:28:22 +00:00
Jack Gerrits
685164f83a
Executor timeout should preserve kernel state (#1885) 2024-03-06 18:24:33 +00:00
Jack Gerrits
d9078210e7
Change name from LocalCommandlineCodeExecutor to LocalCommandLineCodeExecutor (#1873)
* Change name from LocalCommandlineCodeExecutor to LocalCommandLineCodeExecutor

* formatting

* name

* name

* CommandLineCodeResult rename too

* formatting
2024-03-06 15:41:19 +00:00
Chi Wang
cd3b5c6bbd
add doc about effects for capabilities (#1842)
* 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
2024-03-03 23:15:52 +00:00
Grigorij Dudnik
f2e42326e1
Fix for bugs appeared when using function calls with clear history functionality (#1531)
* 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>
2024-03-02 18:03:52 +00:00
Eric Zhu
fcf14ee9e9
Remove default trigger value for register_nested_chats (#1833)
* remove default trigger value for register_nested_chats

* update notebook and test
2024-03-01 21:50:58 +00:00
Jack Gerrits
76ef0789c0
Implement docker based jupyter executor (#1794)
* Implement docker based jupyter client

* formatting

* skip docker tests when asked

* feedback

* add log

* update build

* formatting

* structural changes

* update setup.py

* update tests

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-02-29 14:54:11 +00:00
Gunnar Kudrjavets
b8ceb866e6
Add shebang functionality to tests (#1784)
Tests that contain `if __name__ == "__main__":` now have a shebang line
and execute permission.
2024-02-29 01:11:08 +00:00
Beibin Li
5b0c919d7d
Debug: Resolve the DALLE Agent's self.client error. (#1798)
* 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
2024-02-29 00:58:19 +00:00