Documentation
¶
Index ¶
- Constants
- Variables
- type Client
- func (_c Client) Demo(ctx context.Context, method string, relativeURL string, body any) (res *http.Response, err error)
- func (_c Client) ForHost(host string) Client
- func (_c Client) Turn(ctx context.Context, messages []llmapi.Message, tools []llmapi.Tool) (completion *llmapi.TurnCompletion, err error)
- func (_c Client) WithOptions(opts ...pub.Option) Client
- type Def
- type Executor
- func (_c Executor) ForHost(host string) 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) Demo(ctx context.Context, method string, relativeURL string, body any) iter.Seq[*pub.Response]
- func (_c MulticastClient) ForHost(host string) MulticastClient
- func (_c MulticastClient) Turn(ctx context.Context, messages []llmapi.Message, tools []llmapi.Tool) iter.Seq[*TurnResponse]
- func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
- type MulticastTrigger
- type TurnIn
- type TurnOut
- type TurnResponse
- type WorkflowRunner
Constants ¶
const Hostname = "chatbox.example"
Hostname is the default hostname of the microservice.
Variables ¶
var ( // HINT: Insert endpoint definitions here Turn = Def{Method: "POST", Route: ":444/turn"} // MARKER: Turn Demo = Def{Method: "ANY", Route: "//chatbox.example/demo"} // MARKER: Demo )
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) Demo ¶
func (_c Client) Demo(ctx context.Context, method string, relativeURL string, body any) (res *http.Response, err error)
Demo serves the interactive demo page for the chatbox.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body is of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON.
func (Client) ForHost ¶
ForHost returns a copy of the client with a different hostname to be applied to requests.
func (Client) Turn ¶
func (_c Client) Turn(ctx context.Context, messages []llmapi.Message, tools []llmapi.Tool) (completion *llmapi.TurnCompletion, err error)
Turn executes a single LLM turn using the chatbox demo provider. It pattern-matches math questions and generates tool calls to the calculator.
type Executor ¶ added in v1.27.0
type Executor struct {
// contains filtered or unexported fields
}
Executor runs tasks and workflows synchronously, blocking until termination.
func NewExecutor ¶ added in v1.27.0
NewExecutor creates a new executor proxy to the microservice.
func (Executor) ForHost ¶ added in v1.27.0
ForHost returns a copy of the executor with a different hostname to be applied to requests.
func (Executor) WithInputFlow ¶ added in v1.27.0
WithInputFlow returns a copy of the executor with an input flow to use for task execution.
func (Executor) WithOptions ¶ added in v1.27.0
WithOptions returns a copy of the executor with options to be applied to requests.
func (Executor) WithOutputFlow ¶ added in v1.27.0
WithOutputFlow returns a copy of the executor with an output flow to populate after task execution.
func (Executor) WithWorkflowRunner ¶ added in v1.27.0
func (_c Executor) WithWorkflowRunner(runner WorkflowRunner) Executor
WithWorkflowRunner returns a copy of the executor with a workflow runner for executing workflows.
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) Demo ¶ added in v1.27.0
func (_c MulticastClient) Demo(ctx context.Context, method string, relativeURL string, body any) iter.Seq[*pub.Response]
Demo serves the interactive demo page for the chatbox.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body is of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON.
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) Turn ¶
func (_c MulticastClient) Turn(ctx context.Context, messages []llmapi.Message, tools []llmapi.Tool) iter.Seq[*TurnResponse]
Turn executes a single LLM turn using the chatbox demo provider. It pattern-matches math questions and generates tool calls to the calculator.
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 ¶ added in v1.27.0
type MulticastTrigger struct {
// contains filtered or unexported fields
}
MulticastTrigger is a lightweight proxy for triggering the events of the microservice.
func NewMulticastTrigger ¶ added in v1.27.0
func NewMulticastTrigger(caller service.Publisher) MulticastTrigger
NewMulticastTrigger creates a new multicast trigger of events of the microservice.
func (MulticastTrigger) ForHost ¶ added in v1.27.0
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 ¶ added in v1.27.0
func (_c MulticastTrigger) WithOptions(opts ...pub.Option) MulticastTrigger
WithOptions returns a copy of the trigger with options to be applied to requests.
type TurnIn ¶
type TurnIn struct {
Messages []llmapi.Message `json:"messages,omitzero"`
Tools []llmapi.Tool `json:"tools,omitzero"`
}
TurnIn are the input arguments of Turn.
type TurnOut ¶
type TurnOut struct {
Completion *llmapi.TurnCompletion `json:"completion,omitzero"`
}
TurnOut are the output arguments of Turn.
type TurnResponse ¶
type TurnResponse multicastResponse // MARKER: Turn
TurnResponse packs the response of Turn.
func (*TurnResponse) Get ¶
func (_res *TurnResponse) Get() (completion *llmapi.TurnCompletion, err error)
Get unpacks the return arguments of Turn.