Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LLMClient ¶
type LLMClient interface {
AnalyzeFeedback(ctx context.Context, message string) (*StrategyResult, error)
}
LLMClient defines the interface for LLM-based feedback analysis. The implementation will call an external LLM (OpenAI / Claude / etc.).
type Profile ¶
type Profile struct {
StudentID uuid.UUID `json:"student_id"`
Name string `json:"name"`
Skills map[string]int `json:"skills"`
}
Profile represents student profile data
type ProfileClient ¶
type ProfileClient interface {
GetProfile(ctx context.Context, studentID uuid.UUID) (*Profile, error)
}
ProfileClient defines the interface for accessing student profile data
func NewProfileClient ¶
func NewProfileClient() ProfileClient
NewProfileClient creates a new profile client.
type StrategyResult ¶
type StrategyResult struct {
PerceivedDifficulty string `json:"perceived_difficulty"`
DifficultyAdjustment float64 `json:"difficulty_adjustment"`
TopicWeights map[string]float64 `json:"topic_weights"`
Sentiment string `json:"sentiment"`
StrategySnapshot map[string]interface{} `json:"strategy_snapshot"`
}
StrategyResult holds the LLM-determined strategy for a student.
func (*StrategyResult) MarshalSnapshot ¶
func (r *StrategyResult) MarshalSnapshot() (json.RawMessage, error)
MarshalSnapshot serialises StrategySnapshot to JSON bytes.
Click to show internal directories.
Click to hide internal directories.