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.1.tar.gz (20.8 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.1-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lyboai-0.3.1.tar.gz
  • Upload date:
  • Size: 20.8 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.1.tar.gz
Algorithm Hash digest
SHA256 cc8e4301950a3a0d56a3e9b25ecac8a5b7ad571195b16baac0cbca75a4a615c6
MD5 1b771fb64c962b76789e305fe7f692d4
BLAKE2b-256 2f97f57a87374a6cb6ce70122887265878c690ac994cbd1901cabd836b00b0c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lyboai-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 18.8 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6134258900362c37c906a343d87447aac4cab3903fe0c69986478050505ee572
MD5 e2f403cf84e5524b18aaac87948e28ee
BLAKE2b-256 f72462c66c0bd652b54cdb89f1b4294498329d81401716676aa00641515d09d8

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