Documentation
¶
Index ¶
- Constants
- Variables
- type Client
- type Def
- type EmbedIn
- type EmbedOut
- type EmbedResponse
- type Executor
- func (_c Executor) ForHost(host string) Executor
- func (_c Executor) WithFlowOptions(flowOptions *workflow.FlowOptions) Executor
- func (_c Executor) WithInputFlow(flow *workflow.Flow) Executor
- func (_c Executor) WithOptions(opts ...pub.Option) Executor
- func (_c Executor) WithOutputFlow(flow *workflow.Flow) Executor
- func (_c Executor) WithWorkflowRunner(runner WorkflowRunner) Executor
- type Hook
- type MulticastClient
- func (_c MulticastClient) Embed(ctx context.Context, text string) iter.Seq[*EmbedResponse]
- func (_c MulticastClient) ForHost(host string) MulticastClient
- func (_c MulticastClient) Similarity(ctx context.Context, a string, b string) iter.Seq[*SimilarityResponse]
- func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
- type MulticastTrigger
- type SimilarityIn
- type SimilarityOut
- type SimilarityResponse
- type WorkflowRunner
Constants ¶
const Hostname = "embedder.example"
Hostname is the default hostname of the microservice.
Variables ¶
var ( // HINT: Insert endpoint definitions here Embed = Def{Method: "GET", Route: ":443/embed"} // MARKER: Embed Similarity = Def{Method: "GET", Route: ":443/similarity"} // MARKER: Similarity Demo = Def{Method: "ANY", Route: ":443/demo"} // MARKER: Demo DemoInit = Def{Method: "POST", Route: ":443/demo/init"} // MARKER: DemoInit DemoStatus = Def{Method: "GET", Route: ":443/demo/status"} // MARKER: DemoStatus )
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a lightweight proxy for making unicast calls to the microservice.
func (Client) ForHost ¶
ForHost returns a copy of the client with a different hostname to be applied to requests.
func (Client) Similarity ¶
Similarity returns the cosine similarity between the embeddings of strings a and b.
type EmbedIn ¶
type EmbedIn struct {
Text string `json:"text,omitzero" jsonschema:"description=Text is the input string to embed"`
}
EmbedIn are the input arguments of Embed.
type EmbedOut ¶
type EmbedOut struct {
Vector []float64 `json:"vector,omitzero" jsonschema:"description=Vector is the embedding produced by the model"`
}
EmbedOut are the output arguments of Embed.
type EmbedResponse ¶
type EmbedResponse multicastResponse // MARKER: Embed
EmbedResponse packs the response of Embed.
func (*EmbedResponse) Get ¶
func (_res *EmbedResponse) Get() (vector []float64, err error)
Get unpacks the return arguments of Embed.
type Executor ¶
type Executor struct {
// contains filtered or unexported fields
}
Executor runs tasks and workflows synchronously, blocking until termination. It is primarily intended for integration tests. Production code should use the foreman Client to create and start flows asynchronously.
func NewExecutor ¶
NewExecutor creates a new executor proxy to the microservice.
func (Executor) ForHost ¶
ForHost returns a copy of the executor with a different hostname to be applied to requests.
func (Executor) WithFlowOptions ¶ added in v1.35.0
func (_c Executor) WithFlowOptions(flowOptions *workflow.FlowOptions) Executor
WithFlowOptions returns a copy of the executor that creates workflows with the given flow options (priority, fairness key and weight). It has no effect on task execution.
func (Executor) WithInputFlow ¶
WithInputFlow returns a copy of the executor with an input flow to use for task execution. The input flow's state is available to the task in addition to the typed input arguments.
func (Executor) WithOptions ¶
WithOptions returns a copy of the executor with options to be applied to requests.
func (Executor) WithOutputFlow ¶
WithOutputFlow returns a copy of the executor with an output flow to populate after task execution. The output flow captures the full flow state including control signals (Goto, Retry, Interrupt, Sleep).
func (Executor) WithWorkflowRunner ¶ added in v1.35.0
func (_c Executor) WithWorkflowRunner(runner WorkflowRunner) Executor
WithWorkflowRunner returns a copy of the executor with a workflow runner for executing workflows. foremanapi.NewClient(svc) satisfies the WorkflowRunner interface.
type Hook ¶
type Hook struct {
// contains filtered or unexported fields
}
Hook assists in the subscription to the events of the microservice.
func NewHook ¶
func NewHook(listener service.Subscriber) Hook
NewHook creates a new hook to the events of the microservice.
type MulticastClient ¶
type MulticastClient struct {
// contains filtered or unexported fields
}
MulticastClient is a lightweight proxy for making multicast calls to the microservice.
func NewMulticastClient ¶
func NewMulticastClient(caller service.Publisher) MulticastClient
NewMulticastClient creates a new multicast client proxy to the microservice.
func (MulticastClient) Embed ¶
func (_c MulticastClient) Embed(ctx context.Context, text string) iter.Seq[*EmbedResponse]
Embed returns the sentence-embedding vector for the input text.
func (MulticastClient) ForHost ¶
func (_c MulticastClient) ForHost(host string) MulticastClient
ForHost returns a copy of the client with a different hostname to be applied to requests.
func (MulticastClient) Similarity ¶
func (_c MulticastClient) Similarity(ctx context.Context, a string, b string) iter.Seq[*SimilarityResponse]
Similarity returns the cosine similarity between the embeddings of strings a and b.
func (MulticastClient) WithOptions ¶
func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
WithOptions returns a copy of the client with options to be applied to requests.
type MulticastTrigger ¶
type MulticastTrigger struct {
// contains filtered or unexported fields
}
MulticastTrigger is a lightweight proxy for triggering the events of the microservice.
func NewMulticastTrigger ¶
func NewMulticastTrigger(caller service.Publisher) MulticastTrigger
NewMulticastTrigger creates a new multicast trigger of events of the microservice.
func (MulticastTrigger) ForHost ¶
func (_c MulticastTrigger) ForHost(host string) MulticastTrigger
ForHost returns a copy of the trigger with a different hostname to be applied to requests.
func (MulticastTrigger) WithOptions ¶
func (_c MulticastTrigger) WithOptions(opts ...pub.Option) MulticastTrigger
WithOptions returns a copy of the trigger with options to be applied to requests.
type SimilarityIn ¶
type SimilarityIn struct {
A string `json:"a,omitzero" jsonschema:"description=A is the first input string"`
B string `json:"b,omitzero" jsonschema:"description=B is the second input string"`
}
SimilarityIn are the input arguments of Similarity.
type SimilarityOut ¶
type SimilarityOut struct {
Score float64 `json:"score,omitzero" jsonschema:"description=Score is the cosine similarity in [-1.0, 1.0]"`
}
SimilarityOut are the output arguments of Similarity.
type SimilarityResponse ¶
type SimilarityResponse multicastResponse // MARKER: Similarity
SimilarityResponse packs the response of Similarity.
func (*SimilarityResponse) Get ¶
func (_res *SimilarityResponse) Get() (score float64, err error)
Get unpacks the return arguments of Similarity.
type WorkflowRunner ¶ added in v1.35.0
type WorkflowRunner interface {
Run(ctx context.Context, workflowName string, initialState any, opts *workflow.FlowOptions) (outcome *workflow.FlowOutcome, err error)
}
WorkflowRunner executes a workflow by name with initial state, blocking until termination. foremanapi.Client satisfies this interface.