Я использую LLM (через ollama.chat) в качестве маршрутизатора, который должен возвращать чистый JSON, который я затем анализирую с помощью json.loads().
Однако я продолжаю получать:
json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 61)
Соответствующий код:
def router(usr_inpt, history):
summary, recent = get_router_context(history)
router_input = {
"user_input": usr_inpt,
"conversation_summary": summary,
"recent_messages": recent
}
messages = [
{"role": "system", "content": routing_prompt},
{"role": "user", "content": json.dumps(router_input)}
]
response = ollama.chat(model=ROUTER_MODEL, messages=messages)
print(response.message.content) # debugging
return json.loads(response.message.content)
Пример: Ожидаемый результат:
{ "intent": "factual", "complexity": 1, "use_heavy": false }
Что я получаю:
{ "intent": "factual", "complexity": 1, "use_heavy": false }
Sure! This is a simple factual query.
Подробнее здесь: https://stackoverflow.com/questions/798 ... output-oll
Мобильная версия