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.ToolDef) (completion *llmapi.TurnCompletion, err error)
- func (_c Client) WithOptions(opts ...pub.Option) Client
- type Def
- type Hook
- type MulticastClient
- type TurnIn
- type TurnOut
- type TurnResponse
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 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.
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) 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.ToolDef) iter.Seq[*TurnResponse]
Turn executes a single LLM turn using the chatbox demo provider.
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 TurnIn ¶
type TurnIn struct {
Messages []llmapi.Message `json:"messages,omitzero"`
Tools []llmapi.ToolDef `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.