recommender/internal/service/embedding/provider.go

32 lines
791 B
Go
Raw Normal View History

2024-11-06 10:47:56 +00:00
package embedding
import (
"github.com/tmc/langchaingo/llms/openai"
2024-11-09 19:49:53 +00:00
"leafdev.top/Ecosystem/recommender/internal/base/conf"
"leafdev.top/Ecosystem/recommender/internal/base/logger"
"leafdev.top/Ecosystem/recommender/internal/base/redis"
"leafdev.top/Ecosystem/recommender/internal/dao"
2024-11-06 10:47:56 +00:00
)
type Service struct {
OpenAI *openai.LLM
Logger *logger.Logger
config *conf.Config
dao *dao.Query
redis *redis.Redis
}
func NewService(config *conf.Config, logger *logger.Logger, dao *dao.Query, redis *redis.Redis) *Service {
llm, err := openai.New(
openai.WithToken(config.OpenAI.ApiKey),
2024-11-09 19:49:53 +00:00
openai.WithBaseURL(config.OpenAI.BaseUrl),
2024-11-06 10:47:56 +00:00
openai.WithEmbeddingModel(config.OpenAI.EmbeddingModel),
)
if err != nil {
panic(err)
}
return &Service{llm, logger, config, dao, redis}
}