教程:如何修改脚本以更换 AI 模型
CONFIG
配置部分,并更新 API 的 URL 和你的个人 Key。zhiyeyaoshi.user.js
。AI_API_SETTINGS
对象,大约在第 29 行。JavaScript// ...
AI_API_SETTINGS: {
// =======================================================================
// !!! 重要:请在此处填入您自己的 DeepSeek API Key !!!
// !!! IMPORTANT: Please replace the key below with your own DeepSeek API Key !!!
// =======================================================================
API_KEY: '请在此处填入您自己的 DeepSeek API Key', // <--- 在这里修改
DEEPSEEK_API_URL: 'https://api.deepseek.com/chat/completions', // <--- 在这里修改
},
//...
API_KEY
: 将 '请在此处填入您自己的 DeepSeek API Key'
替换为 新 AI 服务提供给你的 API Key。DEEPSEEK_API_URL
: 将 '
https://api.deepseek.com/chat/completions'
替换为 新 AI 服务的 API 端点(Endpoint URL)。askAiForAnswer
函数内部构建 payload
的部分。askAiForAnswer
函数,大约在第 345 行。JavaScript// ...
function askAiForAnswer(question) {
return new Promise((resolve, reject) => {
const payload = { model: "deepseek-chat", messages: [{ "role": "system", "content": "你是一个乐于助人的问题回答助手。聚焦于执业药师相关的内容,请根据用户提出的问题,提供准确、清晰、的解答。注意回答时仅仅包括答案,不允许其他额外任何解释" }, { "role": "user", "content": question }], temperature: 0.2 }; // <--- 在这里修改
GM_xmlhttpRequest({
// ...
model
: 将 "deepseek-chat"
更改为您想使用的新模型的具体名称,例如 "gpt-4o"
或 "gemini-1.5-pro-latest"
。payload
结构 (如果需要):payload
结构是为与 OpenAI API 兼容的服务设计的 ({model: "...", messages: [...]}
格式)。payload
对象。Bearer
令牌进行认证,但并非全部。如果新 AI 服务有不同的认证方式,你需要调整 headers
部分。askAiForAnswer
函数内部,找到 GM_xmlhttpRequest
的调用部分。JavaScript// ...
GM_xmlhttpRequest({
method: 'POST',
url: CONFIG.AI_API_SETTINGS.DEEPSEEK_API_URL,
headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${CONFIG.AI_API_SETTINGS.API_KEY}` }, // <--- 可能需要修改
data: JSON.stringify(payload),
// ...
Authorization
: 如果您的新 AI 服务使用不同的认证请求头,例如 x-api-key
,您需要将 Authorization
这一行修改为新的格式。'x-api-key': CONFIG.AI_API_SETTINGS.API_KEY
GM_xmlhttpRequest
的 onload
回调函数中。JavaScript// ...
onload: (response) => {
try {
const result = JSON.parse(response.responseText);
if (result.choices && result.choices.length > 0) {
resolve(result.choices[0].message.content.trim()); // <--- 在这里修改
} else {
reject('AI响应格式不正确。');
}
} catch (e) {
reject(`解析AI响应失败: ${e.message}`);
}
},
// ...
result.choices[0].message.content
来获取答案,这是 DeepSeek 和 OpenAI 的标准格式。本教程由 AI 自动生成