ChatGpt结合Google文档完成自动化写作流程--1

article/2024/9/20 0:30:12

GPT机器人可以通过API连接谷歌文档,让我们进行文字创作和编辑。可以通过它,提供写作思路,创建标题,起草文章介绍和大纲,编写段落,最后总结全文。同时,在一篇文章里,还能帮我们插入图片。

写作流程:

  • 想法 (idea)
  • 标题 (title)
  • 介绍 (introduction)
  • 大纲 (outline)
  • 段落(内容)(content)
  • 结论 (conclusion)
  • // 建立一个下拉菜单
    function onOpen() {DocumentApp.getUi().createMenu("AI Editor").addItem("Generate Ideas", "generateIdeas").addItem("Generate Image", "generateImage").addToUi();
    }
    // ****菜单****// 输入API,模型选择text-davinci-003
    var apiKey = "xxxxxxxxxxxxx";
    var model = "text-davinci-003"
    // ****变量****// 生成指示,把xxxxxxx替换为具体功能
    function xxxxxxx() {
    var doc = DocumentApp.getActiveDocument()
    var selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText()
    var body = doc.getBody()
    var prompt = "xxxxxxxxxxxx " + selectedText;
    temperature= 0
    maxTokens = 2060const requestBody = {"model": model,"prompt": prompt,"temperature": temperature,"max_tokens": maxTokens,};const requestOptions = {"method": "POST","headers": {"Content-Type": "application/json","Authorization": "Bearer "+apiKey},"payload": JSON.stringify(requestBody)}
    const response = UrlFetchApp.fetch("https://api.openai.com/v1/completions", requestOptions);
    var responseText = response.getContentText();
    var json = JSON.parse(responseText);
    Logger.log(json['choices'][0]['text'])
    para = body.appendParagraph(json['choices'][0]['text'])
    }
    // ****指示****// 图片生成工具 - 尺寸 '256x256', '512x512', '1024x1024'
    function generateImage() {
    var doc = DocumentApp.getActiveDocument()var selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText()var body = doc.getBody()temperature= 0maxTokens = 2000
    var prompt2 = "Generate images for " + selectedText;const requestBody2 = {"prompt": prompt2,"n": 1,"size": "512x512"};const requestOptions2 = {"method": "POST","headers": {"Content-Type": "application/json","Authorization": "Bearer "+apiKey},"payload": JSON.stringify(requestBody2)}const response2 = UrlFetchApp.fetch("https://api.openai.com/v1/images/generations", requestOptions2);var responseText = response2.getContentText();var json = JSON.parse(responseText);var url1=json['data'][0]['url']body.appendImage(UrlFetchApp.fetch(url1).getBlob());
    }
    // ****图片****

    第一步打开Google文档,在工具栏寻找扩展程序,apps脚本

  • 修改function函数:1.先建立下拉表单。

    // 建立一个下拉菜单
    function onOpen() {DocumentApp.getUi().createMenu("AI Editor").addItem("Generate Ideas", "generateIdeas").addItem("Generate Title", "generateTitle").addItem("Generate Introduction", "generateIntroduction").addItem("Generate Outline", "generateOutline").addItem("Generate Paragraph", "generateParagraph").addItem("Generate Conclusion", "generateConclusion").addItem("Generate Image", "generateImage").addToUi();
    }
    // ****菜单****

     

     

    // 输入API"XXXXXXXXXXXXXXXX",模型选择text-davinci-003
    var apiKey = "XXXXXXXXXXXXXXXXX";
    var model = "text-davinci-003"
    // ****变量****
    //api的key,去openai的用户那里建立apikey:sk-************;
    

    效果如下:

     

    // 建立一个下拉菜单
    function onOpen() {DocumentApp.getUi().createMenu("AI Editor").addItem("Generate Ideas", "generateIdeas").addItem("Generate Title", "generateTitle").addItem("Generate Introduction", "generateIntroduction").addItem("Generate Outline", "generateOutline").addItem("Generate Paragraph", "generateParagraph").addItem("Generate Conclusion", "generateConclusion").addItem("Generate Image", "generateImage").addToUi();
    }
    // ****菜单****// 输入API"XXXXXXXXXXXXXXXX",模型选择text-davinci-003
    var apiKey = "XXXXXXXXXXXXXXXXX";
    var model = "text-davinci-003"
    // ****变量****// 给出5个想法
    function GenerateIdeas() {
    var doc = DocumentApp.getActiveDocument()
    var selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText()
    var body = doc.getBody()
    var prompt = "Please generate 5 ideas for " + selectedText;
    temperature= 0
    maxTokens = 2060const requestBody = {"model": model,"prompt": prompt,"temperature": temperature,"max_tokens": maxTokens,};const requestOptions = {"method": "POST","headers": {"Content-Type": "application/json","Authorization": "Bearer "+apiKey},"payload": JSON.stringify(requestBody)}
    const response = UrlFetchApp.fetch("https://api.openai.com/v1/completions", requestOptions);
    var responseText = response.getContentText();
    var json = JSON.parse(responseText);
    Logger.log(json['choices'][0]['text'])
    para = body.appendParagraph(json['choices'][0]['text'])
    }
    // ****指示****// 生成标题
    function generateTitle() {
    var doc = DocumentApp.getActiveDocument()
    var selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText()
    var body = doc.getBody()
    var prompt = "please choose and generate one article title only in Chinese out of " + selectedText;
    temperature= 0
    maxTokens = 2060const requestBody = {"model": model,"prompt": prompt,"temperature": temperature,"max_tokens": maxTokens,};const requestOptions = {"method": "POST","headers": {"Content-Type": "application/json","Authorization": "Bearer "+apiKey},"payload": JSON.stringify(requestBody)}
    const response = UrlFetchApp.fetch("https://api.openai.com/v1/completions", requestOptions);
    var responseText = response.getContentText();
    var json = JSON.parse(responseText);
    Logger.log(json['choices'][0]['text'])
    para = body.appendParagraph(json['choices'][0]['text'])
    }
    // ****标题****// 文章介绍
    function generateIntroduction() {
    var doc = DocumentApp.getActiveDocument()
    var selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText()
    var body = doc.getBody()
    var prompt = "please generate an introduction in Chinese for this article talking about " + selectedText;
    temperature= 0
    maxTokens = 2060const requestBody = {"model": model,"prompt": prompt,"temperature": temperature,"max_tokens": maxTokens,};const requestOptions = {"method": "POST","headers": {"Content-Type": "application/json","Authorization": "Bearer "+apiKey},"payload": JSON.stringify(requestBody)}
    const response = UrlFetchApp.fetch("https://api.openai.com/v1/completions", requestOptions);
    var responseText = response.getContentText();
    var json = JSON.parse(responseText);
    Logger.log(json['choices'][0]['text'])
    para = body.appendParagraph(json['choices'][0]['text'])
    }
    // ****文章介绍****// 文章大纲
    function generateOutline() {
    var doc = DocumentApp.getActiveDocument()
    var selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText()
    var body = doc.getBody()
    var prompt = "please generate outline in Chinese for " + selectedText;
    temperature= 0
    maxTokens = 2060const requestBody = {"model": model,"prompt": prompt,"temperature": temperature,"max_tokens": maxTokens,};const requestOptions = {"method": "POST","headers": {"Content-Type": "application/json","Authorization": "Bearer "+apiKey},"payload": JSON.stringify(requestBody)}
    const response = UrlFetchApp.fetch("https://api.openai.com/v1/completions", requestOptions);
    var responseText = response.getContentText();
    var json = JSON.parse(responseText);
    Logger.log(json['choices'][0]['text'])
    para = body.appendParagraph(json['choices'][0]['text'])
    }
    // ****大纲****// 段落
    function generateParagraph() {
    var doc = DocumentApp.getActiveDocument()
    var selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText()
    var body = doc.getBody()
    var prompt = "please write a paragraph in Chinese for " + selectedText;
    temperature= 0
    maxTokens = 2060const requestBody = {"model": model,"prompt": prompt,"temperature": temperature,"max_tokens": maxTokens,};const requestOptions = {"method": "POST","headers": {"Content-Type": "application/json","Authorization": "Bearer "+apiKey},"payload": JSON.stringify(requestBody)}
    const response = UrlFetchApp.fetch("https://api.openai.com/v1/completions", requestOptions);
    var responseText = response.getContentText();
    var json = JSON.parse(responseText);
    Logger.log(json['choices'][0]['text'])
    para = body.appendParagraph(json['choices'][0]['text'])
    }
    // ****段落****// 结论
    function generateConclusion() {
    var doc = DocumentApp.getActiveDocument()
    var selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText()
    var body = doc.getBody()
    var prompt = "please summarize as the conclusion for " + selectedText;
    temperature= 0
    maxTokens = 2060const requestBody = {"model": model,"prompt": prompt,"temperature": temperature,"max_tokens": maxTokens,};const requestOptions = {"method": "POST","headers": {"Content-Type": "application/json","Authorization": "Bearer "+apiKey},"payload": JSON.stringify(requestBody)}
    const response = UrlFetchApp.fetch("https://api.openai.com/v1/completions", requestOptions);
    var responseText = response.getContentText();
    var json = JSON.parse(responseText);
    Logger.log(json['choices'][0]['text'])
    para = body.appendParagraph(json['choices'][0]['text'])
    }
    // ****结论****// 图片生成工具 - 尺寸 '256x256', '512x512', '1024x1024'
    function generateImage() {
    var doc = DocumentApp.getActiveDocument()var selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText()var body = doc.getBody()temperature= 0maxTokens = 2000
    var prompt2 = "Generate one piece of colorful picture for " + selectedText;const requestBody2 = {"prompt": prompt2,"n": 1,"size": "512x512"};const requestOptions2 = {"method": "POST","headers": {"Content-Type": "application/json","Authorization": "Bearer "+apiKey},"payload": JSON.stringify(requestBody2)}const response2 = UrlFetchApp.fetch("https://api.openai.com/v1/images/generations", requestOptions2);var responseText = response2.getContentText();var json = JSON.parse(responseText);var url1=json['data'][0]['url']body.appendImage(UrlFetchApp.fetch(url1).getBlob());
    }
    // ****图片****


