feat: Update core agent logic, code execution utilities, and LLM configuration.
This commit is contained in:
@@ -29,6 +29,22 @@ def extract_code_from_response(response: str) -> Optional[str]:
|
||||
end = response.find('```', start)
|
||||
if end != -1:
|
||||
return response[start:end].strip()
|
||||
|
||||
# 尝试提取 code: | 形式的代码块(针对YAML格式错误但结构清晰的情况)
|
||||
import re
|
||||
# 匹配 code: | 后面的内容,直到遇到下一个键(next_key:)或结尾
|
||||
# 假设代码块至少缩进2个空格
|
||||
pattern = r'code:\s*\|\s*\n((?: {2,}.*\n?)+)'
|
||||
match = re.search(pattern, response)
|
||||
if match:
|
||||
code_block = match.group(1)
|
||||
# 尝试去除公共缩进
|
||||
try:
|
||||
import textwrap
|
||||
return textwrap.dedent(code_block).strip()
|
||||
except:
|
||||
return code_block.strip()
|
||||
|
||||
elif '```' in response:
|
||||
start = response.find('```') + 3
|
||||
end = response.find('```', start)
|
||||
|
||||
Reference in New Issue
Block a user