1212from autogen_text_2_sql .custom_agents .parallel_query_solving_agent import (
1313 ParallelQuerySolvingAgent ,
1414)
15- from autogen_agentchat .agents import UserProxyAgent
1615from autogen_agentchat .messages import TextMessage
1716import json
1817import os
1918from datetime import datetime
2019
21- from text_2_sql_core .payloads .agent_response import (
22- AgentResponse ,
20+ from text_2_sql_core .payloads .agent_request_response_pair import (
21+ AgentRequestResponsePair ,
2322 AgentRequestBody ,
2423 AnswerWithSources ,
2524 Source ,
3029 ProcessingUpdateBody ,
3130 ProcessingUpdate ,
3231)
33- from autogen_agentchat .base import Response , TaskResult
32+ from autogen_agentchat .base import TaskResult
3433from typing import AsyncGenerator
3534
3635
37- class EmptyResponseUserProxyAgent (UserProxyAgent ):
38- """UserProxyAgent that automatically responds with empty messages."""
39-
40- def __init__ (self , name ):
41- super ().__init__ (name = name )
42- self ._has_responded = False
43-
44- async def on_messages_stream (self , messages , sender = None , config = None ):
45- """Auto-respond with empty message and return Response object."""
46- message = TextMessage (content = "" , source = self .name )
47- if not self ._has_responded :
48- self ._has_responded = True
49- yield message
50- yield Response (chat_message = message )
51-
52-
5336class AutoGenText2Sql :
5437 def __init__ (self , engine_specific_rules : str , ** kwargs : dict ):
5538 self .target_engine = os .environ ["Text2Sql__DatabaseEngine" ].upper ()
@@ -71,11 +54,7 @@ def get_all_agents(self):
7154
7255 self .answer_agent = LLMAgentCreator .create ("answer_agent" )
7356
74- # Auto-responding UserProxyAgent
75- self .user_proxy = EmptyResponseUserProxyAgent (name = "user_proxy" )
76-
7757 agents = [
78- self .user_proxy ,
7958 self .query_rewrite_agent ,
8059 self .parallel_query_solving_agent ,
8160 self .answer_agent ,
@@ -182,7 +161,7 @@ async def process_question(
182161 self ,
183162 request : AgentRequestBody ,
184163 chat_history : list [ChatHistoryItem ] = None ,
185- ) -> AsyncGenerator [AgentResponse | ProcessingUpdate , None ]:
164+ ) -> AsyncGenerator [AgentRequestResponsePair | ProcessingUpdate , None ]:
186165 """Process the complete question through the unified system.
187166
188167 Args:
@@ -208,7 +187,10 @@ async def process_question(
208187 # Update input
209188 for idx , chat in enumerate (chat_history ):
210189 # For now only consider the user query
211- agent_input [f"chat_{ idx } " ] = chat .request .question
190+ chat_history_key = f"chat_{ idx } "
191+ agent_input [
192+ chat_history_key
193+ ] = chat .request_response_pair .request .question
212194
213195 async for message in self .agentic_flow .run_stream (task = json .dumps (agent_input )):
214196 logging .debug ("Message: %s" , message )
@@ -250,7 +232,7 @@ async def process_question(
250232 logging .error ("Unexpected TaskResult: %s" , message )
251233 raise ValueError ("Unexpected TaskResult" )
252234
253- payload = AgentResponse (request = request , response = response )
235+ payload = AgentRequestResponsePair (request = request , response = response )
254236
255237 if payload is not None :
256238 logging .debug ("Payload: %s" , payload )
0 commit comments