概述
当地的法学硕士对时事产生幻觉。此工作流程在每次查询之前将实时 SERP 结果注入系统提示中,使模型的响应基于真实数据。可与 Ollama、vLLM、llama.cpp 或任何与 OpenAI 兼容的本地端点配合使用。
触发器
每用户查询本地 LLM
计划
每个用户查询
工作流步骤
1
接收用户查询
用户向本地 LLM 聊天界面询问事实问题。
2
通过 Scavio 进行飞行前搜索
POST /api/v1/search 以及 platform=google 上的用户查询。使用片段获取前 5 个结果。
3
将搜索上下文注入系统提示符
在系统消息前添加:“使用以下搜索结果来回答。”引用来源。结果: [...]'
4
将增强提示转发给本地 LLM
使用丰富的消息数组发送到 Ollama /api/chat 或 vLLM /v1/chat/completions。
5
将接地响应返回给用户
当地的法学硕士现在用真实的数据而不是幻觉来回答。
Python 实现
Python
import requests, os
scavio_key = os.environ["SCAVIO_API_KEY"]
user_query = "What is the current price of NVIDIA stock?"
search_resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": scavio_key},
json={"query": user_query, "platform": "google", "limit": 5})
context = "\n".join(f"- {r['title']}: {r['snippet']}" for r in search_resp.json().get("results", []))
ollama_resp = requests.post("http://localhost:11434/api/chat",
json={"model": "qwen2.5:7b", "messages": [
{"role": "system", "content": f"Answer using these search results. Cite sources.\n{context}"},
{"role": "user", "content": user_query}
]})
print(ollama_resp.json()["message"]["content"])JavaScript 实现
JavaScript
const query = "What is the current price of NVIDIA stock?";
const searchResp = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ query, platform: "google", limit: 5 })
});
const context = (await searchResp.json()).results.map(r => `- ${r.title}: ${r.snippet}`).join("\n");
const llmResp = await fetch("http://localhost:11434/api/chat", {
method: "POST",
body: JSON.stringify({ model: "qwen2.5:7b", messages: [
{ role: "system", content: `Answer using these search results. Cite sources.\n${context}` },
{ role: "user", content: query }
]})
});
console.log((await llmResp.json()).message.content);使用的平台
包含知识图谱、PAA和AI概览的网页搜索