工作流预览模式下,调用工具app传参coversationId带历史记录,调用报错

pull/21694/head
taozui 10 months ago
parent ad9eebd02d
commit 9e930bb9f1

@ -113,7 +113,7 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator):
conversation_id = args.get("conversation_id")
if conversation_id:
conversation = ConversationService.get_conversation(
app_model=app_model, conversation_id=conversation_id, user=user
app_model=app_model, conversation_id=conversation_id, user=user,invoke_from=invoke_from
)
# parse files

@ -145,19 +145,32 @@ class ConversationService:
return conversation
@classmethod
def get_conversation(cls, app_model: App, conversation_id: str, user: Optional[Union[Account, EndUser]]):
conversation = (
db.session.query(Conversation)
.filter(
Conversation.id == conversation_id,
Conversation.app_id == app_model.id,
Conversation.from_source == ("api" if isinstance(user, EndUser) else "console"),
Conversation.from_end_user_id == (user.id if isinstance(user, EndUser) else None),
Conversation.from_account_id == (user.id if isinstance(user, Account) else None),
Conversation.is_deleted == False,
def get_conversation(cls, app_model: App, conversation_id: str, user: Optional[Union[Account, EndUser]],invoke_from: InvokeFrom =None):
if invoke_from and invoke_from==invoke_from.SERVICE_API:
conversation = (
db.session.query(Conversation)
.filter(
Conversation.id == conversation_id,
Conversation.app_id == app_model.id,
Conversation.from_source == "api",
Conversation.from_end_user_id == user.id ,
Conversation.is_deleted == False,
)
.first()
)
else:
conversation = (
db.session.query(Conversation)
.filter(
Conversation.id == conversation_id,
Conversation.app_id == app_model.id,
Conversation.from_source == ("api" if isinstance(user, EndUser) else "console"),
Conversation.from_end_user_id == (user.id if isinstance(user, EndUser) else None),
Conversation.from_account_id == (user.id if isinstance(user, Account) else None),
Conversation.is_deleted == False,
)
.first()
)
.first()
)
if not conversation:
raise ConversationNotExistsError()

Loading…
Cancel
Save