Added try catch

This commit is contained in:
Nickk888 committed 2026-10-13 01:06:55 +02:00
1 parent 4494a2a202
commit 6d8a752fc1
3 files changed
+1004 -281

No files matched your search

+43 -35
View File
@@ -8,45 +8,53 @@ public class LLMAgentService(ApiService apiService, Configuration config, ILogge
{
public async Task<LmStudioLlmResponse?> ProcessDocumentWithAI(PaperlessDocument docToProcess)
{
// Prompt
var prompt = config.Prompt.Replace("{document_id}", docToProcess.DocumentId.ToString());
// Request
var content = new LmStudioChatRequest() {
Model = config.Model,
Input = prompt,
Integrations = config.IntegrationsList,
SystemPrompt = config.SystemPrompt,
ContextLength = config.ContextLength,
MaxOutputTokens = config.max_output_tokens,
Temperature = config.Temperature,
TopP = config.TopP,
Reasoning = config.Reasoning
};
var response = await apiService.Post("chat", content);
response.EnsureSuccessStatusCode();
try
{
// Prompt
var prompt = config.Prompt.Replace("{document_id}", docToProcess.DocumentId.ToString());
// Request
var content = new LmStudioChatRequest() {
Model = config.Model,
Input = prompt,
Integrations = config.IntegrationsList,
SystemPrompt = config.SystemPrompt,
ContextLength = config.ContextLength,
MaxOutputTokens = config.max_output_tokens,
Temperature = config.Temperature,
TopP = config.TopP,
Reasoning = config.Reasoning
};
var response = await apiService.Post("chat", content);
response.EnsureSuccessStatusCode();
// Response
var contentMessage = await response.Content.ReadAsStringAsync();
logger.LogDebug(contentMessage);
var chatResponseJson = JsonConvert.DeserializeObject<LmStudioChatResponse>(contentMessage);
var messages = chatResponseJson?.GetOutputsByResponseType("message");
if(messages?.Count > 1)
{
logger.LogError($"To many messages received! Count: {messages?.Count}");
messages?.ForEach(x => logger.LogError(x.ToString()));
return null;
// Response
var contentMessage = await response.Content.ReadAsStringAsync();
logger.LogDebug(contentMessage);
var chatResponseJson = JsonConvert.DeserializeObject<LmStudioChatResponse>(contentMessage);
var messages = chatResponseJson?.GetOutputsByResponseType("message");
if(messages?.Count > 1)
{
logger.LogError($"To many messages received! Count: {messages?.Count}");
messages?.ForEach(x => logger.LogError(x.ToString()));
return null;
}
if(messages?.Count == 0)
{
logger.LogError($"No messages received!");
return null;
}
var message = messages!.FirstOrDefault();
var llmResponse = JsonConvert.DeserializeObject<LmStudioLlmResponse>(message!.Content ?? string.Empty);
logger.LogInformation(llmResponse?.ToString());
return llmResponse;
}
if(messages?.Count == 0)
catch (Exception e)
{
logger.LogError($"No messages received!");
return null;
logger.LogError(e.ToString());
}
var message = messages!.FirstOrDefault();
var llmResponse = JsonConvert.DeserializeObject<LmStudioLlmResponse>(message!.Content ?? string.Empty);
logger.LogInformation(llmResponse?.ToString());
return llmResponse;
return null;
}
internal async Task UnloadModel()