fix: skill injected into system prompt

This commit is contained in:
qixinbo
2026-03-19 17:40:08 +08:00
parent d1c097b4d1
commit 7c9abcadfe
3 changed files with 12 additions and 2 deletions
+10
View File
@@ -135,6 +135,11 @@ async def nanobot_chat(request: ChatRequest):
elif request.route_mode == "chat": elif request.route_mode == "chat":
message = f"[System: Normal chat mode. Do NOT use the nl2sql tool]\n{message}" message = f"[System: Normal chat mode. Do NOT use the nl2sql tool]\n{message}"
# Inject instructions for selected skills
if request.skill_ids:
skill_list = ", ".join(request.skill_ids)
message = f"[System: You must prioritize using the following skills/tools to answer the user's request: {skill_list}]\n{message}"
response = await nanobot_service.process_message( response = await nanobot_service.process_message(
message, message,
session_id=request.session_id, session_id=request.session_id,
@@ -186,6 +191,11 @@ async def nanobot_chat_stream(request: ChatRequest):
elif request.route_mode == "chat": elif request.route_mode == "chat":
message = f"[System: Normal chat mode. Do NOT use the nl2sql tool]\n{message}" message = f"[System: Normal chat mode. Do NOT use the nl2sql tool]\n{message}"
# Inject instructions for selected skills
if request.skill_ids:
skill_list = ", ".join(request.skill_ids)
message = f"[System: You must prioritize using the following skills/tools to answer the user's request: {skill_list}]\n{message}"
current_task = asyncio.create_task( current_task = asyncio.create_task(
nanobot_service.process_message( nanobot_service.process_message(
message, message,
+1 -1
View File
@@ -264,7 +264,7 @@ export function ChatInterface() {
const formattedMessages = data.messages const formattedMessages = data.messages
.filter((m) => { .filter((m) => {
if (m.role === 'system' || m.role === 'tool' || m.role === 'function') return false; if (m.role === 'system' || m.role === 'tool' || m.role === 'function') return false;
if (m.role === 'assistant' && m.tool_calls && m.tool_calls.length > 0 && !m.viz) return false; if (m.role === 'assistant' && m.tool_calls && m.tool_calls.length > 0 && !m.viz && (!m.content || m.content.trim() === '')) return false;
return true; return true;
}) })
.map((m, idx) => ({ .map((m, idx) => ({
+1 -1
View File
@@ -227,7 +227,7 @@ export function Skills() {
</div> </div>
</TableCell> </TableCell>
<TableCell className="py-4 px-4 text-right"> <TableCell className="py-4 px-4 text-right">
<div className="flex justify-end gap-1"> <div className="flex items-center justify-end gap-1">
<Button <Button
variant="ghost" variant="ghost"
size="icon" size="icon"