mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-25 00:16:23 +02:00
Fix/agent groups broken (#504)
* Fix non-backward-compatible agent changes * Fix broken agents
This commit is contained in:
parent
f22bf13aa6
commit
5867f45c3a
3 changed files with 31 additions and 11 deletions
|
|
@ -132,16 +132,24 @@ class FlowInstance:
|
|||
input
|
||||
)["response"]
|
||||
|
||||
def agent(self, question, user="trustgraph", state="", group=None, history=None):
|
||||
def agent(self, question, user="trustgraph", state=None, group=None, history=None):
|
||||
|
||||
# The input consists of a question and optional context
|
||||
input = {
|
||||
"question": question,
|
||||
"user": user,
|
||||
"state": state,
|
||||
"group": group or [],
|
||||
"history": history or []
|
||||
}
|
||||
|
||||
# Only include state if it has a value
|
||||
if state is not None:
|
||||
input["state"] = state
|
||||
|
||||
# Only include group if it has a value
|
||||
if group is not None:
|
||||
input["group"] = group
|
||||
|
||||
# Always include history (empty list if None)
|
||||
input["history"] = history or []
|
||||
|
||||
return self.request(
|
||||
"service/agent",
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ class AgentRequestTranslator(MessageTranslator):
|
|||
def to_pulsar(self, data: Dict[str, Any]) -> AgentRequest:
|
||||
return AgentRequest(
|
||||
question=data["question"],
|
||||
state=data.get("state", ""),
|
||||
group=data.get("group", []),
|
||||
state=data.get("state", None),
|
||||
group=data.get("group", None),
|
||||
history=data.get("history", []),
|
||||
user=data.get("user", "trustgraph")
|
||||
)
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ def output(text, prefix="> ", width=78):
|
|||
|
||||
async def question(
|
||||
url, question, flow_id, user, collection,
|
||||
plan=None, state=None, verbose=False
|
||||
plan=None, state=None, group=None, verbose=False
|
||||
):
|
||||
|
||||
if not url.endswith("/"):
|
||||
|
|
@ -55,19 +55,24 @@ async def question(
|
|||
|
||||
async with connect(url) as ws:
|
||||
|
||||
req = json.dumps({
|
||||
req = {
|
||||
"id": mid,
|
||||
"service": "agent",
|
||||
"flow": flow_id,
|
||||
"request": {
|
||||
"question": question,
|
||||
"user": user,
|
||||
"state": state or "",
|
||||
"group": [],
|
||||
"history": []
|
||||
}
|
||||
}
|
||||
|
||||
# Only add optional fields if they have values
|
||||
if state is not None:
|
||||
req["request"]["state"] = state
|
||||
if group is not None:
|
||||
req["request"]["group"] = group
|
||||
|
||||
})
|
||||
req = json.dumps(req)
|
||||
|
||||
await ws.send(req)
|
||||
|
||||
|
|
@ -144,6 +149,12 @@ def main():
|
|||
help=f'Agent initial state (default: unspecified)'
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
'-g', '--group',
|
||||
nargs='+',
|
||||
help='Agent tool groups (can specify multiple)'
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
'-v', '--verbose',
|
||||
action="store_true",
|
||||
|
|
@ -163,6 +174,7 @@ def main():
|
|||
collection = args.collection,
|
||||
plan = args.plan,
|
||||
state = args.state,
|
||||
group = args.group,
|
||||
verbose = args.verbose,
|
||||
)
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue