Feature/agent manager (#146)

* Agent schema
* Agent working through client
* Add agent-manager-react command line
* test-agent test script
* Add tg-invoke-agent CLI
This commit is contained in:
cybermaggedon 2024-11-10 11:44:01 +00:00 committed by GitHub
parent 5140f8834d
commit 36cdeab588
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 968 additions and 3 deletions

44
tests/test-agent Executable file
View file

@ -0,0 +1,44 @@
#!/usr/bin/env python3
import json
import textwrap
from trustgraph.clients.agent_client import AgentClient
def wrap(text, width=75):
if text is None: text = "n/a"
out = textwrap.wrap(
text, width=width
)
return "\n".join(out)
def output(text, prefix="> ", width=78):
out = textwrap.indent(
text, prefix=prefix
)
print(out)
p = AgentClient(pulsar_host="pulsar://localhost:6650")
q = "How many cats does Mark have? Calculate that number raised to 0.4 power. Is that number lower than the numeric part of the mission identifier of the Space Shuttle Challenger on its last mission? If so, give me an apple pie recipe, otherwise return a poem about cheese."
output(wrap(q), "\U00002753 ")
print()
def think(x):
output(wrap(x), "\U0001f914 ")
print()
def observe(x):
output(wrap(x), "\U0001f4a1 ")
print()
resp = p.request(
question=q, think=think, observe=observe,
)
output(resp, "\U0001f4ac ")
print()