http://chatgpt.dhexx.cn/article/6dSvcb9f.shtml

相关文章

每日一个 ChatGPT 使用小技巧系列之1 - 给出提纲,让 ChatGPT 帮你写作

我以前写过一篇文章,介绍了我日常工作和学习中使用 ChatGPT 的一些技巧: 与其整天担心 AI 会取代程序员,不如先让 AI 帮助自己变得更强大 为代码生成对应的单元测试代码 利用 ChatGPT 帮助自己研读经典框架的源代码 代码重构和性能优化 阅读…

使用ChatGPT最新版实现批量写作,打造丰富多彩的聚合文章

随着人工智能的迅猛发展,ChatGPT最新版作为一种自然语言处理模型,可以为我们提供强大的文本生成能力。在这篇文章中,我们将探讨如何利用ChatGPT最新版来实现批量写作,从而打造丰富多彩的聚合文章。 一、ChatGPT最新版简介 Chat…

玩转ChatGPT:论文辅助写作(附Claude测评)

一、写在前面 嘿!嘿!嘿!大家好,今天我们来聊一下使用GPT们进行论文辅助写作。不过,我要先交代一下,GPT的使用门槛比较高,不少童鞋都用不上。所以,我极力推荐一个平替产品——Claude…

ChatGPT写程序如何?

