1+ from result import Ok , Result
12from completions .prompts import create_prompt
23from infrastructure .ollama import create_completion
34from infrastructure .db .source_repository import SourceRepository
@@ -9,16 +10,26 @@ class CompletionService:
910 def __init__ (self , repository : SourceRepository ):
1011 self .repository = repository
1112
12- def create (self , query , k = 3 ) :
13+ def create (self , query : str , k : int = 3 ) -> Result [ str , Exception ] :
1314 logger .info ("completion_service.create" , query = query )
1415
1516 prompt_context = ContextGenerationService (query , self .repository ).process (k )
1617 logger .info ("completion_service.context_generated" , query = query )
1718
18- answer = create_completion (create_prompt (prompt_context , query ))
19- logger .info (
20- "completion_service.answer_generated" ,
21- query = query ,
22- answer = answer [0 :10 ] + "..." ,
23- )
24- return answer
19+ prompt = create_prompt (query , prompt_context )
20+ result = create_completion (prompt )
21+
22+ if isinstance (result , Ok ):
23+ logger .info (
24+ "completion_service.answer_generated" ,
25+ query = query ,
26+ answer = result .ok_value [:10 ] + "..." ,
27+ )
28+ else :
29+ logger .error (
30+ "completion_service.answer_generation_error" ,
31+ query = query ,
32+ error = result .err_value ,
33+ )
34+
35+ return result
0 commit comments