add log index
This commit is contained in:
parent
7b365d7b84
commit
258fcb91c5
|
|
@ -560,7 +560,7 @@ public class FileRepository : IBotSharpRepository
|
|||
foreach (var file in Directory.GetFiles(dir))
|
||||
{
|
||||
var fileName = file.Split(Path.DirectorySeparatorChar).Last();
|
||||
var splits = fileName.ToLower().Split('.');
|
||||
var splits = ParseFileNameByPath(fileName.ToLower());
|
||||
var name = splits[0];
|
||||
var extension = splits[1];
|
||||
if (name.IsEqualTo(templateName) && extension.IsEqualTo(_agentSettings.TemplateFormat))
|
||||
|
|
@ -846,7 +846,7 @@ public class FileRepository : IBotSharpRepository
|
|||
#region LLM Completion Log
|
||||
public void SaveLlmCompletionLog(LlmCompletionLog log)
|
||||
{
|
||||
var convDir = Path.Combine(_dbSettings.FileRepository, _conversationSettings.DataDir, log.ConversationId);
|
||||
var convDir = FindConversationDirectory(log.ConversationId);
|
||||
if (!Directory.Exists(convDir)) return;
|
||||
|
||||
var logDir = Path.Combine(convDir, "llm_prompt_log");
|
||||
|
|
@ -855,8 +855,8 @@ public class FileRepository : IBotSharpRepository
|
|||
Directory.CreateDirectory(logDir);
|
||||
}
|
||||
|
||||
var fileName = string.IsNullOrEmpty(log.Id) ? Guid.NewGuid().ToString() : log.Id;
|
||||
var file = Path.Combine(logDir, $"{fileName}.log");
|
||||
var index = GetLlmCompletionLogIndex(logDir, log.MessageId);
|
||||
var file = Path.Combine(logDir, $"{log.MessageId}.{index}.log");
|
||||
File.WriteAllText(file, JsonSerializer.Serialize(log, _options));
|
||||
}
|
||||
#endregion
|
||||
|
|
@ -1008,5 +1008,30 @@ public class FileRepository : IBotSharpRepository
|
|||
}
|
||||
return states;
|
||||
}
|
||||
|
||||
private int GetLlmCompletionLogIndex(string logDir, string id)
|
||||
{
|
||||
var files = Directory.GetFiles(logDir);
|
||||
if (files.IsNullOrEmpty())
|
||||
return 0;
|
||||
|
||||
var logIndexes = files.Where(file =>
|
||||
{
|
||||
var fileName = ParseFileNameByPath(file);
|
||||
return fileName[0].IsEqualTo(id);
|
||||
}).Select(file =>
|
||||
{
|
||||
var fileName = ParseFileNameByPath(file);
|
||||
return int.Parse(fileName[1]);
|
||||
}).ToList();
|
||||
|
||||
return logIndexes.IsNullOrEmpty() ? 0 : logIndexes.Max() + 1;
|
||||
}
|
||||
|
||||
private string[] ParseFileNameByPath(string path, string separator = ".")
|
||||
{
|
||||
var name = path.Split(Path.DirectorySeparatorChar).Last();
|
||||
return name.Split(separator);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue