马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
之前的文章中,我们先容了RAG的利用,但是,每次提问时,都会通过RAG举行检索。偶然,检索是不须要实行的,比如,当用户只是说“你好”时。于是,我们必要有条件的跳过检索过程。
跳过决定可以通过多种方式实行:
- 利用规则(比方,取决于用户的权限、位置等)
- 利用关键字(比方,如果查询包罗特定单词)
- 利用语义相似性
- 利用 LLM 做出决定
留意:本例接纳利用LLM做出决定的方案
测试代码
本例自界说QueryRouter,当必要跳过检索时,QueryRouter 将返回一个空列表,表现不必要颠末任何检索对象。
实行流程
第一次提问"你好"时
先发送是否必要走检索的提问:- 13:29:30.244 [main] DEBUG dev.langchain4j.community.model.zhipu.RequestLoggingInterceptor - Request:
- - method: POST
- - url: https://open.bigmodel.cn/api/paas/v4/chat/completions
- - headers: [Authorization: Bearer ey...fQ.ew0KICAiZXhwIiA6IDE3NDU5OTI3NzAxNjAsDQogICJhcGlfa2V5IiA6ICJkMjMzNGIyZTk4NTE0YWUwOTIzMDQ4YTM4NDEzNTMwNiIsDQogICJ0aW1lc3RhbXAiIDogMTc0NTk5MDk3MDE2MA0KfQ.fwtna_6nALdYVqiTM_jJphWexVme4FRJxg-Lc1AXOTk]
- - body: {
- "model" : "GLM-4-Flash",
- "messages" : [ {
- "role" : "user",
- "content" : "以下提问是否与汽车租赁公司的业务有关?只回答'是'、'否'或'可能'。提问内容:你好"
- } ],
- "stream" : false,
- "temperature" : 0.9,
- "max_tokens" : 512,
- "tool_choice" : "auto"
- }
复制代码 自动先根据我们例子中设置的提示词模版,扣问是否与“汽车租赁公司业务相干”。
大模型根据提问内容,给出的回复:- {
- "choices": [{
- "finish_reason": "stop",
- "index": 0,
- "message": {
- "content": "否",
- "role": "assistant"
- }
- }],
- "created": 1745990971,
- "id": "2025043013293102690e02a7674aa7",
- "model": "GLM-4-Flash",
- "request_id": "2025043013293102690e02a7674aa7",
- "usage": {
- "completion_tokens": 3,
- "prompt_tokens": 33,
- "total_tokens": 36
- }
- }
复制代码 通过响应看出,大模型返回了"否",表现不消举行检索。
发送用户提出的题目- 13:29:31.281 [main] DEBUG dev.langchain4j.community.model.zhipu.RequestLoggingInterceptor - Request:
- - method: POST
- - url: https://open.bigmodel.cn/api/paas/v4/chat/completions
- - headers: [Authorization: Bearer ey...fQ.ew0KICAiZXhwIiA6IDE3NDU5OTI3NzAxNjAsDQogICJhcGlfa2V5IiA6ICJkMjMzNGIyZTk4NTE0YWUwOTIzMDQ4YTM4NDEzNTMwNiIsDQogICJ0aW1lc3RhbXAiIDogMTc0NTk5MDk3MDE2MA0KfQ.fwtna_6nALdYVqiTM_jJphWexVme4FRJxg-Lc1AXOTk]
- - body: {
- "model" : "GLM-4-Flash",
- "messages" : [ {
- "role" : "user",
- "content" : "你好"
- } ],
- "stream" : false,
- "temperature" : 0.9,
- "max_tokens" : 512,
- "tool_choice" : "auto"
- }
复制代码 可以看到这次只发送了"你好",并没有通过RAG举行检索。
第二次提问“我可以取消预定吗”时
仍旧必要先扣问大模型是否必要检索
发送哀求数据如下:- 13:29:31.818 [main] DEBUG dev.langchain4j.community.model.zhipu.RequestLoggingInterceptor - Request:
- - method: POST
- - url: https://open.bigmodel.cn/api/paas/v4/chat/completions
- - headers: [Authorization: Bearer ey...fQ.ew0KICAiZXhwIiA6IDE3NDU5OTI3NzEyODEsDQogICJhcGlfa2V5IiA6ICJkMjMzNGIyZTk4NTE0YWUwOTIzMDQ4YTM4NDEzNTMwNiIsDQogICJ0aW1lc3RhbXAiIDogMTc0NTk5MDk3MTI4MQ0KfQ.iLHSgUhm6XqAB5LDPHXq2NnTUQ_NAiv0VE4ATTQbNWc]
- - body: {
- "model" : "GLM-4-Flash",
- "messages" : [ {
- "role" : "user",
- "content" : "以下提问是否与汽车租赁公司的业务有关?只回答'是'、'否'或'可能'。提问内容:我可以取消预定吗?"
- } ],
- "stream" : false,
- "temperature" : 0.9,
- "max_tokens" : 512,
- "tool_choice" : "auto"
- }
复制代码 大模型以为用户的提问于知识库相干,于是返回内容:- {
- "choices": [{
- "finish_reason": "stop",
- "index": 0,
- "message": {
- "content": "是",
- "role": "assistant"
- }
- }],
- "created": 1745990972,
- "id": "20250430132932c36dbc932d2a4d9d",
- "model": "GLM-4-Flash",
- "request_id": "20250430132932c36dbc932d2a4d9d",
- "usage": {
- "completion_tokens": 3,
- "prompt_tokens": 37,
- "total_tokens": 40
- }
- }
复制代码 大模型返回“是”,表现必要举行检索。
再次发送哀求
哀求数据中包罗第一次的用户提问和大模型回复的内容- 13:29:32.050 [main] DEBUG dev.langchain4j.community.model.zhipu.RequestLoggingInterceptor - Request:
- - method: POST
- - url: https://open.bigmodel.cn/api/paas/v4/chat/completions
- - headers: [Authorization: Bearer ey...fQ.ew0KICAiZXhwIiA6IDE3NDU5OTI3NzE4MTgsDQogICJhcGlfa2V5IiA6ICJkMjMzNGIyZTk4NTE0YWUwOTIzMDQ4YTM4NDEzNTMwNiIsDQogICJ0aW1lc3RhbXAiIDogMTc0NTk5MDk3MTgxOA0KfQ.A7e2fMdaX_6oI5uaS6oRaZs8HRiHm9ixCsWtyiSaPJM]
- - body: {
- "model" : "GLM-4-Flash",
- "messages" : [ {
- "role" : "user",
- "content" : "你好"
- }, {
- "role" : "assistant",
- "content" : "你好\uD83D\uDC4B!有什么可以帮助你的吗?"
- }, {
- "role" : "user",
- "content" : "我可以取消预定吗?\n\nAnswer using the following information:\n8. 本条款的变更 我们可能随时通过修改此页面来修改这些使用条款。您应该不时查看此页面,以注意我们所做的任何更改。\n9. 接受这些条款 使用服务,即表示您承认您已阅读并理解这些条款,并同意受其约束。如果您不同意这些条款,请不要使用或访问我们的服务。\n\n1. 引言\n本服务条款(以下简称“条款”)适用于您(个人)从世界任何国家/地区访问或使用由在美国注册的 Miles of Smiles Car Rental Services 公司提供的应用程序、网站、内容、产品和服务(以下简称“服务”)。\n2. 服务\nMiles of Smiles 将车辆出租给最终用户。我们保留随时暂时或永久终止服务的权利,并且不对服务的任何修改、暂停或中止负责。\n3. 预订\n3.1 用户可以通过我们的网站或移动应用程序进行预订。\n3.2 您必须在预订过程中提供准确、最新和完整的信息。您负责您账户下产生的所有费用。\n3.3 所有预订均视车辆供应情况而定\n4. 取消政策"
- } ],
- "stream" : false,
- "temperature" : 0.9,
- "max_tokens" : 512,
- "tool_choice" : "auto"
- }
复制代码 从哀求数据中可以看到,针对第二次提出的题目,举行了检索。
通过上面的过程,可以看出,利用自界说QueryRouter后,每次发送题目之前,必要先根据我们的提示词模版,向大模型发送一个题目,让大模型判断是否必要举行检索。如果返回“否”,表现不必要举行检索;反之,必要通过RAG举行检索。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |