Skip to main content

LyboAI Mobile Edge Runtime — Python SDK for on-device AI agent creation, evaluation, and training workflows

Project description

lyboai (Python SDK)

Python is the builder's language for the LyboAI ecosystem: create agents, package and sign capability packs, run evaluations, tune routing, and export training datasets. Agents execute in the Rust runtime — locally via the lybo binary (this SDK drives it over the JSON-lines protocol, identical to the on-device C ABI) and on phones via the mobile bindings.

pip install -e sdk/python        # from the repo, or publish to your index
cargo build -p lybo-cli           # the runtime the SDK drives

Create an agent

from lyboai import Client

with Client(data_dir="/tmp/agent", binary="./target/debug/lybo") as lybo:
    lybo.install_knowledge(doc_id="handbook", title="Team Handbook",
                           body="Support tickets are answered within 24 hours.")
    lybo.register_skill(skill_id="app.ask", name="Ask the handbook",
                        triggers=["what does the handbook say"],
                        keywords=["handbook"], pattern="retrieval")

    session = lybo.start_session()
    out = lybo.run_to_completion(session, "what does the handbook say about tickets")
    print(out["output"]["text"], out["output"]["sources"])

Train routing from labelled examples

from lyboai import train_triggers

learned = train_triggers({
    "faq.ask":  ["what does the guide say about refunds", "search the faq"],
    "task.plan": ["plan my week", "break this goal into steps"],
})
# → per-skill {"triggers": [...], "keywords": [...]} via class-discriminative
#   tf-idf; feeds both the keyword tier and the on-device semantic centroids.

Build, sign, evaluate, ship a pack

from lyboai import PackBuilder, sign_pack, evaluate

src = (PackBuilder("acme.faq", "FAQ", "1.0.0", publisher="acme")
       .add_knowledge("faq", "Store FAQ", "Refunds take five business days.")
       .add_skill("faq.ask", "Ask FAQ", pattern="retrieval",
                  triggers=learned["faq.ask"]["triggers"],
                  keywords=learned["faq.ask"]["keywords"],
                  knowledge_scopes=["acme.faq"])
       .add_eval_case("faq.suite", "routes", "what does the guide say about refunds",
                      expect_skill="faq.ask", expect_contains=["refund"])
       .save("pack.json"))
sign_pack("pack.json", SECRET_KEY_HEX, "dist/acme-faq.lybopack")

with Client(data_dir="/tmp/qa", trust=[f"acme:{PUBLIC_KEY_HEX}"]) as lybo:
    lybo.install_pack_file("dist/acme-faq.lybopack")
    report = evaluate(lybo, suite)          # routing + outcome + content checks
    assert report.ok, report.summary()      # gate your CI on this

Delegate to a cloud agent (agent-to-agent)

The local (device) agent can hand intensive work to a cloud LyboAI runtime — the agent.delegate tool / delegate workflow step, with PII redaction at the egress boundary and graceful local fallback (docs/cloud-delegation.md):

from lyboai import Client, HttpClient

# Provision / drive the cloud agent directly (lybo serve --http):
cloud = HttpClient("https://agent.example.com", token="SECRET")
print(cloud.healthz())

# A local agent that may delegate to it:
with Client(data_dir="/tmp/dev",
            remote_agents={"cloud.orchestrator": "https://agent.example.com"},
            remote_agent_token="SECRET") as lybo:
    lybo.register_workflow({...})   # workflow with a {"kind": "delegate"} step
    out = lybo.run_to_completion(lybo.start_session(), "run the deep analysis")

Export training data (privacy-preserving)

from lyboai import export_routing_dataset
export_routing_dataset(lybo, "routing.jsonl")
# skill ids, confidence, outcomes, latency, model ids — never raw user content.

Run the SDK's own tests: LYBO_BIN=./target/debug/lybo python3 -m unittest discover sdk/python/tests

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lyboai-0.3.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lyboai-0.3.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file lyboai-0.3.0.tar.gz.

File metadata

  • Download URL: lyboai-0.3.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for lyboai-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f50889a7c4141a72eb4e3aecad819f4f19b7550c116c3d3c339577373010ee7d
MD5 1e4276faf8550e37c4eee468cd88d50f
BLAKE2b-256 b8d490a3a9ac04fc5574c911fb8f4cc3d9174966149d324cf44e433a44e748f3

See more details on using hashes here.

File details

Details for the file lyboai-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: lyboai-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for lyboai-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0a7c27e2592cae63d2b966ebe334b34aaea53b513e3fc4b34eac11fce8784a59
MD5 e0ba65a8fa4f50f4f8de6acf9e26b532
BLAKE2b-256 a5899d670bbc4c1f918bbb2cc87c356157dbdc2f836cf2a9f7e644526c9db185

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page