mirror of
https://github.com/aljazceru/dev-gpt.git
synced 2025-12-20 07:04:20 +01:00
⏪ fix: self healing response parser
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import json
|
||||
import re
|
||||
|
||||
from dev_gpt.options.generate.chains.fix_based_on_error import fix_based_on_error_chain
|
||||
|
||||
|
||||
def identity_parser(x):
|
||||
return x
|
||||
@@ -16,6 +18,10 @@ def boolean_parser(x):
|
||||
|
||||
def json_parser(x):
|
||||
if '```' in x:
|
||||
pattern = r'```(.+)```'
|
||||
x = re.findall(pattern, x, re.DOTALL)[-1]
|
||||
pattern = r'```(json)?(.+)```'
|
||||
x = re.findall(pattern, x, re.DOTALL)[-1][-1]
|
||||
return json.loads(x)
|
||||
|
||||
def self_healing_json_parser(original_json_string):
|
||||
return fix_based_on_error_chain('I want to load my JSON string using json.loads(x) but get the following error:', 'JSON',
|
||||
original_json_string, parser=json_parser)
|
||||
|
||||
Reference in New Issue
Block a user