72 Commits

Author SHA1 Message Date
Sachin Joglekar
8bd65c672f
Add ChatCompletionCache along with AbstractStore for caching completions (#4924)
* Add ChatCompletionCache along with AbstractStore for caching completions

* Addressing comments

* Improve interface for cachestore

* Improve documentation & revert protocol

* Make cache store typed, and improve docs

* remove unnecessary casts
2025-01-16 15:47:38 -08:00
Eric Zhu
6954e516b6
Update autogen_core.memory: adding docs, removing some fields. (#5053)
* Update autogen_core.memory: adding docs, removing some fields.

* Remove timestamp

* Remove name from base; fix example code

* fix test

* lint

* fix doc
2025-01-15 02:33:46 +00:00
Victor Dibia
abbdbb2f87
Memory Interface in AgentChat (#4438)
* initial base memroy impl

* update, add example with chromadb

* include mimetype consideration

* add transform method

* update to address feedback, will update after 4681 is merged

* update memory impl,

* remove chroma db, typing fixes

* format, add test

* update uv lock

* update docs

* format updates

* update notebook

* add memoryqueryevent message, yield message for observability.

* minor fixes, make score optional/none

* Update python/packages/autogen-agentchat/src/autogen_agentchat/agents/_assistant_agent.py

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* update tests to improve cov

* refactor, move memory to core.

* format fixxes

* format updates

* format updates

* fix azure notebook import, other fixes

* update notebook, support str query in Memory protocol

* update test

* update cells

* add specific extensible return types to memory query and update_context

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-01-14 07:06:13 +00:00
Jack Gerrits
404522bd6b
Split apart component infra to allow for abstract class integration (#5017)
* Split apart component infra to allow for abstract class integration

* fix is_component_class check

* make is_ functions type guards

* Simplify component creation

* undo changes

* Format
2025-01-13 15:58:38 -05:00
peterychang
71a3b238e7
Activate deactivate agents (#4800)
* Instantiate and call activate/deactivate on agents

* autoformatting

* remove activate. Rename deactivate to close

* remove unneeded import

* create close fn in runtime

* change runtime close behavior

* uv.lock

---------

Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
2025-01-07 21:37:02 +00:00
Jack Gerrits
5b9be79fba
feat!: Add message context to signature of intervention handler, add more to docs (#4882)
* Add message context to signature of intervention handler, add more to docs

* example

* Add to test

* Fix pyright

* mypy
2025-01-07 12:51:35 -05:00
Griffin Bassman
bdfdc6ab5e
fix: poe check errors to pass (#4917)
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
2025-01-07 10:48:37 -05:00
Jack Gerrits
e6ac2f37fa
Update logged events, add message id to send message (#4868)
* Update logged events

* add message_id

* serialize payload for log

* fix pytest warning

* serialization

* fix test

* lock

* fix warning and test
2024-12-31 15:11:48 -05:00
Jack Gerrits
c58eb9d120
Move intervention objects to root module (#4859)
* Move intervention to root

* usage
2024-12-30 16:09:37 -05:00
Jack Gerrits
cb1633b501
feat!: Add support for model family specification (#4856)
* Add support for model family specification

* spelling mistake

* lint, etc

* fixes
2024-12-30 15:09:21 -05:00
Jack Gerrits
190fcd15ed
fix!: Fix SingleThreadedAgentRuntime busy loop (#4855)
* Fix high cpu usage

* Use queue for shutdown

* mypy fixes

* formatting

* missing import
2024-12-30 15:04:20 -05:00
Leonardo Pinheiro
9a2dbb4fba
Add * before keyword args for ChatCompletionClient (#4822)
add * before keyword args

Co-authored-by: Leonardo Pinheiro <lpinheiro@microsoft.com>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
2024-12-27 08:41:16 -05:00
Jack Gerrits
0040016bec
Remove usage of internal pydantic functionality for forward ref eval (#4816)
* Remove usage of internal pydantic func

* Update python/packages/autogen-core/tests/test_tools.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update python/packages/autogen-core/tests/test_tools.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove unused import NoneType from test_tools.py

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2024-12-26 12:15:54 -08:00
Jack Gerrits
90d6723685
Usability improvements to component config (#4794)
* Usability improvements to component config

* Implement model upgrade
2024-12-23 14:03:58 -05:00
Jack Gerrits
dda208f9b4
Add component config support (#4757)
* Add wip component impl

* finishing touches

* remove test file

* fix json usage

* Format

---------

Co-authored-by: Victor Dibia <victordibia@microsoft.com>
2024-12-20 13:14:24 -05:00
Aditya Kurniawan
c989181da2
use model context for assistant agent, refactor model context (#4681)
* Decouple model_context from AssistantAgent

* add UnboundedBufferedChatCompletionContext to mimic pervious model_context behaviour on AssistantAgent

* moving unbounded buffered chat to a different file

* fix model_context assertions in test_group_chat

* Refactor model context, introduce states

* fixes

* update

---------

Co-authored-by: aditya.kurniawan <aditya.kurniawan@core42.ai>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Victor Dibia <victordibia@microsoft.com>
2024-12-19 22:27:41 -08:00
kiyoung
2cd91f66d8
make "Alias", "ImportFromModule" classes hashable (#4734)
make hashable to Alias, ImportFromModule

Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
2024-12-17 11:11:36 -08:00
Jack Gerrits
218e84fd8e
Migrate remaining components (#4626) 2024-12-09 18:39:07 -08:00
Jack Gerrits
87011ae01b
Migrate model context and models modules out of components (#4613)
* Move model context out of components

* move models out of components

* rename docs file
2024-12-09 10:00:08 -08:00
Jack Gerrits
9af450a59f
Move local code exec to ext, uplevel components (#4557) 2024-12-04 20:21:46 -08:00
Jack Gerrits
e615059345
Remove extract_markdown_code_blocks from core API (#4554) 2024-12-04 17:13:43 -08:00
Jack Gerrits
2b878763f8
Move grpc runtimes to ext, flatten application (#4553)
* Move grpc runtimes to ext, flatten application

* rename to grpc

* fmt
2024-12-04 16:23:20 -08:00
Jack Gerrits
d85a607da9
Move LLMUsageTracker to a cookbook (#4549)
* Move LLMUsageTracker to a cookbook

* rename, add to index

* fmt and remove test

* Update python/packages/autogen-core/docs/src/user-guide/core-user-guide/cookbook/llm-usage-logger.ipynb

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix missing quotation marks in notebook

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2024-12-04 14:49:39 -08:00
Jack Gerrits
3022369eeb
Flatten core base and components (#4513)
* Flatten core base and components

* remove extra files

* dont export from deprecated locations

* format

* fmt
2024-12-03 17:00:44 -08:00
Jack Gerrits
954ba84fe7
Change base agent to use on message impl (#4485)
* Change base agent to use on message impl

* update doc

* Update

* Merge branch 'main' into on_msg_impl
2024-12-03 10:04:12 -08:00
Jack Gerrits
a4067f6c0a
Migrate Python distributed runtime to use cloud events for event (#4407)
* Cloud event publishing

* Implement cloud event receiving

* impl host servicer and
2024-11-27 08:32:03 -08:00
Jack Gerrits
bd77ccbd7b
Serialize to Proto.Any for python serializer (#4404) 2024-11-27 07:32:01 -08:00
Jack Gerrits
0d3bc948a1
Replatform closure agent on base agent (#4389)
* Replatform closure agent on base agent

* Fix mypy

* update agentcaht

---------
2024-11-26 16:33:37 -08:00
Jack Gerrits
45f16f534b
Fix deprecated usages (#4374) 2024-11-26 16:31:23 -08:00
Jack Gerrits
df183be35a
Add special topic for agent direct messaging (#4385)
* Add special topic for agent direct messaging

* move to base

* update sub counts

* Fix tests
2024-11-26 17:01:25 -05:00
peterychang
74bcd5e0f6
add protobuf serialization test (#4224)
* add protobuf serialization test

* proto file regeneration

---------

Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
Co-authored-by: Mohammad Mazraeh <Mazraeh.Mohammad@Gmail.com>
2024-11-26 15:37:40 -05:00
Jack Gerrits
8347881776
Fix intervention handler none check (#4351)
* Fix none check

* fix func

* fmt, lint

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-11-25 15:50:52 -05:00
Jack Gerrits
9b967fc79a
Update pyright and mypy (#4348)
* Update pyright and mypy

* fmt
2024-11-25 15:08:36 -05:00
Leonardo Pinheiro
ac53961bc8
Delete autogen-ext refactor deprecations (#4305)
* delete files and update dependencies

* add explicit config exports

* ignore mypy error on nb

---------

Co-authored-by: Leonardo Pinheiro <lpinheiro@microsoft.com>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
2024-11-22 11:29:39 -05:00
Eric Zhu
4aec53c36f
Improve agentchat tutorial (#4233) 2024-11-16 09:01:38 -08:00
Jean-Marc Le Roux
cac411b56a
Fix broken $ref instances in tool JSON schemas (#4201)
When the tool expects complex inputs that require nested models, pydantic will generate a JSON Schema that will include references to other schemas using the `$ref` keyword (cf https://json-schema.org/understanding-json-schema/structuring#dollarref).

But the `$ref` keyword is not supported by OpenAI.

This fix:

1. Resolves the references and inlines the corresponding schemas.
2. Removes the then useless root `$defs` field of the JSON schema to save tokens.

Co-authored-by: Jean-Marc Le Roux <contact@jmlx.io>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
2024-11-15 13:40:46 -05:00
Jack Gerrits
2b565713d0
Make save/load state for agent async (#4195) 2024-11-15 10:38:01 -05:00
Gerardo Moreno
eca8a95c61
Remove isinstance check from FunctionTool (#3987) (#4056)
* Remove isinstance check from FunctionTool (#3987)

* Move __init__ Args to class docstring

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-11-04 16:48:57 -08:00
Gerardo Moreno
93733dbd65
Run LocalCommandLineCodeExecutor within venv (#3977)
* Run LocalCommandLineCodeExecutor within venv

* Remove create_virtual_env func and add docstring

* Add explanation for LocalCommandLineExecutor docstring example

* Enhance docstring example explanation

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-10-29 08:17:34 -07:00
Leonardo Pinheiro
38f62e1609
migrate models (#3848)
* migrate models

* Update python/packages/autogen-agentchat/src/autogen_agentchat/agents/_tool_use_assistant_agent.py

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* refactor missing imports

* ignore type check errors

* Update python/packages/autogen-ext/src/autogen_ext/models/_openai/_model_info.py

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* update packages index page

---------

Co-authored-by: Leonardo Pinheiro <lpinheiro@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-10-22 11:40:41 -04:00
Eric Zhu
43ccc811e0
Make sure exceptions in process publish is logged. (#3774) 2024-10-13 12:12:24 -07:00
Leonardo Pinheiro
c765a34cbf
Move docker code exec to autogen-ext (#3733)
* move docker code exec to autogen-ext

* fix test

* rename docker subpackage

* add missing renamed package

---------

Co-authored-by: Leonardo Pinheiro <lpinheiro@microsoft.com>
2024-10-11 09:28:15 -07:00
Jack Gerrits
6567d90941
Update references to autogen (#3708) 2024-10-09 15:12:36 -04:00
Leonardo Pinheiro
53e5951474
Lspinheiro/chore/migrate azure executor autogen ext (#3652)
* migrate code executor and tests

* update extras

* update dependencies and examples

* fix imports

* fix uv lock

* add code_executor to toctree

---------

Co-authored-by: Leonardo Pinheiro <lpinheiro@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-10-08 15:05:44 -07:00
Eric Zhu
ffb16d560a
Set logging of internal messages to debug (#3694)
* Set logging of internal messages to debug

* Fix worker runtime tests
2024-10-08 15:01:13 -07:00
Mohammad Mazraeh
29c23d53af
add a way to provide extra grpc options (#3667)
* rebase and address PR comments

* address PR feedback
2024-10-08 14:46:12 -04:00
Mohammad Mazraeh
be5c0b5d3e
fix: remove subscription on client disconnect in worker runtime (#3653)
* remove subscription on client disconnect in worker runtime

* address PR feedback

* remove outdated comment

* remove public properties

* fix mypy issue

* address PR feedback

---------

Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
2024-10-05 08:15:01 -07:00
Jacob Alber
499b3fcbbf fix: Make cleanup code in docker CodeExecutor asyncio aware (#669)
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
2024-10-01 15:38:23 -04:00
Eric Zhu
7ba99186fb
Initial implementation of agentchat (#623)
* WIP implementation for agentchat

* WIP

* WIP

* wip

* WIP

* WIP

* WIP

* WIP

* fix types

* format

* fix build

* Fix build

* use a simpler implementation of thread -- list

* Select speaker to return speaker topic type

* add parent topic type to agent container

* Address comments

* Add check to make sure agent id is constant in a team run.

* Fix build
2024-09-25 23:15:17 +00:00
Jack Gerrits
dc02719f7c
Check for prints (#616)
* Check for prints

* format
2024-09-23 20:10:57 +00:00