<br><ul><li>系统整体思路在第一篇文章中做了介绍。</li><li>CloudFormation代码在第二篇文章中做了介绍。</li></ul><p>在部署的时候,我们会生成两个Lambda Functions,但是你会发现他们都无法正常运行,比如你会在Step Fuctions中看到如下的问题。</p><p><b>"errorMessage": "Error: Cannot find module 'app'\ Re【【微信】】:\ - /var/runtime/index.mjs"</b></p><p>这个错误信息表示在执行代码时无法找到名为'app'的模块,导致代码无法继续执行。在这里是因为我们还没有部署环境。可以尝试以下方法进行环境部署,包括import openai</p><p>Deploy Node.js Lambda functions with .zip file archives</p><figure><figcaption>左侧可以看到配置好的Lambda环境</figcaption></figure><p><b> "errorMessage": "SyntaxError: Cannot use import statement outside a module"</b></p><p>注意在package.json文件中,需要加入"type": "module",指定该项目使用的是 ECMAScript 模块的语法。</p><div><pre><code>{ "【【微信】】": "what is AWS Polly?" } { "statusCode": 200, "body": "{\\"Answer\\":\\"what is AWS Polly?\\\ \\\ AWS Polly is an Amazon Web Services (AWS) 【【微信】】ext into lifelike speech. It uses deep learning technologies to synthesize speech that sounds like a human voice. 【【微信】】nguages and allows users to create applications that talk, enabling a more natural way of interacting with applications using voice.\\"}" }</code></pre></div> <hr><h1 style="font-size: 38px;color: #4d4f53;">如何在小红书隐藏赞过 小红书的兴趣标签怎么设置</h1>如何在小红书上卖商品,如何在小红书上赚钱,如何在小红书上快速涨粉,如何在小红书下载无水印图片<br><p>ChatPDF这个应用最近非常火,用户只要上传自己的pdf就可以通过聊天的方式询问这个PDF的内容。我上传了阿里Java开发手册尝试了一下,效果还是很惊艳的,读一本书的效率瞬间提高了很多。</p><figure><figcaption>ChatPDF 总结Java规范要点</figcaption></figure><p>在网上搜索了一下ChatPDF的实现原理,发现了这篇文章,,这篇文章是根据这个开源库来总结的,大概就是将源数据拆成若干片段,然后获取这些片段的embedding。再获取问题的embedding,根据embedding计算片段和问题最接近的n个片段,然后将这些片段塞给ChatGPT,用户对ChatGPT询问,ChatGPT会根据塞给的n个片段进行回答。总结来说ChatGPT的优势在于将已有的知识用更人性化的方式说了一遍。</p><p>我在想是不是可以用同样的方法来做一个小工具,然后想到了小红书,小红书推文分为标题、内容和标签三个主要部分,是不是可以做一个根据小红书内容生成标题或者标签的AI工具。我们先用chatgpt测试一下它是不是具备这样的功能。我们先问一下ChatGPT是不是知道小红书,确定它理解小红书这个应用。然后输入一个小红书的推文内容,让ChatGPT生成给出一个吸引人的标题。</p><figure><figcaption>ChatGPT 生成小红书标题</figcaption></figure><p>从生成的结果上看还是可以得到一个不错的结果的。</p><p>根据最新的消息,openai已经开发了chatgpt的接口,我翻阅了openai的文档,根据openai文档上显示的chatgpt模型目前不能训练,只能塞给chatgpt api一些上下文信息,然后对chatgpt进行询问得到答案。这个限制导致我们不能训练特定类型的chatgpt,不过我们可以在chatgpt上预设一些示例对话内容:</p><div><pre><code>{"role": "system", "content": "你是一个小红书作家,我输入一篇小红书推文,你给这个小红书起一个名字。"} {"role": "user", "content": "小红书的内容"} {"role": "assistant", "content": "小红书的标题"} {"role": "user", "content": "小红书的内容"}</code></pre></div><p>最后一条消息是让chatgpt生成一个指定小红书的内容。类似的也可以让chatgpt根据推文内容生成小红书风格的标签;根据标题或者标签生成推文内容。</p><p>OpenAI 还提供一种自己训练模型的方法,fine tuning。准备promt和completion数据然后训练模型,最后使用这些模型来补全生成的内容。</p><div><pre><code>{"prompt": "推文内容1", "completion": "标题1"} {"prompt": "推文内容2", "completion": "标题2"}</code></pre></div><p>我使用davinci模型作为基础模型,然后将准备的数据上到openai,调用fine-tune接口训练模型。将训练成功的模型传给【【淘密令】】接口进行调用,传入需要测试的推文内容,得到结果。</p><div><pre><code><span class="c1"># 准备训练数据</span> <span class="n">messages</span> <span class="o">=</span> <span class="p">[]</span> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'posts.csv'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> <span class="n">【【微信】】</span> <span class="o">=</span> <span class="n">csv</span><span class="o">.</span><span class="n">【【微信】】</span><span class="p">(</span><span class="n">f</span><span class="p">)</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">【【微信】】</span><span class="p">:</span> <span class="n">messages</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">({</span><span class="s2">"prompt"</span><span class="p">:</span> <span class="n">rows</span><span class="p">[</span><span class="s1">'prompt'</span><span class="p">],</span> <span class="s2">"completion"</span><span class="p">:</span> <span class="n">row</span><span class="p">[</span><span class="s1">'completion'</span><span class="p">]}))</span> <span class="c1"># 写入训练数据到文件,文件必须是JSON Lines格式,https://jsonlines.readthedocs.io/en/latest/</span> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'train.jsonl'</span><span class="p">,</span> <span class="s1">'a'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> <span class="k">for</span> <span class="n">message</span> <span class="ow">in</span> <span class="n">messages</span><span class="p">:</span> <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">message</span> <span class="o">+</span> <span class="s2">"</span><span class="se">\ </span><span class="s2">"</span><span class="p">)</span> <span class="c1"># 上传训练数据到OpenAI</span> <span class="n">upload_file</span> <span class="o">=</span> <span class="n">openai</span><span class="o">.</span><span class="n">File</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">file</span><span class="o">=</span><span class="nb">open</span><span class="p">(</span><span class="s2">"train.jsonl"</span><span class="p">),</span> <span class="n">purpose</span><span class="o">=</span><span class="s1">'fine-tune'</span><span class="p">,</span> <span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="n">upload_file</span><span class="p">)</span> <span class="c1"># 训练模型</span> <span class="n">【【微信】】</span> <span class="o">=</span> <span class="n">openai</span><span class="o">.</span><span class="n">FineTune</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">training_file</span><span class="o">=</span><span class="s1">'文件ID'</span><span class="p">,</span> <span class="n">model</span><span class="o">=</span><span class="s1">'davinci'</span><span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="n">【【微信】】</span><span class="p">)</span> <span class="c1"># 获取模型信息</span> <span class="n">【【微信】】</span> <span class="o">=</span> <span class="n">openai</span><span class="o">.</span><span class="n">FineTune</span><span class="o">.</span><span class="n">retrieve</span><span class="p">(</span><span class="nb">id</span><span class="o">=</span><span class="s1">'模型ID'</span><span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="n">【【微信】】</span><span class="p">)</span> <span class="c1"># 列出所有Fine Tune模型</span> <span class="n">fine_tune_models</span> <span class="o">=</span> <span class="n">openai</span><span class="o">.</span><span class="n">FineTune</span><span class="o">.</span><span class="n">list</span><span class="p">()</span> <span class="nb">print</span><span class="p">(</span><span class="n">fine_tune_models</span><span class="p">)</span> <span class="c1"># 测试模型效果</span> <span class="n">new_prompt</span> <span class="o">=</span> <span class="s2">"村上春树说:有的人会用一辈子治愈童年,有的人会用童年治愈一辈子。了解自己身上的习惯,看透自己原生家庭的痛和乐。</span><span class="se">\ </span><span class="s2">书名:《原生家庭》</span><span class="se">\ </span><span class="s2">作者: (美)苏珊・福沃德博士 / (美)克雷格・巴克</span><span class="se">\ </span><span class="s2">有毒家庭千千万,作者将其总结为“天下无不是的父母”、“不称职的父母”、“操控型的父母”、“酗酒型的父母”、“身体虐待型的父母”、“言语虐待型的父母”和“性虐待型的父母”,这些父母对孩子的负面模式持续存在(而不是偶尔的),始终支配着孩子的生活,影响着孩子与人的正常交际交往。</span><span class="se">\ </span><span class="s2">当然,要判断自己的原生家庭是否有毒确实不是一件容易的事情,因而苏珊还提供了调查问卷,帮助读者进行自测。</span><span class="se">\ </span><span class="s2">书中内容:</span><span class="se">\ </span><span class="s2">如何判断自己的原生家庭种类</span><span class="se">\ </span><span class="s2">有毒的父母会对孩子造成什么样的伤害?</span><span class="se">\ </span><span class="s2">做才能摆脱原生家庭的负面影响?</span><span class="se">\ </span><span class="s2">读完的感受:</span><span class="se">\ </span><span class="s2">简单来说,看完苏珊的《原生家庭:如何修补自己的性格缺陷》真的帮助我认识到自己许久以来人际交往的通病产生的本质原因。</span><span class="se">\ </span><span class="s2">发现自己,接纳自己,才会治愈自己。</span><span class="se">\ </span><span class="s2">很有意义的一本书。希望可以帮助到更多需要帮助的宝子。"</span> <span class="n">answer</span> <span class="o">=</span> <span class="n">openai</span><span class="o">.</span><span class="n">【【淘密令】】</span><span class="o">.</span><span class="n">create</span><span class="p">(</span> <span class="n">model</span><span class="o">=</span><span class="s1">'模型名'</span><span class="p">,</span> <span class="n">prompt</span><span class="o">=</span><span class="n">new_prompt</span><span class="p">,</span> <span class="n">max_tokens</span><span class="o">=</span><span class="mi">1000</span> <span class="p">)</span> <span class="nb">print</span><span class="p">(</span><span class="n">answer</span><span class="p">)</span></code></pre></div><p>最后结果是使用ChatGPT方法可以快速生成小红书标题和标签以及内容,但是不能用小红书数据训练ChatGPT让它变得更专业。使用Fine Tune方法可以使用自己的数据训练模型,效果根据训练数据来决定。</p><p>这进行上面这个探索的过程中,制作了一些工具用于解决一些问题。</p><p>为了使用Fine Tune方法训练模型,需要准备大量的小红书推文数据。工具核心的原理是在小红书APP上复制你要提取的推文链接,然后在电脑浏览器打开,使用插件提取小红书内容,将这些提取出来的数据存储到文件里。关于这个工具更详细的内容可以查看这篇文章:</p>Jerry学长:如何自动提取小红书推文数据?<p>这两个是脚本工具,用于和OpenAI接口进行交互,达到我们提交测试数据和获取结果的目的。</p>Jerry学长:如何通过 API 训练 ChatGPT ?Jerry学长:如何使用小红书数据微调 【【微信】】 模型实现自动生成小红书标题 AI 工具?<p>如果你想了解这个工具更多细节,可以点击下面的咨询链接联系我哦!</p>
本文地址:
/show-49791.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。



