ag2 0.8.2__tar.gz → 0.8.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ag2 might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ag2
3
- Version: 0.8.2
3
+ Version: 0.8.3
4
4
  Summary: Alias package for pyautogen
5
5
  Home-page: https://github.com/ag2ai/ag2
6
6
  Author: Chi Wang & Qingyun Wu
@@ -167,8 +167,8 @@ llm_config = LLMConfig.from_json(path="OAI_CONFIG_LIST")
167
167
 
168
168
 
169
169
  with llm_config:
170
- assistant = AssistantAgent("assistant", llm_config=llm_config)
171
- user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding", "use_docker": False})
170
+ assistant = AssistantAgent("assistant")
171
+ user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding", "use_docker": False})
172
172
  user_proxy.initiate_chat(assistant, message="Plot a chart of NVDA and TESLA stock price change YTD.")
173
173
  # This initiates an automated chat between the two agents to solve the task
174
174
  ```
@@ -198,19 +198,18 @@ It serves as a base class for all agents in AG2.
198
198
  ```python
199
199
  from autogen import ConversableAgent
200
200
 
201
- # Create an AI agent
202
- assistant = ConversableAgent(
203
- name="assistant",
204
- system_message="You are an assistant that responds concisely.",
205
- llm_config=llm_config
206
- )
207
-
208
- # Create another AI agent
209
- fact_checker = ConversableAgent(
210
- name="fact_checker",
211
- system_message="You are a fact-checking assistant.",
212
- llm_config=llm_config
213
- )
201
+ with llm_config:
202
+ # Create an AI agent
203
+ assistant = ConversableAgent(
204
+ name="assistant",
205
+ system_message="You are an assistant that responds concisely.",
206
+ )
207
+
208
+ # Create another AI agent
209
+ fact_checker = ConversableAgent(
210
+ name="fact_checker",
211
+ system_message="You are a fact-checking assistant.",
212
+ )
214
213
 
215
214
  # Start the conversation
