This commit is contained in:
2025-04-10 09:22:45 +08:00
parent d967f4fa58
commit c252fe5ef7
4 changed files with 15 additions and 13 deletions
+2 -2
View File
@@ -16,8 +16,8 @@
"description": "" "description": ""
}, },
{ {
"name": "取费模板", "name": "取费表费用项",
"synonymous": ["取费"], "synonymous": ["子项", "费用项"],
"description": "" "description": ""
}, },
{ {
+10 -9
View File
@@ -504,10 +504,10 @@ def get_agentic_rag_agent(
你是一个智能助手,专门为[博微配网计价通D3软件]提供使用支持。你的任务是帮助用户理解和使用这个复杂的配电网工程造价软件系统。 你是一个智能助手,专门为[博微配网计价通D3软件]提供使用支持。你的任务是帮助用户理解和使用这个复杂的配电网工程造价软件系统。
软件特点 软件特点
1.多页面架构:软件由多个功能页面组成 1.多页面架构:软件整个界面由多个编辑页面组成,通过顶部的页签切换页面
2.复杂控件布局:每个页面包含多种控件(如列表控件、TAB控件、按钮等) 2.复杂控件布局:每个编辑页面包含多种控件(如列表控件、TAB控件、树列表控件、按钮等)
3.业务对象丰富:涉及"取费表""项目划分""工程量"多种业务对象 3.业务对象丰富:每个控件可能用于展示和编辑零至多个业务对象。(如"取费表""项目划分""工程量"等业务对象)
4.操作多样:支持"添加""修改""删除""导入""导出"等多种操作 4.操作多样:支持"添加""修改""删除""导入""导出""右键"等多种操作
""" """
instructions=""" instructions="""
@@ -521,7 +521,6 @@ def get_agentic_rag_agent(
3. **问题改写** 3. **问题改写**
- 问题改写严格仅使用知识库返回的**专业术语**和**同义词**,必须完全匹配才能替换,不使用上下文等其他信息(带引号,如`"工程量清单"` - 问题改写严格仅使用知识库返回的**专业术语**和**同义词**,必须完全匹配才能替换,不使用上下文等其他信息(带引号,如`"工程量清单"`
- 如果问题仅是一个**专业术语**,则用户是想知道该**专业术语**的操作入口 - 如果问题仅是一个**专业术语**,则用户是想知道该**专业术语**的操作入口
- **以向用户确认的口吻输出改写后的完整问句** (如 您是想询问:`改写后的问句`)
4. **问题结构化** 4. **问题结构化**
- 判断问题类型(功能入口、操作步骤、错误处理等) - 判断问题类型(功能入口、操作步骤、错误处理等)
- 将第三步问题改写的问句解析为包含以下要素的标准查询: - 将第三步问题改写的问句解析为包含以下要素的标准查询:
@@ -541,11 +540,13 @@ def get_agentic_rag_agent(
- 使用工具 get_chat_history 保持对话连续性 - 使用工具 get_chat_history 保持对话连续性
- 相关时引用之前的交互 - 相关时引用之前的交互
- 记录用户偏好和之前的澄清 - 记录用户偏好和之前的澄清
- 请从用户消息中的{context}中读取正在使用的软件环境上下文如下:
{软件上下文}
7. **结果呈现要求** 7. **结果呈现要求**
- 用户所处环境上下文如下:
{sofeware_work_context}
- 以 makedown 格式输出,注意不要丢失换行和排版,每次都多输出一次换行,多输出一次换行
- 避免使用'根据我的知识''取决于信息'等模糊表述 - 避免使用'根据我的知识''取决于信息'等模糊表述
- 注意 在当前环境下"工程""项目"并非同义词,请勿相互替换
- **首先以 makedown 格式以向用户确认的口吻输出改写后的完整问句** (如 您是想询问:`改写后的问句`)
- **其次换行后以 makedown 格式输出回答信息**
8. 特殊情况处理 8. 特殊情况处理
- 如果问题不明确,可以反问请求澄清 - 如果问题不明确,可以反问请求澄清
- 如果搜索知识库返回"No documents found"无结果,则直接明确回复当前知识库中不存在该知识 - 如果搜索知识库返回"No documents found"无结果,则直接明确回复当前知识库中不存在该知识
@@ -563,7 +564,7 @@ def get_agentic_rag_agent(
knowledge=knowledge_base, # 添加知识库 knowledge=knowledge_base, # 添加知识库
description=description, description=description,
instructions=instructions, instructions=instructions,
context={"sofeware_work_context": get_sofeware_work_context}, context={"软件上下文": get_sofeware_work_context},
add_context=True, add_context=True,
search_knowledge=True, # 此设置赋予模型搜索知识库信息的工具 search_knowledge=True, # 此设置赋予模型搜索知识库信息的工具
read_chat_history=True, # 此设置赋予模型获取聊天历史的工具 read_chat_history=True, # 此设置赋予模型获取聊天历史的工具
+2 -1
View File
@@ -7,7 +7,7 @@ load_dotenv()
import threading import threading
import nest_asyncio import nest_asyncio
from agentic_rag import get_agentic_rag_agent, get_workflow from agentic_rag import get_agentic_rag_agent, get_workflow, get_sofeware_work_context
from agno.utils.log import logger from agno.utils.log import logger
from ui import ( from ui import (
initialize_ui, initialize_ui,
@@ -106,6 +106,7 @@ def main():
# Chat input # Chat input
if prompt := st.sidebar.chat_input("👋 问我任何问题!"): if prompt := st.sidebar.chat_input("👋 问我任何问题!"):
agentic_rag_agent.context = get_sofeware_work_context()
add_message("user", prompt) add_message("user", prompt)
# Display UI # Display UI
+1 -1
View File
@@ -35,7 +35,7 @@ def set_current_page(page : str):
set_sofeware_work_context({ set_sofeware_work_context({
"软件": "博微配网计价通D3软件", "软件": "博微配网计价通D3软件",
"工程文件": "广州配网造价工程", "工程文件": "广州配网造价工程",
"已打开页面": ["工程信息", "取费设置", "组合件", "工程量", "材机分析", "工程费用", "报表输出"], "所有编辑页面": ["工程信息", "取费设置", "组合件", "工程量", "材机分析", "工程费用", "报表输出"],
"当前页面": page, "当前页面": page,
}) })