File size: 891 Bytes
02c783d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Copyright(C) [2025] Advanced Micro Devices, Inc. All rights reserved.
from .base import BaseProcessor
from parse_llm_code import extract_code_blocks

class LLMOutputProcessor(BaseProcessor):
    """
    Processor for handling LLM outputs.
    This processor is designed to handle the specific structure of LLM outputs.
    """

    def __init__(self, *args, **kwargs):
        super().__init__(name="LLMOutputProcessor", *args, **kwargs)

    def process(self, response: str) -> str:
        # Extract code blocks from the LLM response
        code = None
        if "```" not in response:
            return response
        code_blocks = extract_code_blocks(response)
        for _code in code_blocks.code_dict_list:
            if code is None:
                code = _code['context'] + "\n"
            else:
                code += _code['context'] + "\n"
        return code