Chrome插件:获取公众号内容,接入百度云大模型进行筛选返回

211 阅读1分钟

一、获取百度api大模型接口

首先去 百度智能云千帆大模型平台 完成注册并认证成为个人/企业开发者。

进入 百度智能云控制台 创建应用,输入应用的名称以及描述,生成每个应用唯一的 AppID、API Key、Secret Key。

image.png

通过网页调用HTTP获取access_token aip.baidubce.com/oauth/2.0/t… Key]&client_secret=[Secret Key]

二、使用laf进行调用

首先进入 Laf官网 注册登录并实名认证。

然后新建应用

image.png

把access_token填写到环境变量里

image.png

开发云函数

  const access_token = process.env.ACCESS_TOKEN;
  const url = `https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=${access_token}`;
  const messages = ctx.request.body.messages;
  
  if (!messages) {
    return
  }
  console.log(messages)
  messages.forEach((item) => {
    if (item.content) {
      item.content = item.content.substring(0, 100);
    }
  })
  const responseFun = await fetch(url, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify(ctx.request.body),
  });

  const data = await responseFun.json()
  return data
}

然后开发chrome插件,创建manifest.json文件配置参数

    {
    "manifest_version": 2,
    "name": "WeChat Article Summarizer",
    "version": "1.0",
    "background": {
        "scripts": ["background.js"],
        "persistent": false
    },
    "browser_action": {
        "default_icon": "icon.png"
    },
    "permissions": [
        "tabs",
        "<all_urls>"
    ]
}

然后开发background.js

    chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript({
        code: 'document.body.innerText;'
    }, function(result) {
        fetch('https://ohqdxx.laf.run/test', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({
                "messages": [{
                    "role": "user",
                    "content": result[0] || "No content",
                }],
                "stream": false
            })
        }).then(response => {
            return response.json()
        }).then(data => {
            console.log(data)
        })
    });
});