diff options
| author | Grail Finder <wohilas@gmail.com> | 2025-11-24 11:07:55 +0300 |
|---|---|---|
| committer | Grail Finder <wohilas@gmail.com> | 2025-11-24 11:08:50 +0300 |
| commit | 504af1a2132ca51f50ab24cd95f2690a4d45323e (patch) | |
| tree | 32ac05037ef0b8c75fb2b0dece6ae32ec2f02491 | |
| parent | 3b64baf9ebf468e5f28f8eb2295ecba16a820f99 (diff) | |
Enha: update config; create ragdir if does not exist
| -rw-r--r-- | config.example.toml | 17 | ||||
| -rw-r--r-- | tui.go | 30 |
2 files changed, 36 insertions, 11 deletions
diff --git a/config.example.toml b/config.example.toml index 850047b..c09b3f1 100644 --- a/config.example.toml +++ b/config.example.toml @@ -1,7 +1,15 @@ ChatAPI = "http://localhost:8080/v1/chat/completions" CompletionAPI = "http://localhost:8080/completion" +FetchModelNameAPI = "http://localhost:8080/v1/models" +# in case you have deepseek token +DeepSeekCompletionAPI = "https://api.deepseek.com/beta/completions" +DeepSeekChatAPI = "https://api.deepseek.com/chat/completions" +DeepSeekModel = "deepseek-reasoner" +# DeepSeekToken = "" +# in case you have opentouter token OpenRouterCompletionAPI = "https://openrouter.ai/api/v1/completions" OpenRouterChatAPI = "https://openrouter.ai/api/v1/chat/completions" +# OpenRouterToken = "" EmbedURL = "http://localhost:8080/v1/embeddings" ShowSys = true LogFile = "log.txt" @@ -11,9 +19,9 @@ AssistantRole = "assistant" SysDir = "sysprompts" ChunkLimit = 100000 # rag settings -RAGBatchSize = 100 +RAGBatchSize = 10 RAGWordLimit = 80 -RAGWorkers = 5 +RAGWorkers = 2 RAGDir = "ragimport" # extra tts TTS_ENABLED = false @@ -30,8 +38,3 @@ STT_SR = 16000 # Sample rate for audio recording DBPATH = "gflt.db" FilePickerDir = "." # Directory where file picker should start FilePickerExts = "png,jpg,jpeg,gif,webp" # Comma-separated list of allowed file extensions for file picker -# -FetchModelNameAPI = "http://localhost:8080/v1/models" -# external search tool -SearchAPI = "" # url to call the tool by -SearchDescribe = "" # link that returns models.Tool @@ -926,11 +926,33 @@ func init() { // menu of the text files from defined rag directory files, err := os.ReadDir(cfg.RAGDir) if err != nil { - logger.Error("failed to read dir", "dir", cfg.RAGDir, "error", err) - if notifyerr := notifyUser("failed to open RAG files dir", err.Error()); notifyerr != nil { - logger.Error("failed to send notification", "error", notifyerr) + // Check if the error is because the directory doesn't exist + if os.IsNotExist(err) { + // Create the RAG directory if it doesn't exist + if mkdirErr := os.MkdirAll(cfg.RAGDir, 0755); mkdirErr != nil { + logger.Error("failed to create RAG directory", "dir", cfg.RAGDir, "error", mkdirErr) + if notifyerr := notifyUser("failed to create RAG directory", mkdirErr.Error()); notifyerr != nil { + logger.Error("failed to send notification", "error", notifyerr) + } + return nil + } + // Now try to read the directory again after creating it + files, err = os.ReadDir(cfg.RAGDir) + if err != nil { + logger.Error("failed to read dir after creating it", "dir", cfg.RAGDir, "error", err) + if notifyerr := notifyUser("failed to read RAG directory", err.Error()); notifyerr != nil { + logger.Error("failed to send notification", "error", notifyerr) + } + return nil + } + } else { + // Other error (permissions, etc.) + logger.Error("failed to read dir", "dir", cfg.RAGDir, "error", err) + if notifyerr := notifyUser("failed to open RAG files dir", err.Error()); notifyerr != nil { + logger.Error("failed to send notification", "error", notifyerr) + } + return nil } - return nil } fileList := []string{} for _, f := range files { |