前言 ChatGPT最近挺火的,据说还能写程序,感到有些惊讶。于是在使用ChatGPT有一周左右后,分享一下用它写程序的效果如何。 1、对于矩阵,把减法操作转换加法? 感觉不错的,能清晰介绍原理,然后写示…

ChatGPT初学者写作教程

ChatGPT初学者写作教程 ChatGPT Quickstart for the ChatGPT Curious 和 Beginners – 了解这个 OpenAI 聊天机器人革命,即 ChatGPT! 课程英文名:ChatGPT for Beginners - Get Up & Running with ChatGPT Now 此视频教程共8.0小时&#x…

想用ChatGPT写作?或许没你想的那么神奇...

ChatGPT让AI进化到了新高度,它不但懂你还能够回答问题。这与传统中的网络检索、语义识别不太一样。核心是基于自然语言处理(NLP)的聊天机器人技术。 说简单点,就是可以直接打字和机器人聊天,并且得到你想要的答案。 网…

ChatGPT如何写作-chatGpt自动写文章

ChatGPT如何写作 使用 ChatGPT 进行写作一般可以遵循以下步骤: 定义写作主题和目的。确定写作主题和目的,包括要解决的问题、目标读者群体以及需要涵盖的主要内容。 收集文献和资料。收集与主题相关的文献和资料,可以从互联网、书籍、报刊杂…

ChatGPT 提示词设置

提示词 Prompt(提示词):当我们询问GPT时,发送的消息就是Prompt。 通过给出合适的Prompt,可以让GPT了解我们的想法,在根据我们的想法做出更加合适的判断,帮助我们完成任务,提高效率。…

