Spaces:
Configuration error
Configuration error
| package langchain | |
| import ( | |
| "context" | |
| "fmt" | |
| "github.com/tmc/langchaingo/llms" | |
| "github.com/tmc/langchaingo/llms/huggingface" | |
| ) | |
| type HuggingFace struct { | |
| modelPath string | |
| token string | |
| } | |
| func NewHuggingFace(repoId, token string) (*HuggingFace, error) { | |
| if token == "" { | |
| return nil, fmt.Errorf("no huggingface token provided") | |
| } | |
| return &HuggingFace{ | |
| modelPath: repoId, | |
| token: token, | |
| }, nil | |
| } | |
| func (s *HuggingFace) PredictHuggingFace(text string, opts ...PredictOption) (*Predict, error) { | |
| po := NewPredictOptions(opts...) | |
| // Init client | |
| llm, err := huggingface.New(huggingface.WithToken(s.token)) | |
| if err != nil { | |
| return nil, err | |
| } | |
| // Convert from LocalAI to LangChainGo format of options | |
| co := []llms.CallOption{ | |
| llms.WithModel(po.Model), | |
| llms.WithMaxTokens(po.MaxTokens), | |
| llms.WithTemperature(po.Temperature), | |
| llms.WithStopWords(po.StopWords), | |
| } | |
| // Call Inference API | |
| ctx := context.Background() | |
| completion, err := llm.Call(ctx, text, co...) | |
| if err != nil { | |
| return nil, err | |
| } | |
| return &Predict{ | |
| Completion: completion, | |
| }, nil | |
| } | |