A first answer. Then another instance.

Use the Python SDK to teach one answer and reuse it in a second instance.

Get access

Sign up with Clerk, then create an API key in your account, or use a key supplied by your operator. Keep it on your server. Set TOOLVING_API_URL to the native API URL shown in your account or supplied by your operator, and TOOLVING_API_KEY to your account key.

Install the SDK

Install SDK 0.12.1 from the public Toolving release. A deployment may also provide an installer:

curl -fsSL https://toolving.com/install.sh | sh

Choose a release with ConceiverClient. Older wheels on the deployment downloads page may use LearnerClient and target the earlier API.

Teach and reuse

import os
from toolving import ConceiverClient

with ConceiverClient(
    os.environ["TOOLVING_API_URL"],
    os.environ["TOOLVING_API_KEY"],
) as client:
    first = client.create(key="first-instance")
    first.teach("Where do invoices go?", "Finance / inbox", key="invoice-answer")
    second = client.create(key="second-instance")
    answer = second.query("Where do invoices go?", key="invoice-query")
    print(answer.status, answer.text)

    saved = first.save(key="save-learning")
    first.reap(key="release-first")
    restored = client.create(sequence_id=saved, key="restore-learning")
    print(restored.query("Where do invoices go?").text)

The first query returns ANSWER and the taught text. An untaught question may return UNRESOLVED with relevant evidence that your application can pass to an LLM or person. Teaching and querying accept one line of text per question or answer. Support for raw JSON syntax within Conceiver's taught language is in active development.

The saved training sequence can teach a new Conceiver the same capabilities in seconds. The explicit keys identify these operations. Reuse a key when recovering that same request; use a new key for a new observation or independent run.

Explore the SDK · Read the HTTP contract