Files

51 lines
1.4 KiB
Go

package ai
import (
"context"
"resume-platform/internal/ai"
"resume-platform/internal/prompt"
)
type AIService struct {
provider ai.Provider
}
func NewAIService(provider ai.Provider) *AIService {
return &AIService{provider: provider}
}
func (s *AIService) PolishSummary(ctx context.Context, original string) (string, error) {
promptText := prompt.BuildPolishSummaryPrompt(original)
return s.provider.Generate(ctx, promptText)
}
func (s *AIService) PolishExperience(ctx context.Context, original string, company string, position string) (string, error) {
promptText := prompt.BuildPolishExperiencePrompt(original, company, position)
return s.provider.Generate(ctx, promptText)
}
func (s *AIService) PolishProject(ctx context.Context, original string, projectName string) (string, error) {
promptText := prompt.BuildPolishProjectPrompt(original, projectName)
return s.provider.Generate(ctx, promptText)
}
func (s *AIService) PolishDescription(ctx context.Context, original string, fieldType string) (string, error) {
promptText := prompt.BuildPolishDescriptionPrompt(original, fieldType)
return s.provider.Generate(ctx, promptText)
}
func (s *AIService) GetProviderName() string {
return s.provider.GetName()
}
func (s *AIService) Generate(ctx context.Context, prompt string) (string, error) {
return s.provider.Generate(ctx, prompt)
}
func (s *AIService) Embedding(ctx context.Context, text string) ([]float64, error) {
return nil, nil
}