关于 ai-search-rag
面向 ServiceNow 管理员的技能,用于配置和优化 AI Search 与检索增强生成(RAG)。涵盖内容源、结果排序、索引、生成式回答及质量监控。
主要功能
- 01配置可搜索的内容源
- 02设置搜索配置与字段权重
- 03调整 RAG 回答和索引
- 04配置结果排序
- 05监控分析数据与反馈
适用场景
- 01为知识文章设置 RAG
- 02提升企业搜索相关性
- 03依据反馈检查搜索质量
MCP 相关
说明如何使用 SN-Query-Table、SN-Create-Record 和 SN-Update-Record 等 ServiceNow MCP 工具检查并管理搜索配置。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ happy-technologies-llc/ happy-platform-skills --skill ai-search-rag安装后在 Claude Code 中输入/ai-search-rag确认已加载。
详细介绍
AI 搜索 RAG 配置
概述
本技能介绍如何配置和优化 ServiceNow AI 搜索与检索增强生成(RAG):
- 创建和配置搜索源(知识库、目录项、服务门户内容)
- 设置定义搜索行为和源优先级的搜索配置文件
- 配置结果排序和相关性调优,以获得高质量的搜索结果
- 启用基于 RAG 的答案生成,从检索到的知识内容中生成答案
- 管理搜索索引和字段配置,以实现最佳检索效果
- 通过反馈循环和分析调优搜索质量
- 将 AI 搜索与 Now Assist 和 Virtual Agent 集成
使用时机: 在知识库中设置 AI 搜索、配置 RAG 以根据企业内容生成答案,或优化 ServiceNow 中的搜索结果质量时。
前置条件
- 角色:
admin、search_admin或now_assist_admin - 插件:
com.snc.ai_search(AI 搜索)、com.snc.generative_ai_controller(生成式 AI 控制器)、sn_gen_ai(生成式 AI) - 访问权限: sn_ai_search_source、sn_ai_search_profile、sn_gen_ai_config 表
- 知识: 了解搜索概念(索引、排序、相关性)和知识管理基础知识
- 相关技能: 对话式 AI 参见
genai/now-assist-qa,知识库内容参见knowledge/article-generation
操作步骤
步骤 1:评估可用的知识源
确定哪些内容应可供搜索和 RAG 使用。
MCP 方式:
Use SN-Query-Table on kb_knowledge_base:
- query: active=true
- fields: sys_id,title,description,kb_version,active,article_count
- limit: 20
检查现有知识文章:
Use SN-Query-Table on kb_knowledge:
- query: workflow_state=published^kb_knowledge_base=<kb_sys_id>
- fields: sys_id,short_description,kb_knowledge_base,workflow_state,sys_updated_on
- limit: 20
REST 方式:
GET /api/now/table/kb_knowledge_base
?sysparm_query=active=true
&sysparm_fields=sys_id,title,description,active
&sysparm_limit=20
步骤 2:创建搜索源
搜索源定义 AI 搜索从哪些位置检索内容。
知识库搜索源:
MCP 方式:
Use SN-Create-Record on sn_ai_search_source:
- name: "IT Knowledge Base"
- description: "Primary IT support knowledge articles"
- source_type: "knowledge"
- source_table: "kb_knowledge"
- source_condition: "workflow_state=published^kb_knowledge_base=<kb_sys_id>"
- active: true
- enable_rag: true
- rag_content_field: "text"
- search_fields: "short_description,text,meta"
- display_fields: "short_description,kb_category,sys_updated_on"
REST 方式:
POST /api/now/table/sn_ai_search_source
Body: {
"name": "IT Knowledge Base",
"description": "Primary IT support knowledge articles",
"source_type": "knowledge",
"source_table": "kb_knowledge",
"source_condition": "workflow_state=published",
"active": true,
"enable_rag": true,
"rag_content_field": "text"
}
目录项搜索源:
Use SN-Create-Record on sn_ai_search_source:
- name: "Service Catalog Items"
- description: "Available service catalog offerings"
- source_type: "catalog"
- source_table: "sc_cat_item"
- source_condition: "active=true^hide_sp=false"
- active: true
- enable_rag: false
- search_fields: "name,short_description,description"
- display_fields: "name,short_description,category"
事件解决方案搜索源:
Use SN-Create-Record on sn_ai_search_source:
- name: "Resolved Incidents"
- description: "Previously resolved incidents for pattern matching"
- source_type: "table"
- source_table: "incident"
- source_condition: "state=6^close_notes!=NULL^universal_requestISNOTEMPTY"
- active: true
- enable_rag: true
- rag_content_field: "close_notes"
- search_fields: "short_description,description,close_notes"
步骤 3:配置搜索配置文件
搜索配置文件控制要搜索哪些源,以及如何对结果排序。
MCP 方式:
Use SN-Create-Record on sn_ai_search_profile:
- name: "IT Support Search"
- description: "Search profile for IT help desk agents and self-service"
- active: true
- default_profile: false
- rag_enabled: true
- max_results: 10
- rag_max_sources: 5
- rag_confidence_threshold: 0.7
- search_sources: "<kb_source_sys_id>,<catalog_source_sys_id>,<incident_source_sys_id>"
REST 方式:
POST /api/now/table/sn_ai_search_profile
Body: {
"name": "IT Support Search",
"description": "Search profile for IT help desk agents and self-service",
"active": true,
"rag_enabled": true,
"max_results": 10,
"rag_max_sources": 5,
"rag_confidence_threshold": 0.7
}
步骤 4:配置搜索字段权重
字段配置用于控制不同字段对相关性评分的影响。
MCP 方式:
Use SN-Create-Record on sn_ai_search_field_config:
- search_source: "<kb_source_sys_id>"
- field_name: "short_description"
- boost_factor: 3.0
- searchable: true
- displayable: true
- order: 100
Use SN-Create-Record on sn_ai_search_field_config:
- search_source: "<kb_source_sys_id>"
- field_name: "text"
- boost_factor: 1.0
- searchable: true
- displayable: false
- order: 200
Use SN-Create-Record on sn_ai_search_field_config:
- search_source: "<kb_source_sys_id>"
- field_name: "meta"
- boost_factor: 2.0
- searchable: true
- displayable: false
- order: 300
加权系数指南:
| 加权级别 | 值 | 使用场景 |
|---|---|---|
| 高 | 3.0-5.0 | 标题、简短描述——主要匹配字段 |
| 中 | 1.5-2.5 | 标签、元数据、类别——辅助匹配字段 |
| 标准 | 1.0 | 正文、完整内容——广泛匹配 |
| 低 | 0.5 | 评论、备注——补充信息 |
步骤 5:配置 RAG 答案生成
设置生成式 AI 配置,以便根据检索到的内容生成答案。
MCP 方式:
Use SN-Create-Record on sn_gen_ai_config:
- name: "AI Search RAG Configuration"
- description: "Controls how RAG generates answers from search results"
- active: true
- llm_provider: "now_llm"
- model: "default"
- temperature: 0.3
- max_tokens: 500
- system_prompt: "You are a helpful IT support assistant. Answer questions using only the provided context. If the context does not contain enough information, say so clearly. Always cite the source article."
- context_window: 4000
- enable_citations: true
- citation_format: "inline"
REST 方式:
POST /api/now/table/sn_gen_ai_config
Body: {
"name": "AI Search RAG Configuration",
"description": "Controls how RAG generates answers from search results",
"active": true,
"llm_provider": "now_llm",
"temperature": 0.3,
"max_tokens": 500,
"enable_citations": true
}
RAG 温度指南:
| 温度 | 行为 | 使用场景 |
|---|---|---|
| 0.0-0.2 | 非常客观、确定性强 | 政策查询、合规答复 |
| 0.3-0.5 | 较为平衡、以客观为主 | IT 支持、故障排查指导 |
| 0.6-0.8 | 更具创造性、措辞更多样 | 内容建议、推荐 |
| 0.9-1.0 | 创造性很强 | 不建议用于 RAG |
步骤 6:设置搜索索引配置
控制内容的索引方式,以实现最佳检索效果。
MCP 方式:
Use SN-Create-Record on sn_ai_search_index:
- search_source: "<kb_source_sys_id>"
- name: "KB Article Index"
- index_type: "full_text"
- active: true
- rebuild_schedule: "daily"
- chunk_size: 500
- chunk_overlap: 50
- embedding_model: "default"
REST 方式:
POST /api/now/table/sn_ai_search_index
Body: {
"search_source": "<kb_source_sys_id>",
"name": "KB Article Index",
"index_type": "full_text",
"active": true,
"rebuild_schedule": "daily",
"chunk_size": 500,
"chunk_overlap": 50
}
分块策略指南:
| 内容类型 | 分块大小 | 重叠 | 原因 |
|---|---|---|---|
| 短篇知识库文章 | 300-500 | 30-50 | 保留完整的文章上下文 |
| 长篇文档 | 500-800 | 50-100 | 平衡上下文与具体性 |
| 常见问题内容 | 200-300 | 20-30 | 将问答对放在一起 |
| 政策文档 | 800-1200 | 100-150 | 保持章节级上下文 |
步骤 7:配置结果排名
MCP 方式:
Use SN-Create-Record on sn_ai_search_result_config:
- search_profile: "<profile_sys_id>"
- name: "IT Support Ranking"
- ranking_model: "hybrid"
- semantic_weight: 0.6
- keyword_weight: 0.3
- recency_weight: 0.1
- personalization: true
- active: true
排名模型选项:
| 模型 | 描述 | 最适用于 |
|---|---|---|
| keyword | 传统关键词/BM25 匹配 | 精确术语搜索、错误代码 |
| semantic | 基于向量的语义相似度 | 自然语言问题 |
| hybrid | 结合关键词与语义搜索 | 通用场景(推荐) |
步骤 8:与 Virtual Agent 和 Now Assist 集成
将 AI Search 连接到对话界面。
Virtual Agent 搜索来源:
Use SN-Create-Record on sys_cs_ai_search_source:
- name: "VA AI Search Integration"
- search_profile: "<profile_sys_id>"
- active: true
- auto_summarize: true
- fallback_action: "transfer_to_agent"
- confidence_threshold: 0.65
- max_results_shown: 3
REST 方式:
POST /api/now/table/sys_cs_ai_search_source
Body: {
"name": "VA AI Search Integration",
"search_profile": "<profile_sys_id>",
"active": true,
"auto_summarize": true,
"fallback_action": "transfer_to_agent",
"confidence_threshold": 0.65
}
步骤 9:监控搜索质量
查询搜索分析数据以了解性能。
MCP 方式:
Use SN-Query-Table on sn_ai_search_log:
- query: search_profile=<profile_sys_id>^sys_created_on>javascript:gs.daysAgo(7)
- fields: sys_id,query_text,result_count,click_through,feedback_score,rag_generated
- limit: 50
- orderBy: sys_created_on
- orderDirection: desc
跟踪 RAG 答案质量:
Use SN-Query-Table on sn_ai_search_feedback:
- query: search_profile=<profile_sys_id>^rating<3
- fields: sys_id,query_text,answer_text,rating,feedback_comment
- limit: 20
步骤 10:调整和优化
根据分析数据调整搜索配置。
调整置信度阈值:
Use SN-Update-Record on sn_ai_search_profile:
- sys_id: "<profile_sys_id>"
- rag_confidence_threshold: 0.75
更新字段权重:
Use SN-Update-Record on sn_ai_search_field_config:
- sys_id: "<field_config_sys_id>"
- boost_factor: 4.0
触发索引重建:
Use SN-Update-Record on sn_ai_search_index:
- sys_id: "<index_sys_id>"
- rebuild_requested: true
工具用法
| 工具 | 用途 | 使用时机 |
|---|---|---|
| SN-Query-Table | 查找现有来源、配置文件和分析数据 | 发现和监控 |
| SN-Create-Record | 创建来源、配置文件和字段配置 | 初始设置和扩展 |
| SN-Update-Record | 调整排名和阈值、重建索引 | 优化和维护 |
| SN-Get-Table-Schema | 发现配置字段 | 了解可用设置 |
最佳实践
- 首先使用知识库作为主要 RAG 来源——其中的内容经过结构化整理和精选
- 采用混合排名,结合语义搜索和关键词搜索,以获得最佳结果
- 初始时设置较保守的置信度阈值(0.7+),仅在需要时调低
- 将 RAG 的 temperature 保持在较低水平(0.2-0.4),以确保事实准确性
- 启用引用,让用户可以对照源材料核验答案
- 合理切分内容——切分过小会丢失上下文,切分过大会削弱相关性
- 将标题字段的权重设置为正文的 3-5 倍,以提高结果相关性
- 监控点击率和反馈评分,以发现质量差距
- 知识库更新后定期重建索引,确保内容及时更新
- 使用搜索日志中的真实用户查询进行测试,验证排名更改
故障排除
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 未返回搜索结果 | 搜索来源未启用,或没有匹配的内容 | 确认来源已启用,且内容符合 source_condition |
| RAG 答案存在幻觉 | temperature 过高或上下文不足 | 降低 temperature,增大 rag_max_sources,并确认内容质量 |
| 不相关结果排名靠前 | 字段权重配置不当 | 提高标题/描述的权重,降低正文的权重 |
| 搜索速度慢 | 索引过大或搜索的来源过多 | 限定 source_condition 范围,优化 chunk_size,减少 max_results |
| RAG 答案缺少引用 | gen AI 配置中未启用引用 | 在 sn_gen_ai_config 中设置 enable_citations=true |
| 索引已过期 | 重建计划间隔过长 | 手动触发重建,或提高 rebuild_schedule 频率 |
| 结果重复 | 相同内容从多个来源建立了索引 | 添加来源去重,或缩小 source_condition 筛选范围 |
示例
示例 1:IT 自助服务 AI Search
为员工自助服务门户配置 AI Search:
- **来源:**IT 知识库(已发布文章)、服务目录(有效项目)、FAQ 知识库
- **配置文件:**启用 RAG 的自助服务配置,最多 5 条结果,置信度阈值为 0.7
- **排名:**混合模型,semantic_weight=0.6,keyword_weight=0.3,recency=0.1
- **RAG 配置:**temperature 0.3,最多 500 个 token,启用行内引用
- **集成:**使用 Virtual Agent 自动生成摘要,并在无法解答时转接人工客服
示例 2:使用 RAG 搜索 HR 政策
为 HR 政策问题配置 AI Search:
- 来源: HR 知识库(政策文档)、HR 目录(申请表单)
- 配置文件: HR 专用配置,采用严格的 RAG(temperature 为 0.1,确保政策准确性)
- 分块: 800 个 token,重叠 100 个 token(保留政策章节的上下文)
- 字段加权: 政策标题 5.0 倍、章节标题 3.0 倍、正文 1.0 倍
- 防护措施: 系统提示词要求准确引用政策,并禁止改写法律条文
示例 3:多来源技术知识搜索
配置 AI Search,搜索多个技术知识库:
- 来源: 基础设施知识库、应用知识库、安全知识库、已解决的事件
- 配置文件: 技术支持配置,对自然语言查询赋予较高的语义权重(0.7)
- 分块: 技术文章采用 500 个 token,重叠 50 个 token
- 排名: 提升近期文章的排名(recency_weight=0.2),以适应不断演进的技术内容
- 监控: 每周跟踪低评分答案,并针对未命中的内容重新训练
相关技能
genai/now-assist-qa- 使用 AI Search 结果的对话式 AIgenai/skill-kit-custom- 可调用 AI Search 的自定义技能knowledge/article-generation- 管理为搜索提供内容的知识reporting/executive-dashboard- 构建搜索分析仪表板