callbacks

package
v0.14.108 Latest Latest
Warning

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

Go to latest
Published: Dec 25, 2025 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var TimeNowFn = time.Now

Functions

func IsTimeout added in v0.14.89

func IsTimeout(err error) bool

IsTimeout returns true for timeout error

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, messages []llms.Message)

func (*Fanout) OnAssistantError

func (l *Fanout) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error, messages []llms.Message)

func (*Fanout) OnAssistantLLMCallEnd added in v0.10.61

func (l *Fanout) OnAssistantLLMCallEnd(ctx context.Context, agent assistants.IAssistant, llm llms.Model, resp *llms.ContentResponse)

func (*Fanout) OnAssistantLLMCallStart added in v0.10.61

func (l *Fanout) OnAssistantLLMCallStart(ctx context.Context, agent assistants.IAssistant, llm llms.Model, payload []llms.Message)

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, assistantName, input string, output string)

func (*Fanout) OnToolError

func (l *Fanout) OnToolError(ctx context.Context, tool tools.ITool, assistantName, 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, assistantName, 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 {
	// contains filtered or unexported fields
}

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, messages []llms.Message)

func (*Noop) OnAssistantError

func (l *Noop) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error, messages []llms.Message)

func (*Noop) OnAssistantLLMCallEnd added in v0.10.61

func (l *Noop) OnAssistantLLMCallEnd(ctx context.Context, agent assistants.IAssistant, llm llms.Model, resp *llms.ContentResponse)

func (*Noop) OnAssistantLLMCallStart added in v0.10.61

func (l *Noop) OnAssistantLLMCallStart(ctx context.Context, agent assistants.IAssistant, llm llms.Model, payload []llms.Message)

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) OnProgress added in v0.13.80

func (l *Noop) OnProgress(ctx context.Context, agent assistants.IAssistant, title, message string)

func (*Noop) OnToolEnd

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

func (*Noop) OnToolError

func (l *Noop) OnToolError(ctx context.Context, tool tools.ITool, assistantName, 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, assistantName, input string)

func (*Noop) WithProgress added in v0.13.81

func (l *Noop) WithProgress(cb assistants.OnProgressFunc)

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, messages []llms.Message)

func (*PackageLogger) OnAssistantError

func (l *PackageLogger) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error, messages []llms.Message)

func (*PackageLogger) OnAssistantLLMCallEnd added in v0.10.61

func (l *PackageLogger) OnAssistantLLMCallEnd(ctx context.Context, agent assistants.IAssistant, llm llms.Model, resp *llms.ContentResponse)

func (*PackageLogger) OnAssistantLLMCallStart added in v0.10.61

func (l *PackageLogger) OnAssistantLLMCallStart(ctx context.Context, agent assistants.IAssistant, llm llms.Model, payload []llms.Message)

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, assistantName, input string, output string)

func (*PackageLogger) OnToolError

func (l *PackageLogger) OnToolError(ctx context.Context, tool tools.ITool, assistantName, 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, assistantName, 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, messages []llms.Message)

func (*Printer) OnAssistantError

func (l *Printer) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error, messages []llms.Message)

func (*Printer) OnAssistantLLMCallEnd added in v0.10.61

func (l *Printer) OnAssistantLLMCallEnd(ctx context.Context, agent assistants.IAssistant, llm llms.Model, resp *llms.ContentResponse)

func (*Printer) OnAssistantLLMCallStart added in v0.10.61

func (l *Printer) OnAssistantLLMCallStart(ctx context.Context, agent assistants.IAssistant, llm llms.Model, payload []llms.Message)

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, assistantName, input string, output string)

func (*Printer) OnToolError

func (l *Printer) OnToolError(ctx context.Context, tool tools.ITool, assistantName, 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, assistantName, input string)

type RunStats

type RunStats struct {
	ChatID string
	RunID  string

	Duration                time.Duration
	TotalMessages           uint32
	LLMBytesOut             uint64
	LLMBytesIn              uint64
	LLMInputTokens          uint64
	LLMOutputTokens         uint64
	LLMTotalTokens          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, messages []llms.Message)

func (*Scratchpad) OnAssistantError

func (l *Scratchpad) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error, messages []llms.Message)

func (*Scratchpad) OnAssistantLLMCallEnd added in v0.10.61

func (l *Scratchpad) OnAssistantLLMCallEnd(ctx context.Context, agent assistants.IAssistant, llm llms.Model, resp *llms.ContentResponse)

func (*Scratchpad) OnAssistantLLMCallStart added in v0.10.61

func (l *Scratchpad) OnAssistantLLMCallStart(ctx context.Context, agent assistants.IAssistant, llm llms.Model, payload []llms.Message)

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, assistantName, input string, output string)

func (*Scratchpad) OnToolError

func (l *Scratchpad) OnToolError(ctx context.Context, tool tools.ITool, assistantName, 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, assistantName, 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