Added try catch
This commit is contained in:
1 parent
4494a2a202
commit
6d8a752fc1
3 files changed
+1004
-281
No files matched your search
+43
-35
@@ -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()
|
||||
|
||||
Reference in new issue
Block a user