evals

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EvaluationResult

type EvaluationResult struct {
	Judgments map[string]*JudgmentResult
}

func (*EvaluationResult) AllPassed

func (r *EvaluationResult) AllPassed() bool

func (*EvaluationResult) AnyPassed

func (r *EvaluationResult) AnyPassed() bool

func (*EvaluationResult) MajorityPassed

func (r *EvaluationResult) MajorityPassed() bool

func (*EvaluationResult) NoneFailed

func (r *EvaluationResult) NoneFailed() bool

func (*EvaluationResult) Score

func (r *EvaluationResult) Score() float64

type Evaluator

type Evaluator interface {
	Name() string
	Evaluate(ctx context.Context, chatCtx *llm.ChatContext, reference *llm.ChatContext, evaluatorLLM llm.LLM) (*JudgmentResult, error)
}

func AccuracyJudge

func AccuracyJudge(llmInstance llm.LLM) Evaluator

func CoherenceJudge

func CoherenceJudge(llmInstance llm.LLM) Evaluator

func ConcisenessJudge

func ConcisenessJudge(llmInstance llm.LLM) Evaluator

func HandoffJudge

func HandoffJudge(llmInstance llm.LLM) Evaluator

func RelevancyJudge

func RelevancyJudge(llmInstance llm.LLM) Evaluator

func SafetyJudge

func SafetyJudge(llmInstance llm.LLM) Evaluator

func TaskCompletionJudge

func TaskCompletionJudge(llmInstance llm.LLM) Evaluator

func ToolUseJudge

func ToolUseJudge(llmInstance llm.LLM) Evaluator

type Judge

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

func NewJudge

func NewJudge(name, instructions string, llmInstance llm.LLM) *Judge

func (*Judge) Evaluate

func (j *Judge) Evaluate(ctx context.Context, chatCtx *llm.ChatContext, reference *llm.ChatContext, evaluatorLLM llm.LLM) (*JudgmentResult, error)

func (*Judge) Name

func (j *Judge) Name() string

type JudgeGroup

type JudgeGroup struct {
	LLM    llm.LLM
	Judges []Evaluator
}

func NewJudgeGroup

func NewJudgeGroup(llm llm.LLM, judges []Evaluator) *JudgeGroup

func (*JudgeGroup) Evaluate

func (g *JudgeGroup) Evaluate(ctx context.Context, chatCtx *llm.ChatContext, reference *llm.ChatContext) (*EvaluationResult, error)

type JudgmentResult

type JudgmentResult struct {
	Verdict   Verdict
	Reasoning string
}

func (*JudgmentResult) Passed

func (j *JudgmentResult) Passed() bool

type Verdict

type Verdict string
const (
	VerdictPass  Verdict = "pass"
	VerdictFail  Verdict = "fail"
	VerdictMaybe Verdict = "maybe"
)

Jump to

Keyboard shortcuts

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