Enha: update config; create ragdir if does not exist

This commit is contained in:
Grail Finder
2025-11-24 11:07:55 +03:00
parent 3b64baf9eb
commit 504af1a213
2 changed files with 36 additions and 11 deletions

View File

@@ -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

30
tui.go
View File

@@ -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 {