Files

34 lines
746 B
Go

package chat
import (
"context"
"resume-platform/internal/agent"
"resume-platform/internal/ai"
)
type IMService struct {
aiProvider ai.Provider
resumeAgent *agent.ResumeAgent
}
func NewIMService(provider ai.Provider, resumeAgent *agent.ResumeAgent) *IMService {
return &IMService{aiProvider: provider, resumeAgent: resumeAgent}
}
func (s *IMService) GetAIProvider() ai.Provider {
return s.aiProvider
}
func (s *IMService) GetResumeAgent() *agent.ResumeAgent {
return s.resumeAgent
}
func (s *IMService) GenerateWithAgent(ctx context.Context, query string) (string, error) {
if s.resumeAgent != nil {
return s.resumeAgent.Run(ctx, query)
}
if s.aiProvider != nil {
return s.aiProvider.Generate(ctx, query)
}
return "", nil
}