callbacks

package
v0.10.58 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var TimeNowFn = time.Now

Functions

This section is empty.

Types

type Fanout

type Fanout struct {
	// contains filtered or unexported fields
}

Fanout is a callback handler that forwards the events to multiple callbacks.

func NewFanout

func NewFanout(callbacks ...assistants.Callback) *Fanout

func (*Fanout) Add

func (l *Fanout) Add(callback assistants.Callback)

func (*Fanout) OnAssistantEnd

func (l *Fanout) OnAssistantEnd(ctx context.Context, assistant assistants.IAssistant, input string, resp *llms.ContentResponse)

func (*Fanout) OnAssistantError

func (l *Fanout) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error)

func (*Fanout) OnAssistantLLMCall

func (l *Fanout) OnAssistantLLMCall(ctx context.Context, agent assistants.IAssistant, payload []llms.MessageContent)

func (*Fanout) OnAssistantLLMParseError

func (l *Fanout) OnAssistantLLMParseError(ctx context.Context, a assistants.IAssistant, input string, response string, err error)

func (*Fanout) OnAssistantStart

func (l *Fanout) OnAssistantStart(ctx context.Context, assistant assistants.IAssistant, input string)

func (*Fanout) OnToolEnd

func (l *Fanout) OnToolEnd(ctx context.Context, tool tools.ITool, input string, output string)

func (*Fanout) OnToolError

func (l *Fanout) OnToolError(ctx context.Context, tool tools.ITool, input string, err error)

func (*Fanout) OnToolNotFound

func (l *Fanout) OnToolNotFound(ctx context.Context, agent assistants.IAssistant, tool string)

func (*Fanout) OnToolStart

func (l *Fanout) OnToolStart(ctx context.Context, tool tools.ITool, input string)

type Mode

type Mode int

Mode defines the mode for callback printing

const (
	// ModeDefault is the default mode for callback printing
	ModeDefault Mode = iota
	// ModeVerbose is the verbose mode for callback printing
	ModeVerbose
)

type Noop

type Noop struct{}

Noop does nothing.

func NewNoop

func NewNoop() *Noop

func (*Noop) OnAssistantEnd

func (l *Noop) OnAssistantEnd(ctx context.Context, assistant assistants.IAssistant, input string, resp *llms.ContentResponse)

func (*Noop) OnAssistantError

func (l *Noop) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error)

func (*Noop) OnAssistantLLMCall

func (l *Noop) OnAssistantLLMCall(ctx context.Context, agent assistants.IAssistant, payload []llms.MessageContent)

func (*Noop) OnAssistantLLMParseError

func (l *Noop) OnAssistantLLMParseError(ctx context.Context, a assistants.IAssistant, input string, response string, err error)

func (*Noop) OnAssistantStart

func (l *Noop) OnAssistantStart(ctx context.Context, assistant assistants.IAssistant, input string)

func (*Noop) OnToolEnd

func (l *Noop) OnToolEnd(ctx context.Context, tool tools.ITool, input string, output string)

func (*Noop) OnToolError

func (l *Noop) OnToolError(ctx context.Context, tool tools.ITool, input string, err error)

func (*Noop) OnToolNotFound

func (l *Noop) OnToolNotFound(ctx context.Context, agent assistants.IAssistant, tool string)

func (*Noop) OnToolStart

func (l *Noop) OnToolStart(ctx context.Context, tool tools.ITool, input string)

type PackageLogger

type PackageLogger struct {
	// contains filtered or unexported fields
}

PackageLogger is a callback handler that prints to the logger.

func NewPackageLogger

func NewPackageLogger(logger *xlog.PackageLogger) *PackageLogger

func (*PackageLogger) OnAssistantEnd

func (l *PackageLogger) OnAssistantEnd(ctx context.Context, assistant assistants.IAssistant, input string, resp *llms.ContentResponse)

func (*PackageLogger) OnAssistantError

func (l *PackageLogger) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error)

func (*PackageLogger) OnAssistantLLMCall

func (l *PackageLogger) OnAssistantLLMCall(ctx context.Context, agent assistants.IAssistant, payload []llms.MessageContent)

func (*PackageLogger) OnAssistantLLMParseError

func (l *PackageLogger) OnAssistantLLMParseError(ctx context.Context, assistant assistants.IAssistant, input string, response string, err error)

func (*PackageLogger) OnAssistantStart

func (l *PackageLogger) OnAssistantStart(ctx context.Context, assistant assistants.IAssistant, input string)

func (*PackageLogger) OnToolEnd

