f365d38c75
Closes #342. agentmemory functions register as mem::remember, mem::observe, mem::context, mem::smart-search, mem::forget via sdk.registerFunction. iii-sdk already ships in Python, Rust, and Node — any of them can call those functions directly over the iii WebSocket transport. A standalone Python REST client would duplicate the transport layer and fragment the cross-language story. This patch adds: - examples/python/quickstart.py — minimal save + smart-search loop. - examples/python/observe_and_recall.py — observation ingest + context rendering at a token budget. - examples/python/README.md — function map + install + usage. - README "Programmatic access (Python / Rust / Node)" section pointing at the example and the three SDK install commands. REST on :3111 is unchanged for hosts without an iii runtime.
47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
"""Minimal agentmemory usage via iii-sdk.
|
|
|
|
Prerequisites:
|
|
pip install iii-sdk
|
|
npx -y @agentmemory/agentmemory # daemon at ws://localhost:49134
|
|
|
|
Run:
|
|
python examples/python/quickstart.py
|
|
"""
|
|
|
|
from iii import register_worker
|
|
|
|
|
|
def main() -> None:
|
|
iii = register_worker("ws://localhost:49134")
|
|
iii.connect()
|
|
|
|
iii.trigger(
|
|
{
|
|
"function_id": "mem::remember",
|
|
"payload": {
|
|
"project": "demo",
|
|
"title": "auth-stack",
|
|
"content": "Service uses HMAC bearer tokens; refresh every 24h.",
|
|
"concepts": ["auth", "hmac", "refresh"],
|
|
},
|
|
}
|
|
)
|
|
|
|
hits = iii.trigger(
|
|
{
|
|
"function_id": "mem::smart-search",
|
|
"payload": {
|
|
"project": "demo",
|
|
"query": "how do tokens refresh",
|
|
"limit": 5,
|
|
},
|
|
}
|
|
)
|
|
|
|
for memory in hits.get("results", []):
|
|
print(f"[{memory.get('score', 0):.3f}] {memory.get('title')}: {memory.get('content')}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|