507 Commits

Author SHA1 Message Date
Audel Rouhi
ded2d612c3 [Re-Opened] Support for PGVector Database in Autogen (#2439)
* 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>
2024-04-18 20:00:03 +00:00
Chi Wang
6636689cb9 speed up notebook in CI and fix CI failures (#2427)
* 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
2024-04-18 16:43:34 +00:00
saberuster
442c10bd7b support openai 'sk-proj-' apikey format (#2426)
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-04-18 15:58:37 +00:00
Chi Wang
d307818dd9 improve test speed (#2406)
* improve test speed

* speed up test

* speed up test
2024-04-17 20:10:18 +00:00
Beibin Li
0aaf30a8da Merge "Gemini" feature into the main branch (#2360)
* 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>
2024-04-17 00:24:07 +00:00
Shaokun Zhang
0c5aed0489 add AgentOptimizer test in CI (#2380)
* add test

* fix test

* fix

---------

Co-authored-by: AnonymousRepoSub <“shaokunzhang529@outlook.com” >
2024-04-16 05:07:58 +00:00
Chi Wang
fbe8476726 fix local test failures (#2386)
* fix local test failures

* set skip
2024-04-15 12:34:26 +00:00
HRUSHIKESH DOKALA
59daf78d9f Made the cost info easier to read (#2356)
* 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>
2024-04-15 01:18:50 +00:00
giorgossideris
90883904c5 Standardize printing of MessageTransforms (#2308)
* 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>
2024-04-14 00:48:24 +00:00
Josh Trim
d473dee664 Add "py" as lang in conversable agent (#1062) (#2144)
* 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>
2024-04-12 15:14:51 +00:00
Wael Karkoub
78cb908f95 adds fix (#2364) 2024-04-12 05:03:32 +00:00
Shaokun Zhang
9069eb926a support llm_config in AgentOptimizer (#2299)
* 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>
2024-04-11 13:46:42 +00:00
Li Jiang
adb8fd849c Add a vectordb module (#2263)
* 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
2024-04-10 17:43:08 +00:00
Li Jiang
5a96dc2c29 Add source to the answer for default prompt (#2289)
* Add source to the answer for default prompt

* Fix qdrant

* Fix tests

* Update docstring

* Fix check files

* Fix qdrant test error
2024-04-10 00:45:26 +00:00
Chi Wang
23ef8ecae0 Use assistant tag to filter config (#2316)
* Use assistant tag to  filter config

* bump version to 0.2.23
2024-04-08 08:07:50 +00:00
Davor Runje
0c0f953df3 Fix types in tool tests (#2285)
* fixed types related to function calling

* polishing

* fixed types in tests
2024-04-05 15:51:49 +00:00
Chi Wang
ebd0210fa1 bump version to 0.2.22 (#2256)
* bump version to 0.2.22

* doc update

* link update

* consider the failure case
2024-04-05 13:41:14 +00:00
Li Jiang
6b1376b04d Add bs4 and overlap (#2271)
Co-authored-by: Chi Wang <wang.chi@microsoft.com>
2024-04-05 05:21:32 +00:00
Li Jiang
42b27b9a9d Add isort (#2265)
* 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>
2024-04-05 02:26:06 +00:00
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