首页 > 其他分享 >用 ChatGPT 做一个 Chrome 扩展 | 京东云技术团队

用 ChatGPT 做一个 Chrome 扩展 | 京东云技术团队

时间:2023-09-01 11:47:04浏览次数:51  
标签:翻译 Chrome text API animal ChatGPT 京东

用ChatGPT做了个Chrome Extension

最近科技圈儿最火的话题莫过于ChatGPT了。

最近又发布了GPT-4,发布会上的Demo着实吸睛。

笔记本上手画个网页原型,直接生成网页。网友直呼:前端失业了!

但我觉着啊,真就外行看热闹,内行看笑话。虽然ChatGPT很强大,但没有经过针对某个领域自定义化过的模型真就没啥用。。。
就比如写代码这事儿,我觉着还不如GitHub的Copilot用着方便。

回归我们的主题,今天咱就蹭蹭热度,用ChatGPT的API做个Chrome Extension。

说实话,开始还真没想到能用ChatGPT做点儿啥,后来看过一些视频,发现用它来做翻译比较好,感觉没有以往的翻译软件生硬。甚至你可以让他模仿某位大师的风格去翻译。惊了!

我就想,是不是可以把他和Chrome Extension组合下,来个划词翻译。

开干

我们可以用官网提供的脚手架快速起一个ChatGPT应用:

git clone https://github.com/openai/openai-quickstart-node.git

运行前你需要去openai生成一个OPENAI_API_KEY!

它是一个Next应用,运行起来是一个给宠物起名字的页面,你可以输入动物名称,他会生成相应的名字。

我们看下源码实现,下面这段比较关键:

const completion = await openai.createCompletion({
  model: "text-davinci-003",
  prompt: generatePrompt(req.body.animal),
  temperature: 0.6,
});

text-davinci-003是使用的模型,他是专门用来处理语言相关的模型:

image

有兴趣可以看官网文档对Text Completion的解释。

temperature是一个0-2之间的系数,用来表示结果的贴合度,越大结果就越发散,越小就越针对你的问题。

prompt这里比较关键,就是提问的艺术了。你对问题的描述越详细,它的反馈就越贴近你想要的。
示例代码给我们打了个样儿:

function generatePrompt(animal) {
  const capitalizedAnimal = animal[0].toUpperCase() + animal.slice(1).toLowerCase();
  return `Suggest three names for an animal that is a superhero.

Animal: Cat
Names: Captain Sharpclaw, Agent Fluffball, The Incredible Feline
Animal: Dog
Names: Ruff the Protector, Wonder Canine, Sir Barks-a-Lot
Animal: ${capitalizedAnimal}
Names:`;
}

我们要做的是划词翻译,这里我们改一下:

function generatePrompt(text) {
 return `Please translate the following text into chinese: 
 Text: ${text}
 Result:`;
}

运行试下,还不错。

到这里其实我们相当于把划词翻译的API做完了。然后就是找地方部署下,部署Next应用当然用Vercel,自家的东西。

标签:翻译,Chrome,text,API,animal,ChatGPT,京东
From: https://www.cnblogs.com/Jcloud/p/17671444.html

相关文章

  • 文心一言 VS 讯飞星火 VS chatgpt (84)-- 算法导论8.2 1题
    一、用go语言,参照图8-2的方法,说明COUNTING-SORT在数组A=(6,0,2,0,1,3,4,6,1,3,2)上的操作过程。文心一言:CountingSort是一种非比较型整数排序算法,适用于一定范围内的整数排序。它的基本思想是,对每一个输入元素x,确定小于x的元素个数,从而确定x在输出数组中的位置。下面是使用Go......
  • Chrome版本在115及以上ChromeDriver下载地址
    原地址:http://chromedriver.storage.googleapis.com/index.html中看到最新驱动版本为114,而Chrome的版本已经到116,使用驱动为114会报版本不匹配的错误解决方法:115及以上版本下载地址:https://googlechromelabs.github.io/chrome-for-testing/驱动下载地址中提示115及以上在另......
  • chrome devTool 有什么使用技巧么?
    mark一下:ChromeDevTools:10UsefulTips&TricksChromeDevTools-20+TipsandTricks......
  • 文心一言 VS 讯飞星火 VS chatgpt (83)-- 算法导论8.1 4题
    四、用go语言,假设现有一个包含n个元素的待排序序列。该序列由n/k个子序列组成,每个子序列包含k个元素。一个给定子序列中的每个元素都小于其后继子序列中的所有元素,且大于其前驱子序列中的每个元素。因此,对于这个长度为n的序列的排序转化为对n/k个序列中的k个元素的排序。试证......
  • 搭建自己的ChatGPT智能问答,HelpLook ChatBot 正式上线!
    基于已有内容的站点或现成文档零代码快速导入即可生成自己专属的ChatGPT智能问答机器人HelpLookChatBot,正式发布上线!只需连接您的数据源,HelpLook就能为您的数据创建一个类似ChatGPT的聊天机器人。您可以将它作为小工具以JS的方式添加到您的任意网站,或API集成的方式,与您专属......
  • redis分布式锁,setnx+lua脚本的java实现 | 京东物流技术团队
    1前言在现在工作中,为保障服务的高可用,应对单点故障、负载量过大等单机部署带来的问题,生产环境常用多机部署。为解决多机房部署导致的数据不一致问题,我们常会选择用分布式锁。目前其他比较常见的实现方案我列举在下面:基于缓存实现分布式锁(本文主要使用redis实现)基于数据库实现分布......
  • 撮合前端平台在低代码平台的落地实践 | 京东云技术团队
    在京东技术的发展当下,不同的业务线,不同的区域,甚至于很多触达消费者的端,正在被中台架构能力所支撑。大家都很清楚,中台建设能够带来技术的规模化效应,具有提高业务协同、加速创新和交付速度、提高系统稳定性和可靠性、降低成本和支持业务快速发展等优势。中台架构往往和领域产品有密切......
  • [chrome]根据不同配置,区分开启/关闭chrome扩展程序
    我的Chrome中安装了很多插件其中一直装着ublockorigin这个去广告插件,很好用但在公司开发商业化广告相关项目,很多内容也会被这个插件屏蔽掉,会影响自己的开发。因为登录的是同一个google账户,扩展会被自动同步。如果能区分设备,在用公司电脑的时候去广告扩展关闭,在家里用电脑时......
  • 如何把一个接口设计好? | 京东云技术团队
    如何设计一个接口?是在我们日常开发或者面试时经常问及的一个话题。很多人觉得这不就是CRUD,能实现不就行了。单纯实现来说,并非难事,但要做到易用、易扩展、易维护并不是一件简单的事。这里并不强调一些个接口设计的原则或者设计方法,仅从如何设计一个好的接口出发,简单讨论。1、命名规......
  • 架构师日记-软件工程里的组织文化 | 京东云技术团队
    一引言本文是京东到家自动化测试体系建设过程中的一些回顾和总结,删减了部分系统设计与实践的章节,保留了组织与文化相关的内容,整理成文,以飨读者。下面就以QA(QualityAssurance)的视角来探讨工作中经常面临的问题与挑战。关于软件质量,不知道你有没有以下困惑:西医中“头疼医头,脚疼医脚......