func (l *PackageLogger) OnToolEnd(ctx context.Context, tool tools.ITool, input string, output string)

func (*PackageLogger) OnToolError

func (l *PackageLogger) OnToolError(ctx context.Context, tool tools.ITool, input string, err error)

func (*PackageLogger) OnToolNotFound

func (l *PackageLogger) OnToolNotFound(ctx context.Context, agent assistants.IAssistant, tool string)

func (*PackageLogger) OnToolStart

func (l *PackageLogger) OnToolStart(ctx context.Context, tool tools.ITool, input string)

type Printer

type Printer struct {
	Out  io.Writer
	Mode Mode
	// contains filtered or unexported fields
}

Printer is a callback handler that prints to the Writer.

func NewPrinter

func NewPrinter(out io.Writer, mode Mode) *Printer

func (*Printer) OnAssistantEnd

func (l *Printer) OnAssistantEnd(ctx context.Context, assistant assistants.IAssistant, input string, resp *llms.ContentResponse)

func (*Printer) OnAssistantError

func (l *Printer) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error)

func (*Printer) OnAssistantLLMCall

func (l *Printer) OnAssistantLLMCall(ctx context.Context, agent assistants.IAssistant, payload []llms.MessageContent)

func (*Printer) OnAssistantLLMParseError

func (l *Printer) OnAssistantLLMParseError(ctx context.Context, assistant assistants.IAssistant, input string, response string, err error)

func (*Printer) OnAssistantStart

func (l *Printer) OnAssistantStart(ctx context.Context, assistant assistants.IAssistant, input string)

func (*Printer) OnToolEnd

func (l *Printer) OnToolEnd(ctx context.Context, tool tools.ITool, input string, output string)

func (*Printer) OnToolError

func (l *Printer) OnToolError(ctx context.Context, tool tools.ITool, input string, err error)

func (*Printer) OnToolNotFound

func (l *Printer) OnToolNotFound(ctx context.Context, agent assistants.IAssistant, tool string)

func (*Printer) OnToolStart

func (l *Printer) OnToolStart(ctx context.Context, tool tools.ITool, input string)

type RunStats

type RunStats struct {
	ChatID string
	RunID  string

	Duration                time.Duration
	TotalMessages           uint32
	LLMBytesOut             uint64
	LLMBytesIn              uint64
	AssistantCalls          uint32
	AssistantCallsSucceeded uint32
	AssistantCallsFailed    uint32
	AssistantLLMCalls       uint32
	ToolsCalls              uint32
	ToolsCallsSucceeded     uint32
	ToolsCallsFailed        uint32
	ToolNotFound            uint32
}

type Scratchpad

type Scratchpad struct {
	// contains filtered or unexported fields
}

ScratchpadCallback is a callback handler that prints to the Writer.

func NewScratchpad

func NewScratchpad(mode Mode) *Scratchpad

func (*Scratchpad) EndRun

func (l *Scratchpad) EndRun(ctx context.Context) (*RunStats, []byte)

func (*Scratchpad) OnAssistantEnd

func (l *Scratchpad) OnAssistantEnd(ctx context.Context, assistant assistants.IAssistant, input string, resp *llms.ContentResponse)

func (*Scratchpad) OnAssistantError

func (l *Scratchpad) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error)

func (*Scratchpad) OnAssistantLLMCall

func (l *Scratchpad) OnAssistantLLMCall(ctx context.Context, agent assistants.IAssistant, payload []llms.MessageContent)

func (*Scratchpad) OnAssistantLLMParseError

func (l *Scratchpad) OnAssistantLLMParseError(ctx context.Context, assistant assistants.IAssistant, input string, response string, err error)

func (*Scratchpad) OnAssistantStart

func (l *Scratchpad) OnAssistantStart(ctx context.Context, assistant assistants.IAssistant, input string)

func (*Scratchpad) OnToolEnd

func (l *Scratchpad) OnToolEnd(ctx context.Context, tool tools.ITool, input string, output string)

func (*Scratchpad) OnToolError

func (l *Scratchpad) OnToolError(ctx context.Context, tool tools.ITool, input string, err error)

func (*Scratchpad) OnToolNotFound

func (l *Scratchpad) OnToolNotFound(ctx context.Context, agent assistants.IAssistant, tool string)

func (*Scratchpad) OnToolStart

func (l *Scratchpad) OnToolStart(ctx context.Context, tool tools.ITool, input string)

func (*Scratchpad) StartRun

func (l *Scratchpad) StartRun(ctx context.Context)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL