mirror of
https://github.com/mudler/LocalAI.git
synced 2026-01-01 19:09:15 -05:00
* feat: initial hook to install elements directly Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * WIP: ui changes Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Move HF api client to pkg Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Add simple importer for gguf files Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Add opcache Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * wire importers to CLI Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Add omitempty to config fields Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Fix tests Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Add MLX importer Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Small refactors to star to use HF for discovery Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Add tests Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Common preferences Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Add support to bare HF repos Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * feat(importer/llama.cpp): add support for mmproj files Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * add mmproj quants to common preferences Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Fix vlm usage in tokenizer mode with llama.cpp Signed-off-by: Ettore Di Giacinto <mudler@localai.io> --------- Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
hfapi "github.com/mudler/LocalAI/pkg/huggingface-api"
|
|
openai "github.com/sashabaranov/go-openai"
|
|
jsonschema "github.com/sashabaranov/go-openai/jsonschema"
|
|
)
|
|
|
|
// Get repository README from HF
|
|
type HFReadmeTool struct {
|
|
client *hfapi.Client
|
|
}
|
|
|
|
func (s *HFReadmeTool) Execute(args map[string]any) (string, error) {
|
|
q, ok := args["repository"].(string)
|
|
if !ok {
|
|
return "", fmt.Errorf("no query")
|
|
}
|
|
readme, err := s.client.GetReadmeContent(q, "README.md")
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
return readme, nil
|
|
}
|
|
|
|
func (s *HFReadmeTool) Tool() openai.Tool {
|
|
return openai.Tool{
|
|
Type: openai.ToolTypeFunction,
|
|
Function: &openai.FunctionDefinition{
|
|
Name: "hf_readme",
|
|
Description: "A tool to get the README content of a huggingface repository",
|
|
Parameters: jsonschema.Definition{
|
|
Type: jsonschema.Object,
|
|
Properties: map[string]jsonschema.Definition{
|
|
"repository": {
|
|
Type: jsonschema.String,
|
|
Description: "The huggingface repository to get the README content of",
|
|
},
|
|
},
|
|
Required: []string{"repository"},
|
|
},
|
|
},
|
|
}
|
|
}
|