LLM sometimes generates incorrect Markdown strings, need to improve parse_args logic
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con la lógica extract_codeblock mostrada y reproduce la respuesta Markdown malformada que contiene solo dos backticks antes de exec_shell. Determina el comportamiento del parser necesario para esta respuesta y, después, verifica que los bloques de código válidos sigan funcionando y que el comando malformado ya no produzca el error "No API call found".
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
LLM(I am using GPT-4-mini with Openrouter) sometimes generates commands like this:
8 │ │ {
1 │ │ │ "role": "assistant",
2 │ │ │ "content": "``exec_shell(\"kubectl get pods -n test-social-network\")```"
3 │ │ },
4 │ │ {
5 │ │ │ "role": "env",
6 │ │ │ "content": "Error parsing response: No API call found!"
7 │ │ },
Notice that there are only 2 ticks before the exec_shell. It repeats the same mistake for the entire run.
The logic for extracting code block:
def extract_codeblock(self, response: str) -> str:
"""Extract a markdown code block from a string.
Args:
response (str): The response string.
Returns:
str: The extracted code block.
"""
outputlines = response.split("\n")
indexlines = [i for i, line in enumerate(outputlines) if "```" in line]
if len(indexlines) < 2:
return ""
return "\n".join(outputlines[indexlines[0] + 1 : indexlines[1]])
The function will return an empty string from the above command, thus "No API call" error.
It does not always happen.
Instead of additional prompting, it is more robust to address this issue on the parser side.
- Lenguaje dominante
- Python
- Estrellas
- 989
- Forks
- 176
- Merge medio
- 7 d 15 h
- PR fusionados (30 d)
- 3
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/AIOpsLab
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Regarding to the case #162 Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Todos los issues de microsoft/AIOpsLab
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
browser-use/browser-use#5905 ·
-
type: enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ynput/ayon-python-api#363 ·
-
bug needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
modelscope/FunASR#3728 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
open-compass/opencompass#2655 ·