mirror of
https://github.com/langgenius/dify.git
synced 2026-09-05 00:31:19 +08:00
fix(api): degrade unavailable suggestion history model
This commit is contained in:
parent
65bfdd3e05
commit
4580c76012
@ -411,10 +411,14 @@ class MessageService:
|
||||
if suggested_questions_after_answer_config.get("enabled", False) is False:
|
||||
raise SuggestedQuestionsAfterAnswerDisabledError()
|
||||
|
||||
model_instance = model_manager.get_default_model_instance(
|
||||
tenant_id=app_model.tenant_id,
|
||||
model_type=ModelType.LLM,
|
||||
)
|
||||
try:
|
||||
model_instance = model_manager.get_default_model_instance(
|
||||
tenant_id=app_model.tenant_id,
|
||||
model_type=ModelType.LLM,
|
||||
)
|
||||
except Exception:
|
||||
logger.exception("Failed to resolve the history model for suggested questions")
|
||||
return []
|
||||
|
||||
# get memory of conversation (read-only)
|
||||
memory = TokenBufferMemory(conversation=conversation, model_instance=model_instance)
|
||||
|
||||
@ -950,6 +950,32 @@ class TestMessageServiceSuggestedQuestions:
|
||||
model_config=None,
|
||||
)
|
||||
|
||||
def test_agent_unavailable_default_model_returns_empty_questions(
|
||||
self,
|
||||
monkeypatch: pytest.MonkeyPatch,
|
||||
factory: MessageServiceTestDataFactory,
|
||||
sqlite_session: Session,
|
||||
) -> None:
|
||||
conversation = factory.create_conversation()
|
||||
conversation.mode = AppMode.AGENT
|
||||
model_manager, memory, llm_generator = self._chat_boundaries(monkeypatch, conversation)
|
||||
model_manager.get_default_model_instance.side_effect = ValueError("unsupported default model")
|
||||
roster_service = MagicMock()
|
||||
roster_service.return_value.get_published_agent_soul_for_app.return_value = self._agent_soul()
|
||||
monkeypatch.setattr("services.agent.roster_service.AgentRosterService", roster_service)
|
||||
|
||||
result = MessageService.get_suggested_questions_after_answer(
|
||||
app_model=factory.create_app(mode=AppMode.AGENT),
|
||||
user=factory.create_end_user(),
|
||||
message_id="msg-123",
|
||||
invoke_from=InvokeFrom.SERVICE_API,
|
||||
session=sqlite_session,
|
||||
)
|
||||
|
||||
assert result == []
|
||||
memory.assert_not_called()
|
||||
llm_generator.generate_suggested_questions_after_answer.assert_not_called()
|
||||
|
||||
def test_historical_agent_without_soul_uses_current_app_model_config(
|
||||
self,
|
||||
monkeypatch: pytest.MonkeyPatch,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user