Dspy.Signature (dspy v0.1.0)

View Source

Define typed input/output interfaces for language model calls.

Signatures specify the expected inputs and outputs for DSPy modules, including field types, descriptions, and validation rules.

Summary

Functions

Create a new signature.

Parse outputs according to the signature.

Generate a prompt template from the signature.

Validate inputs against the signature.

Types

field()

@type field() :: %{
  name: atom(),
  type: atom(),
  description: String.t(),
  required: boolean(),
  default: any()
}

t()

@type t() :: %Dspy.Signature{
  description: String.t() | nil,
  input_fields: [field()],
  instructions: String.t() | nil,
  name: String.t(),
  output_fields: [field()]
}

Functions

new(name, opts \\ [])

Create a new signature.

parse_outputs(signature, text)

Parse outputs according to the signature.

to_prompt(signature, examples \\ [])

Generate a prompt template from the signature.

validate_inputs(signature, inputs)

Validate inputs against the signature.