diff options
| author | Xe Iaso <me@xeiaso.net> | 2023-10-08 18:55:45 -0400 |
|---|---|---|
| committer | Xe Iaso <me@xeiaso.net> | 2023-10-08 18:55:45 -0400 |
| commit | 025bfd82cc270bfc502bc8a61b978b0a3e3e8d6b (patch) | |
| tree | b026adf827e71575b2b7eeb41def4dd5673be15d /cmd/sapientwindex/llama.go | |
| parent | 777393ad4ebbc1956abc6530c4f8499356c9a719 (diff) | |
| download | x-1.8.0.tar.xz x-1.8.0.zip | |
cmd/sapientwindex: adapt into being a tool for goodv1.8.0
Signed-off-by: Xe Iaso <me@xeiaso.net>
Diffstat (limited to 'cmd/sapientwindex/llama.go')
| -rw-r--r-- | cmd/sapientwindex/llama.go | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/cmd/sapientwindex/llama.go b/cmd/sapientwindex/llama.go deleted file mode 100644 index 7895832..0000000 --- a/cmd/sapientwindex/llama.go +++ /dev/null @@ -1,112 +0,0 @@ -package main - -import ( - "bytes" - "encoding/json" - "flag" - "io" - "net/http" - - "within.website/x/web" -) - -var ( - llamaServer = flag.String("llama-server", "http://kos-mos:8080/completion", "API server for LLAMA 2") -) - -func Predict(opts *LLAMAOpts) (*LLAMAResponse, error) { - jsonData, err := json.Marshal(opts) - if err != nil { - return nil, err - } - // Make a POST request to the server - resp, err := http.Post(*llamaServer, "application/json", bytes.NewBuffer(jsonData)) - if err != nil { - return nil, err - } - defer resp.Body.Close() - // Check the response status code - if resp.StatusCode != http.StatusOK { - return nil, web.NewError(http.StatusOK, resp) - } - - data, err := io.ReadAll(resp.Body) - if err != nil { - return nil, err - } - - var result LLAMAResponse - - if err := json.Unmarshal(data, &result); err != nil { - return nil, err - } - - return &result, nil -} - -type LLAMAOpts struct { - Temperature float64 `json:"temperature"` - TopK int `json:"top_k"` - TopP float64 `json:"top_p"` - Stream bool `json:"stream"` - Prompt string `json:"prompt"` - RepeatPenalty float64 `json:"repeat_penalty"` - RepeatLastN int `json:"repeat_last_n"` - Mirostat int `json:"mirostat"` - NPredict int `json:"n_predict"` -} - -type LLAMAResponse struct { - Content string `json:"content"` - GenerationSettings GenerationSettings `json:"generation_settings"` - Model string `json:"model"` - Prompt string `json:"prompt"` - Stop bool `json:"stop"` - StoppedEos bool `json:"stopped_eos"` - StoppedLimit bool `json:"stopped_limit"` - StoppedWord bool `json:"stopped_word"` - StoppingWord string `json:"stopping_word"` - Timings Timings `json:"timings"` - TokensCached int `json:"tokens_cached"` - TokensEvaluated int `json:"tokens_evaluated"` - TokensPredicted int `json:"tokens_predicted"` - Truncated bool `json:"truncated"` -} - -type GenerationSettings struct { - FrequencyPenalty float64 `json:"frequency_penalty"` - Grammar string `json:"grammar"` - IgnoreEos bool `json:"ignore_eos"` - LogitBias []any `json:"logit_bias"` - Mirostat int `json:"mirostat"` - MirostatEta float64 `json:"mirostat_eta"` - MirostatTau float64 `json:"mirostat_tau"` - Model string `json:"model"` - NCtx int `json:"n_ctx"` - NKeep int `json:"n_keep"` - NPredict int `json:"n_predict"` - NProbs int `json:"n_probs"` - PenalizeNl bool `json:"penalize_nl"` - PresencePenalty float64 `json:"presence_penalty"` - RepeatLastN int `json:"repeat_last_n"` - RepeatPenalty float64 `json:"repeat_penalty"` - Seed int64 `json:"seed"` - Stop []any `json:"stop"` - Stream bool `json:"stream"` - Temp float64 `json:"temp"` - TfsZ float64 `json:"tfs_z"` - TopK int `json:"top_k"` - TopP float64 `json:"top_p"` - TypicalP float64 `json:"typical_p"` -} - -type Timings struct { - PredictedMs float64 `json:"predicted_ms"` - PredictedN int `json:"predicted_n"` - PredictedPerSecond float64 `json:"predicted_per_second"` - PredictedPerTokenMs float64 `json:"predicted_per_token_ms"` - PromptMs float64 `json:"prompt_ms"` - PromptN int `json:"prompt_n"` - PromptPerSecond float64 `json:"prompt_per_second"` - PromptPerTokenMs float64 `json:"prompt_per_token_ms"` -} |
