Object.DSPyBridge (object v0.1.2)

Bridge module integrating DSPy framework with AAOS objects for advanced reasoning capabilities. Enables objects to use DSPy signatures and LM Studio inference for intelligent behavior.

Summary

Functions

Returns a specification to start this module under a supervisor.

Executes a DSPy signature directly with the provided specification.

Gets performance metrics for the DSPy bridge.

Callback implementation for GenServer.init/1.

Executes reasoning using a registered DSPy signature.

Registers a new DSPy signature for an object.

Starts a DSPy bridge process for the given object.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

execute_signature(object_id, signature)

Executes a DSPy signature directly with the provided specification.

Parameters

  • object_id: ID of the object
  • signature: Signature specification to execute

Returns

{:ok, result} with structured output or {:error, reason}

get_reasoning_metrics(object_id)

Gets performance metrics for the DSPy bridge.

Parameters

  • object_id: ID of the object

Returns

Map with query count, cache hits, and average latency

handle_continue(atom, state)

Callback implementation for GenServer.handle_continue/2.

init(object_id)

Callback implementation for GenServer.init/1.

reason_with_signature(object_id, signature_name, inputs, options \\ [])

Executes reasoning using a registered DSPy signature.

Parameters

  • object_id: ID of the object
  • signature_name: Name of the signature to use
  • inputs: Input data for reasoning
  • options: Optional parameters like max_tokens, temperature

Returns

{:ok, result} with structured reasoning output or {:error, reason}

Examples

iex> Object.DSPyBridge.reason_with_signature("obj1", :message_analysis, %{content: "Hello"})
{:ok, %{intent: "greeting", confidence: 0.9}}

register_signature(object_id, signature_name, signature_spec)

Registers a new DSPy signature for an object.

Parameters

  • object_id: ID of the object
  • signature_name: Name for the signature
  • signature_spec: Specification with description, inputs, outputs, instructions

Returns

:ok on successful registration

start_link(object_id)

Starts a DSPy bridge process for the given object.

Parameters

  • object_id: ID of the object to create bridge for

Returns

{:ok, pid} on successful startup

via_registry(object_id)