【ChatGPT进阶】如何使用ChatGPT写小说?

ChatGPT文本处理能力是毋庸置疑的,可以使用上下文相关的文本来进行自动推理和生成。 它可以用来帮助写以更快的速度完成文章。 它可以参考上下文,以提供有用的洞察力和见解。 它可以大大提高写文章的效率。 它可以从上下文中提取关键信息,…

【ChatGPT进阶】如何使用ChatGPT写周报?

作为打工人,真的很讨厌写周报。每次都要绞尽脑汁的想措辞,既要总结工作内容,还要进行润色,要突出自己的能力和工作结果,还要弱化做的不好的地方。每一个字都要消耗一大堆的脑细胞。 Chatgpt的出现真的是职场人的福音&…

刷榜GitHub!中科院学术科研专用版 ChatGPT开源了!斩获24K star。。论文润色、语法检查,一键搞定!...

最近,一位开发者在GitHub上开源的「科研工作专用ChatGPT」项目大受好评。论文润色、语法检查、中英互译、代码解释等等一键搞定。这个项目就是「中科院学术专业版 ChatGPT」。 自从ChatGPT发布之后,各路大神都开始研究如何把它加入到自己的「科研工作流」…

GPT润色论文的 10 个指令!

以下是 10个实际使用 ChatGPT 进行润色的例句: 1、精简文章内容: 输入“删除不必要的内容〞,可以删除文章中的冗余内容,使文章更加紧凌。例如:文章中有些内容并不是与主题相关,使其文章会更加简洁明了。 …

基于ChatGPT完美替代 Grammarly润色和语法纠错的免费插件!

OpenAI Polisher Bob Plugin 简介 ChatGPT 向我们展示了 GPT 模型的伟大之处,所以我使用 ChatGPT 的 API 实现了这个用来给语言润色和语法纠错的 Bob 插件,效果拔群!完美替代 Grammarly! 使用截图 使用方法 安装 Bob (版本 > 0.50)下载此插…

火爆全球的ChatGPT是什么?

引言 ChatGPT 最近非常火,引发各界关注。吸引了几亿人在使用。报道中充斥了各种言论:“学生用 ChatGPT 写作业”、“上线两个月活跃用户破亿”、“以后很多文案工作者要被 ChatGPT 取代了!”等等。究竟什么是 ChatGPT?用途有哪些…

“ChatGPT 正在取代员工”,最新 ChatGPT 调查报告发布!

编译 | 苏宓 出品 | CSDN(ID:CSDNnews) 随着 2022 年 11 月 ChatGPT 的出现,AI 将会对人类的工作带来哪些影响,成为不少人焦虑的关键所在。毕竟 ChatGPT 不仅能回答任何问题,还能自动生成内容、编写代码、写…

chatGPT开发公司

OpenAI是chatGPT的开发公司,成立于2015年,总部位于美国旧金山。OpenAI致力于开发和推广人工智能技术,包括自然语言处理、视觉识别、机器学习等领域,旨在推动人工智能技术对全球社会和经济的影响和发展。 除了chatGPT之外&…

美国有50%企业在用ChatGPT了!一半人表示员工已被AI取代

来源:新智元报道 编辑:Aeneas Ellie 【导读】美国最新调查显示,50%企业已经在用ChatGPT了,一半人表示,ChatGPT已经替代了员工。这一天终于来了? ChatGPT果然开始取代人类了! 美国《财富》杂志…

ChatGPT引爆变革:第二个被颠覆的行业——在线客服

引言:随着人工智能技术的不断发展,许多行业都面临着前所未有的变革。ChatGPT,一种先进的自然语言处理技术,在内容创作领域取得了显著成果。如今,它正逐渐进入另一个领域——在线客服。本文将探讨ChatGPT如何改变在线客…

ChatGPT概述简介:史上最强AI,即将取代人类?

概述: ChatGPT,美国“开放人工智能研究中心”研发的聊天机器人程序 ,于2022年11月30日发布 。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动…

在IDEA中使用chatgpt

前言 ChatGPT是目前最强大的AI,不仅能够聊天、写小说,甚至码代码也不在话下。 但是在国内要使用chatgpt很麻烦,国内一家团队开发了一款idea插件NexChatGPT,用数据代理的方式,让我们在国内也能轻松的使用chatgpt。 一…