DIEA插件的对话历史记录建议增加搜索功能,对于查找历史也有帮助
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
为了在DIEA插件中增加对话历史记录的搜索功能,您可以参考以下步骤和建议来实现这一需求。此方案结合了知识库中的相关技术文档和API能力,确保功能的专业性和实用性。
在设计对话历史记录的搜索功能时,需要明确以下关键点: - 支持的搜索维度:例如,用户输入内容、时间范围、会话ID(session_id
)、答案类型等。 - 搜索结果展示:返回的结果应包括会话的关键信息,如提问时间、提问内容、答案内容、意图名称等。 - 性能优化:考虑到历史记录可能较多,需支持分页查询和高效检索。
根据知识库中的资料,您可以通过调用以下API来获取历史对话记录,并在此基础上实现搜索功能:
ListAIAgentDialogues
接口该接口可以列出会话的历史记录,支持分页查询。以下是关键参数说明: - 请求参数: - page
:指定查询的页码。 - pageSize
:每页返回的记录数。 - 可扩展支持时间范围、session_id
等筛选条件。 - 返回参数: - 包括提问时间、提问内容、答案内容、意图名称等详细信息。
通过扩展该接口的筛选条件,您可以实现基于关键词、时间范围等维度的搜索功能。
GetHistoryListByBizType
接口如果您的业务涉及多种类型的历史记录(如模型问答或文档库问答),可以使用此接口。以下是关键参数说明: - 请求参数: - bizType
:指定业务类型(如模型问答或文档库问答)。 - bizId
:指定业务唯一标识。 - 支持分页查询(page
和pageSize
)。 - 返回参数: - 包括创建时间、修改时间、大模型回答等内容。
此接口适合针对特定业务类型的历史记录进行搜索。
session_id
等)建立索引,提升搜索效率。session_id
输入框等。以下是一个简单的后端逻辑示例,展示如何基于ListAIAgentDialogues
接口实现搜索功能:
def search_dialogue_history(keyword=None, start_time=None, end_time=None, session_id=None, page=1, page_size=10):
# 调用API获取历史记录
response = call_list_ai_agent_dialogues(
keyword=keyword,
start_time=start_time,
end_time=end_time,
session_id=session_id,
page=page,
page_size=page_size
)
# 处理返回数据
records = response.get("records", [])
total_count = response.get("total_count", 0)
# 返回结果
return {
"total_count": total_count,
"records": [
{
"提问时间": record["gmtCreate"],
"提问内容": record["userInput"],
"答案内容": record["llmAnswer"],
"意图名称": record["intentName"]
}
for record in records
]
}
通过以上方案,您可以为DIEA插件增加一个功能强大且易于使用的对话历史记录搜索功能,帮助用户更高效地查找和分析历史对话数据。