216
215
  assistant.initiate_chat(
@@ -234,11 +233,11 @@ We created a class which sets the `human_input_mode` to `ALWAYS` for you. Its ca
234
233
  from autogen import ConversableAgent
235
234
 
236
235
  # Create an AI agent
237
- assistant = ConversableAgent(
238
- name="assistant",
239
- system_message="You are a helpful assistant.",
240
- llm_config=llm_config
241
- )
236
+ with llm_config:
237
+ assistant = ConversableAgent(
238
+ name="assistant",
239
+ system_message="You are a helpful assistant.",
240
+ )
242
241
 
243
242
  # Create a human agent with manual input mode
244
243
  human = ConversableAgent(
@@ -304,11 +303,11 @@ def get_weekday(date_string: Annotated[str, "Format: YYYY-MM-DD"]) -> str:
304
303
  return date.strftime("%A")
305
304
 
306
305
  # 2. Agent for determining whether to run the tool
307
- date_agent = ConversableAgent(
308
- name="date_agent",
309
- system_message="You get the day of the week for a given date.",
310
- llm_config=llm_config,
311
- )
306
+ with llm_config:
307
+ date_agent = ConversableAgent(
308
+ name="date_agent",
309
+ system_message="You get the day of the week for a given date.",
310
+ )
312
311
 
313
312
  # 3. And an agent for executing the tool
314
313
  executor_agent = ConversableAgent(
@@ -99,8 +99,8 @@ llm_config = LLMConfig.from_json(path="OAI_CONFIG_LIST")
99
99
 
100
100
 
101
101
  with llm_config:
102
- assistant = AssistantAgent("assistant", llm_config=llm_config)
103
- user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding", "use_docker": False})
102
+ assistant = AssistantAgent("assistant")
103
+ user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding", "use_docker": False})
104
104
  user_proxy.initiate_chat(assistant, message="Plot a chart of NVDA and TESLA stock price change YTD.")
105
105
  # This initiates an automated chat between the two agents to solve the task
106
106
  ```
@@ -130,19 +130,18 @@ It serves as a base class for all agents in AG2.
130
130
  ```python
131
131
  from autogen import ConversableAgent
132
132
 
133
- # Create an AI agent
134
- assistant = ConversableAgent(
135
- name="assistant",
136
- system_message="You are an assistant that responds concisely.",
137
- llm_config=llm_config
138
- )
139
-
140
- # Create another AI agent
141
- fact_checker = ConversableAgent(
142
- name="fact_checker",
143
- system_message="You are a fact-checking assistant.",
144
- llm_config=llm_config
145
- )
133
+ with llm_config:
134
+ # Create an AI agent
135
+ assistant = ConversableAgent(
136
+ name="assistant",
137
+ system_message="You are an assistant that responds concisely.",
138
+ )
139
+
140
+ # Create another AI agent
141
+ fact_checker = ConversableAgent(
142
+ name="fact_checker",
143
+ system_message="You are a fact-checking assistant.",
144
+ )
146
145
 
147
146
  # Start the conversation
148
147
  assistant.initiate_chat(
@@ -166,11 +165,11 @@ We created a class which sets the `human_input_mode` to `ALWAYS` for you. Its ca
166
165
  from autogen import ConversableAgent
167
166
 
168
167
  # Create an AI agent
169
- assistant = ConversableAgent(
170
- name="assistant",
171
- system_message="You are a helpful assistant.",
172
- llm_config=llm_config
173
- )
168
+ with llm_config:
169
+ assistant = ConversableAgent(
170
+ name="assistant",
171
+ system_message="You are a helpful assistant.",
172
+ )
174
173
 
175
174
  # Create a human agent with manual input mode
176
175
  human = ConversableAgent(
@@ -236,11 +235,11 @@ def get_weekday(date_string: Annotated[str, "Format: YYYY-MM-DD"]) -> str:
236
235
  return date.strftime("%A")
237
236
 
238
237
  # 2. Agent for determining whether to run the tool
239
- date_agent = ConversableAgent(
240
- name="date_agent",
241
- system_message="You get the day of the week for a given date.",
242
- llm_config=llm_config,
243
- )
238
+ with llm_config:
239
+ date_agent = ConversableAgent(
240
+ name="date_agent",
241
+ system_message="You get the day of the week for a given date.",
242
+ )
244
243
 
245
244
  # 3. And an agent for executing the tool
246
245
  executor_agent = ConversableAgent(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ag2
3
- Version: 0.8.2
3
+ Version: 0.8.3
4
4
  Summary: Alias package for pyautogen
5
5
  Home-page: https://github.com/ag2ai/ag2
6
6
  Author: Chi Wang & Qingyun Wu
@@ -167,8 +167,8 @@ llm_config = LLMConfig.from_json(path="OAI_CONFIG_LIST")
167
167
 
168
168
 
169
169
  with llm_config:
170
- assistant = AssistantAgent("assistant", llm_config=llm_config)
171
- user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding", "use_docker": False})
170
+ assistant = AssistantAgent("assistant")
171
+ user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding", "use_docker": False})
172
172
  user_proxy.initiate_chat(assistant, message="Plot a chart of NVDA and TESLA stock price change YTD.")
173
173
  # This initiates an automated chat between the two agents to solve the task
174
174
  ```
@@ -198,19 +198,18 @@ It serves as a base class for all agents in AG2.
198
198
  ```python
199
199
  from autogen import ConversableAgent
200
200
 
201
- # Create an AI agent
202
- assistant = ConversableAgent(
203
- name="assistant",
204
- system_message="You are an assistant that responds concisely.",
205
- llm_config=llm_config
206
- )
207
-
208
- # Create another AI agent
209
- fact_checker = ConversableAgent(
210
- name="fact_checker",
211
- system_message="You are a fact-checking assistant.",
212
- llm_config=llm_config
213
- )
201
+ with llm_config:
202
+ # Create an AI agent
203
+ assistant = ConversableAgent(
204
+ name="assistant",
205
+ system_message="You are an assistant that responds concisely.",
206
+ )
207
+
208
+ # Create another AI agent
209
+ fact_checker = ConversableAgent(
210
+ name="fact_checker",
211
+ system_message="You are a fact-checking assistant.",
212
+ )
214
213
 
215
214
  # Start the conversation
216
215
  assistant.initiate_chat(
@@ -234,11 +233,11 @@ We created a class which sets the `human_input_mode` to `ALWAYS` for you. Its ca
234
233
  from autogen import ConversableAgent
235
234
 
236
235
  # Create an AI agent
237
- assistant = ConversableAgent(
238
- name="assistant",
239
- system_message="You are a helpful assistant.",
240
- llm_config=llm_config
241
- )
236
+ with llm_config:
237
+ assistant = ConversableAgent(
238
+ name="assistant",
239
+ system_message="You are a helpful assistant.",
240
+ )
242
241
 
243
242
  # Create a human agent with manual input mode
244
243
  human = ConversableAgent(
@@ -304,11 +303,11 @@ def get_weekday(date_string: Annotated[str, "Format: YYYY-MM-DD"]) -> str:
304
303
  return date.strftime("%A")
305
304
 
306
305
  # 2. Agent for determining whether to run the tool
307
- date_agent = ConversableAgent(
308
- name="date_agent",
309
- system_message="You get the day of the week for a given date.",
310
- llm_config=llm_config,
311
- )
306
+ with llm_config:
307
+ date_agent = ConversableAgent(
308
+ name="date_agent",
309
+ system_message="You get the day of the week for a given date.",
310
+ )
312
311
 
313
312
  # 3. And an agent for executing the tool
314
313
  executor_agent = ConversableAgent(
@@ -0,0 +1,154 @@
1
+ pyautogen==0.8.3
2
+
3
+ [anthropic]
4
+ pyautogen[anthropic]==0.8.3
5
+
6
+ [autobuild]
7
+ pyautogen[autobuild]==0.8.3
8
+
9
+ [bedrock]
10
+ pyautogen[bedrock]==0.8.3
11
+
12
+ [blendsearch]
13
+ pyautogen[blendsearch]==0.8.3
14
+
15
+ [browser-use]
16
+ pyautogen[browser-use]==0.8.3
17
+
18
+ [captainagent]
19
+ pyautogen[captainagent]==0.8.3
20
+
21
+ [cerebras]
22
+ pyautogen[cerebras]==0.8.3
23
+
24
+ [cohere]
25
+ pyautogen[cohere]==0.8.3
26
+
27
+ [commsagent-discord]
28
+ pyautogen[commsagent-discord]==0.8.3
29
+
30
+ [commsagent-slack]
31
+ pyautogen[commsagent-slack]==0.8.3
32
+
33
+ [commsagent-telegram]
34
+ pyautogen[commsagent-telegram]==0.8.3
35
+
36
+ [cosmosdb]
37
+ pyautogen[cosmosdb]==0.8.3
38
+
39
+ [crawl4ai]
40
+ pyautogen[crawl4ai]==0.8.3
41
+
42
+ [deepseek]
43
+ pyautogen[deepseek]==0.8.3
44
+
45
+ [dev]
46
+ pyautogen[dev]==0.8.3
47
+
48
+ [docs]
49
+ pyautogen[docs]==0.8.3
50
+
51
+ [flaml]
52
+ pyautogen[flaml]==0.8.3
53
+
54
+ [gemini]
55
+ pyautogen[gemini]==0.8.3
56
+
57
+ [gemini-realtime]
58
+ pyautogen[gemini-realtime]==0.8.3
59
+
60
+ [google-search]
61
+ pyautogen[google-search]==0.8.3
62
+
63
+ [graph]
64
+ pyautogen[graph]==0.8.3
65
+
66
+ [graph-rag-falkor-db]
67
+ pyautogen[graph-rag-falkor-db]==0.8.3
68
+
69
+ [groq]
70
+ pyautogen[groq]==0.8.3
71
+
72
+ [interop]
73
+ pyautogen[interop]==0.8.3
74
+
75
+ [interop-crewai]
76
+ pyautogen[interop-crewai]==0.8.3
77
+
78
+ [interop-langchain]
79
+ pyautogen[interop-langchain]==0.8.3
80
+
81
+ [interop-pydantic-ai]
82
+ pyautogen[interop-pydantic-ai]==0.8.3
83
+
84
+ [jupyter-executor]
85
+ pyautogen[jupyter-executor]==0.8.3
86
+
87
+ [lint]
88
+ pyautogen[lint]==0.8.3
89
+
90
+ [lmm]
91
+ pyautogen[lmm]==0.8.3
92
+
93
+ [long-context]
94
+ pyautogen[long-context]==0.8.3
95
+
96
+ [mathchat]
97
+ pyautogen[mathchat]==0.8.3
98
+
99
+ [mistral]
100
+ pyautogen[mistral]==0.8.3
101
+
102
+ [neo4j]
103
+ pyautogen[neo4j]==0.8.3
104
+
105
+ [ollama]
106
+ pyautogen[ollama]==0.8.3
107
+
108
+ [openai]
109
+ pyautogen[openai]==0.8.3
110
+
111
+ [openai-realtime]
112
+ pyautogen[openai-realtime]==0.8.3
113
+
114
+ [rag]
115
+ pyautogen[rag]==0.8.3
116
+
117
+ [redis]
118
+ pyautogen[redis]==0.8.3
119
+
120
+ [retrievechat]
121
+ pyautogen[retrievechat]==0.8.3
122
+
123
+ [retrievechat-couchbase]
124
+ pyautogen[retrievechat-couchbase]==0.8.3
125
+
126
+ [retrievechat-mongodb]
127
+ pyautogen[retrievechat-mongodb]==0.8.3
128
+
129
+ [retrievechat-pgvector]
130
+ pyautogen[retrievechat-pgvector]==0.8.3
131
+
132
+ [retrievechat-qdrant]
133
+ pyautogen[retrievechat-qdrant]==0.8.3
134
+
135
+ [teachable]
136
+ pyautogen[teachable]==0.8.3
137
+
138
+ [test]
139
+ pyautogen[test]==0.8.3
140
+
141
+ [together]
142
+ pyautogen[together]==0.8.3
143
+
144
+ [twilio]
145
+ pyautogen[twilio]==0.8.3
146
+
147
+ [types]
148
+ pyautogen[types]==0.8.3
149
+
150
+ [websockets]
151
+ pyautogen[websockets]==0.8.3
152
+
153
+ [websurfer]
154
+ pyautogen[websurfer]==0.8.3
@@ -5,6 +5,7 @@
5
5
  import json
6
6
  import tempfile
7
7
  from _collections_abc import dict_items, dict_keys, dict_values
8
+ from copy import copy, deepcopy
8
9
  from typing import Any
9
10
 
10
11
  import pytest
@@ -431,9 +432,9 @@ class TestLLMConfig:
431
432
  "api_type": "ollama",
432
433
  "model": "llama3.1:8b",
433
434
  "num_ctx": 2048,
434
- "num_predict": 128,
435
+ "num_predict": -1,
435
436
  "repeat_penalty": 1.1,
436
- "seed": 42,
437
+ "seed": 0,
437
438
  "stream": False,
438
439
  "tags": [],
439
440
  "temperature": 0.8,
@@ -468,6 +469,20 @@ class TestLLMConfig:
468
469
  ]
469
470
  ),
470
471
  ),
472
+ (
473
+ {
474
+ "model": "gpt-4o-realtime-preview",
475
+ "api_key": "sk-mockopenaiAPIkeysinexpectedformatsfortestingonly",
476
+ "voice": "alloy",
477
+ "tags": ["gpt-4o-realtime", "realtime"],
478
+ },
479
+ LLMConfig(
480
+ model="gpt-4o-realtime-preview",
481
+ api_key="sk-mockopenaiAPIkeysinexpectedformatsfortestingonly",
482
+ voice="alloy",
483
+ tags=["gpt-4o-realtime", "realtime"],
484
+ ),
485
+ ),
471
486
  ],
472
487
  )
473
488
  def test_init(self, llm_config: dict[str, Any], expected: LLMConfig) -> None:
@@ -645,6 +660,9 @@ class TestLLMConfig:
645
660
  assert agent.llm_config.temperature == 0.5
646
661
  assert agent.llm_config.config_list[0]["model"] == "gpt-4o-mini"
647
662
 
663
+ # Test passing LLMConfig object as parameter
664
+ assert LLMConfig.get_current_llm_config(openai_llm_config) == openai_llm_config
665
+
648
666
  # Test accessing current_llm_config outside the context
649
667
  assert LLMConfig.get_current_llm_config() is None
650
668
  with openai_llm_config:
@@ -742,6 +760,23 @@ class TestLLMConfig:
742
760
  LLMConfig.from_json(path="invalid_path")
743
761
  assert "No such file or directory: 'invalid_path'" in str(e.value)
744
762
 
763
+ def test_copy(self, openai_llm_config: LLMConfig) -> None:
764
+ actual = openai_llm_config.copy()
765
+ assert actual == openai_llm_config
766
+ assert actual is not openai_llm_config
767
+
768
+ actual = openai_llm_config.deepcopy()
769
+ assert actual == openai_llm_config
770
+ assert actual is not openai_llm_config
771
+
772
+ actual = copy(openai_llm_config)
773
+ assert actual == openai_llm_config
774
+ assert actual is not openai_llm_config
775
+
776
+ actual = deepcopy(openai_llm_config)
777
+ assert actual == openai_llm_config
778
+ assert actual is not openai_llm_config
779
+
745
780
  def test_current(self) -> None:
746
781
  llm_config = LLMConfig(config_list=JSON_SAMPLE_DICT)
747
782
 
@@ -1,154 +0,0 @@
1
- pyautogen==0.8.2
2
-
3
- [anthropic]
4
- pyautogen[anthropic]==0.8.2
5
-
6
- [autobuild]
7
- pyautogen[autobuild]==0.8.2
8
-
9
- [bedrock]
10
- pyautogen[bedrock]==0.8.2
11
-
12
- [blendsearch]
13
- pyautogen[blendsearch]==0.8.2
14
-
15
- [browser-use]
16
- pyautogen[browser-use]==0.8.2
17
-
18
- [captainagent]
19
- pyautogen[captainagent]==0.8.2
20
-
21
- [cerebras]
22
- pyautogen[cerebras]==0.8.2
23
-
24
- [cohere]
25
- pyautogen[cohere]==0.8.2
26
-
27
- [commsagent-discord]
28
- pyautogen[commsagent-discord]==0.8.2
29
-
30
- [commsagent-slack]
31
- pyautogen[commsagent-slack]==0.8.2
32
-
33
- [commsagent-telegram]
34
- pyautogen[commsagent-telegram]==0.8.2
35
-
36
- [cosmosdb]
37
- pyautogen[cosmosdb]==0.8.2
38
-
39
- [crawl4ai]
40
- pyautogen[crawl4ai]==0.8.2
41
-
42
- [deepseek]
43
- pyautogen[deepseek]==0.8.2
44
-
45
- [dev]
46
- pyautogen[dev]==0.8.2
47
-
48
- [docs]
49
- pyautogen[docs]==0.8.2
50
-
51
- [flaml]
52
- pyautogen[flaml]==0.8.2
53
-
54
- [gemini]
55
- pyautogen[gemini]==0.8.2
56
-
57
- [gemini-realtime]
58
- pyautogen[gemini-realtime]==0.8.2
59
-
60
- [google-search]
61
- pyautogen[google-search]==0.8.2
62
-
63
- [graph]
64
- pyautogen[graph]==0.8.2
65
-
66
- [graph-rag-falkor-db]
67
- pyautogen[graph-rag-falkor-db]==0.8.2
68
-
69
- [groq]
70
- pyautogen[groq]==0.8.2
71
-
72
- [interop]
73
- pyautogen[interop]==0.8.2
74
-
75
- [interop-crewai]
76
- pyautogen[interop-crewai]==0.8.2
77
-
78
- [interop-langchain]
79
- pyautogen[interop-langchain]==0.8.2
80
-
81
- [interop-pydantic-ai]
82
- pyautogen[interop-pydantic-ai]==0.8.2
83
-
84
- [jupyter-executor]
85
- pyautogen[jupyter-executor]==0.8.2
86
-
87
- [lint]
88
- pyautogen[lint]==0.8.2
89
-
90
- [lmm]
91
- pyautogen[lmm]==0.8.2
92
-
93
- [long-context]
94
- pyautogen[long-context]==0.8.2
95
-
96
- [mathchat]
97
- pyautogen[mathchat]==0.8.2
98
-
99
- [mistral]
100
- pyautogen[mistral]==0.8.2
101
-
102
- [neo4j]
103
- pyautogen[neo4j]==0.8.2
104
-
105
- [ollama]
106
- pyautogen[ollama]==0.8.2
107
-
108
- [openai]
109
- pyautogen[openai]==0.8.2
110
-
111
- [openai-realtime]
112
- pyautogen[openai-realtime]==0.8.2
113
-
114
- [rag]
115
- pyautogen[rag]==0.8.2
116
-
117
- [redis]
118
- pyautogen[redis]==0.8.2
119
-
120
- [retrievechat]
121
- pyautogen[retrievechat]==0.8.2
122
-
123
- [retrievechat-couchbase]
124
- pyautogen[retrievechat-couchbase]==0.8.2
125
-
126
- [retrievechat-mongodb]
127
- pyautogen[retrievechat-mongodb]==0.8.2
128
-
129
- [retrievechat-pgvector]
130
- pyautogen[retrievechat-pgvector]==0.8.2
131
-
132
- [retrievechat-qdrant]
133
- pyautogen[retrievechat-qdrant]==0.8.2
134
-
135
- [teachable]
136
- pyautogen[teachable]==0.8.2
137
-
138
- [test]
139
- pyautogen[test]==0.8.2
140
-
141
- [together]
142
- pyautogen[together]==0.8.2
143
-
144
- [twilio]
145
- pyautogen[twilio]==0.8.2
146
-
147
- [types]
148
- pyautogen[types]==0.8.2
149
-
150
- [websockets]
151
- pyautogen[websockets]==0.8.2
152
-
153
- [websurfer]
154
- pyautogen[websurfer]==0.8.2
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes