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.2.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.2.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lyboai-0.2.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.2.0.tar.gz
Algorithm Hash digest
SHA256 0ce25ad8210a4d37a83dad6020b5c746a182b478c8880ef8aba54937baaea0d1
MD5 0dac068c291fcf049640af1370474c3d
BLAKE2b-256 0f8c80792e9a3970883e3ee6ce9e5950cf5198ca124a841be43bef73bd54ad3b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lyboai-0.2.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8298d2e19d21fb6dd082cba0535ec09834338899c004a111e915fe287befb6d4
MD5 4a89073f18798184f75dd384bf143024
BLAKE2b-256 a0f73bb06b967dce5e8cc5733be82f23eecf261cb4f38437844aa7b416cc945a

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