<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>NotionNext BLOG</title>
        <link>https://ilovetech.cn/</link>
        <description>AIWizard的编程小世界</description>
        <lastBuildDate>Wed, 01 May 2024 15:13:46 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh-CN</language>
        <copyright>All rights reserved 2024, AI技术巫</copyright>
        <item>
            <title><![CDATA[体验完阿里的EMO模型，我emo了]]></title>
            <link>https://ilovetech.cn/article/ai_emo</link>
            <guid>https://ilovetech.cn/article/ai_emo</guid>
            <pubDate>Sat, 27 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[体验完阿里的EMO模型，我emo了]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-b96d5c89bc1f41af81a8d4d04e5d352f"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-c290f2014ae946dea843ef7afd17018e" data-id="c290f2014ae946dea843ef7afd17018e"><span><div id="c290f2014ae946dea843ef7afd17018e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#c290f2014ae946dea843ef7afd17018e" title="一、唠嗑"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><span class="notion-yellow">一、唠嗑</span></span></span></h4><div class="notion-text notion-block-12712dac8af743a68e1c3d9243e2cec0">近日，阿里宣布通义千问研发的AI模型—<b>EMO模型</b>正式上线<b>通义千问App</b>，并开放给所有用户免费使用。</div><div class="notion-blank notion-block-5dbba857f1d44114a401c97030238654"> </div><div class="notion-text notion-block-beb73f4faad543428fb14aa72956a817">简单来说，EMO（Emote Portrait Alive）是一个<b>AI肖像视频生成系统</b>，能够通过输入单一的参考图像，生成具有一定表现力的面部标签和各种头部姿态。</div><div class="notion-blank notion-block-261811666baa458580c19b3e3ce21b4b"> </div><div class="notion-text notion-block-639eb74ba8db4e7690adb200a312f323">（话说，是不是开发人员搞AI模型太痛苦了，所以才取了这个名字，哈哈😄）</div><div class="notion-blank notion-block-642efbf6d8384fb6aefae868c76e0bbf"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-331193543b024032903079fdaa71bf70" data-id="331193543b024032903079fdaa71bf70"><span><div id="331193543b024032903079fdaa71bf70" class="notion-header-anchor"></div><a class="notion-hash-link" href="#331193543b024032903079fdaa71bf70" title="二、如何体验"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><span class="notion-yellow">二、如何体验</span></span></span></h4><div class="notion-text notion-block-0025f700ec434d71a211f4ae0723ec21">首先是需要先下载通义千问App，但这个功能并没有在界面展示出来，需要手动输入 “<b>EMO</b>” 关键词出发</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-616fc854b51f4f6da8f4d033f7f481be"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:432px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F23dbeefc-5952-4a96-b259-1f661fb53dc9%2FUntitled.jpeg?table=block&amp;id=616fc854-b51f-4f6d-a8f4-d033f7f481be" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-b3e38e3e32e54c9db5a1ba11df413bde"> </div><div class="notion-text notion-block-b6a0ba7f3706472db885617b3f84d3ea">进入主页面后，可以发现目前主要有两个功能，一是<b>全民舞王</b>，二是<b>全民唱演</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-beded63689d84e78a70792d9902de680"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:432px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fcfcf4b6a-4e44-47e8-a284-abdd02c51018%2FUntitled.png?table=block&amp;id=beded636-89d8-4e78-a707-92d9902de680" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-a387e5ac3cbb42dbbf841a8da7924bf0"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-008db01fc5d44e72ad5179178882f8c9" data-id="008db01fc5d44e72ad5179178882f8c9"><span><div id="008db01fc5d44e72ad5179178882f8c9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#008db01fc5d44e72ad5179178882f8c9" title="三、全民舞王体验"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">三、全民舞王体验</span></span></h4><div class="notion-text notion-block-6c7119f750dc49c689649e77611f9999">全民舞王利用的是一种<b>AI生成3D骨骼</b>的技术。这种技术能够自动学习3D模型的形状和动作，并根据学习到的模型参数实现动画骨骼控制。</div><div class="notion-blank notion-block-2fe12d8a98494165b1a5081f01ed7843"> </div><div class="notion-text notion-block-fab3c4d3845047dcaae973d7a229182d">简单来说，比如你有这样一个模型</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-930cd46796934359873d5e9aae5c6026"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:480px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F758d7c0d-104f-460b-afda-a0dabd72e6bb%2FUntitled.png?table=block&amp;id=930cd467-9693-4359-873d-5e9aae5c6026" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-2b6d56e828f14f078ca5d9edc41e71a7"> </div><div class="notion-text notion-block-3b01a5aa0f594845a1d0e2cee6ce9021">通过这种技术，能够自动给它<b>画上骨架</b>，这样AI就能控制它做一些动作了</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-5ef25de2389341b1a9b72420546b57e6"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:480px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fd84ddd1b-49a3-4021-9de5-95ea39abd4b6%2FUntitled.png?table=block&amp;id=5ef25de2-3893-41b1-a9b7-2420546b57e6" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-7e2b3879576141f48ec8050403ad4c29"> </div><div class="notion-text notion-block-199ae307182d438fb82aeab6db2107d4">目前看得话，全民舞王生成的效果还是比较逼真的，比如看这个真人女孩：</div><figure class="notion-asset-wrapper notion-asset-wrapper-video notion-block-499115221a2f46deaf84b73f1484a2ed"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:480px;max-width:100%;flex-direction:column;height:320px"><video playsinline="" controls="" preload="metadata" src="https://notion.so/signed/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fca5ba7b1-4531-4250-81b7-bdc1993859e5%2FUntitled.mp4?table=block&amp;id=49911522-1a2f-46de-af84-b73f1484a2ed" title="video"></video></div></figure><div class="notion-text notion-block-8d8ab07ab89941d39e5c2d9309d3ed10">注：本视频来源于通义千问EMO首页视频，侵权删</div><div class="notion-blank notion-block-ce4642029dda4eadb9dc9a1df05ba690"> </div><div class="notion-text notion-block-12b19aa87e414c30bbf914caae4fb162">我体验的时候，为了避免侵权，使用的是AI生成的一个全身机器人，最终的效果如下，感觉还是不错的，这是照片：</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-dca10cd9976f4f0581108a6bd806837f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:480px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F0d8a00ab-0ecc-41ef-bc60-04bb567d6a49%2FUntitled.png?table=block&amp;id=dca10cd9-976f-4f05-8110-8a6bd806837f" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-5c25bafc2f264092ade213fb4aab0e29"> </div><div class="notion-text notion-block-9b3685e2487a4170841999d90c779e98">这是视频：</div><figure class="notion-asset-wrapper notion-asset-wrapper-video notion-block-51a09947feb5417f8f90185b16a7371d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:480px;max-width:100%;flex-direction:column;height:320px"><video playsinline="" controls="" preload="metadata" src="https://notion.so/signed/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F5fed71f6-754d-4038-b7b5-c8adf7f17050%2FUntitled.mp4?table=block&amp;id=51a09947-feb5-417f-8f90-185b16a7371d" title="video"></video></div></figure><div class="notion-blank notion-block-c7dafd5990c5409da896eca550b15feb"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-67de183bebad4741a3c5f6dbc91693c9" data-id="67de183bebad4741a3c5f6dbc91693c9"><span><div id="67de183bebad4741a3c5f6dbc91693c9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#67de183bebad4741a3c5f6dbc91693c9" title="四、全民唱演体验"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">四、<b>全民唱演体验</b></span></span></h4><div class="notion-text notion-block-114e8724e5ba454e95ea1bd5f5ca9667">全民舞王利用的是一种<b>口唇同步</b>的技术，这是一种<b>让画面人物的口型与所配的语音或文字信息精确匹配</b>的技术。这项技术能够使画面人物在说话时，其嘴唇的动作与发出的声音同步，从而在视觉和听觉上为观众提供一种更加自然和逼真的体验。</div><div class="notion-blank notion-block-ab6c0fe587d746a180db97106599bea5"> </div><div class="notion-text notion-block-7ebe3d8c6738420a9acd8eb75b41398b">目前在开源界，比较出名的口唇同步框架是 <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/Rudrabha/Wav2Lip"><code class="notion-inline-code">wav2lip</code></a>，如果是自己部署的话，会比较麻烦，搭环境估计都得折腾个几个小时，很容易在 <code class="notion-inline-code">opencv</code> 的版本上踩坑。</div><div class="notion-blank notion-block-f7adc73bd93a46ffb7153db27e7ef192"> </div><div class="notion-text notion-block-3e62f6172d6c484d8c3586ef75ef0a61"><code class="notion-inline-code">wav2lip</code> 支持两种模式，第一种是根据 <b>视频+音频</b> 的方式生成口唇同步的视频，第二种就是根据 <b>图片+音频</b> 的方式生成口唇同步的视频，也就是全民唱演这种方式。</div><div class="notion-blank notion-block-be9a37673fe141f59cbb371c7e621e1d"> </div><div class="notion-text notion-block-e2253b71815a4e1c85a3d176fcc66eb9">从理论上来说，<b>视频+音频</b> 的方式肯定是比<b>图片+音频</b> 的效果要更好，因为他相当于是每一帧画面都进行了口唇调整，所以整体效果肯定更好（需要注意的是，使用<code class="notion-inline-code">wav2lip</code> 需要保证视频里面的每一帧都是人脸）</div><div class="notion-blank notion-block-e36cc5cd170a45aeae33ad688faad51c"> </div><div class="notion-text notion-block-670357bf0f544c26b4bc5145bedf6525">下面看看全民唱演的效果：</div><figure class="notion-asset-wrapper notion-asset-wrapper-video notion-block-bdc34c884f0147368d7b498873c7c38a"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:480px;max-width:100%;flex-direction:column;height:320px"><video playsinline="" controls="" preload="metadata" src="https://notion.so/signed/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F0f236de7-d274-4d8c-98f9-10ebc1c4115f%2FUntitled.mp4?table=block&amp;id=bdc34c88-4f01-4736-8d7b-498873c7c38a" title="video"></video></div></figure><div class="notion-blank notion-block-22e698e2a90d4e2e80cd9085f2b00023"> </div><div class="notion-text notion-block-0ee2e85994144ea6808d9d0318cfe171">可以看到，全民唱演的效果目前还不是很理想，还是很容易就看出是AI生成的，因为你可以看到只有嘴巴周围的部位在动，其他地方是几乎没动的。</div><div class="notion-blank notion-block-33b6ba7d59fb43fdb01b3a1f8432606b"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-015912bd5ac24223bcb740f04a5106c4" data-id="015912bd5ac24223bcb740f04a5106c4"><span><div id="015912bd5ac24223bcb740f04a5106c4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#015912bd5ac24223bcb740f04a5106c4" title="五、潜在的风险"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">五、潜在的风险</span></span></h4><div class="notion-text notion-block-d842fbf3cb7647fa923ba395d53e22a6">虽然科技能带来进步，但它带来的风险同样不可忽视！</div><div class="notion-blank notion-block-203caa1964854c0ea8309b1255b0bea2"> </div><div class="notion-text notion-block-0271be303af746f28e9e08c743338d43">第一就是<b>散布虚假信息</b>，因为通过这些技术，可以创建看似真实的视频，但其中的人物或角色说出他们实际上并未说过的话，这可能被用于误导公众、诽谤个人或散布虚假新闻，即所谓的“深度伪造”。</div><div class="notion-blank notion-block-b8fe96e4e3aa45a685ab5f4f939201a8"> </div><div class="notion-text notion-block-1e76795eca3943799bcd943fab4e0c74">第二就是<b>普通人被诈骗的可能性提高</b>，之前在B站看过一个视频，讲述就是一对母女通过微信视频通话，但是与之通话的女儿其实不是真实的，大家感兴趣可以看看</div><div class="notion-text notion-block-b4b12e74ce7a4023a6c88becb8d1f1ce"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.bilibili.com/video/BV1bQ4y1t7rc/?spm_id_from=333.337.search-card.all.click&amp;vd_source=b75c029d7a71b336051f36cea284effe">https://www.bilibili.com/video/BV1bQ4y1t7rc/</a></div><div class="notion-blank notion-block-2b6098147b8249488406c2b19eac9cb2"> </div><div class="notion-text notion-block-3a138bd67fb642eab8e4a53dd41c7065">第三就是<b>侵犯他人的隐私</b>，比如之前沸沸扬扬的数字人复活”已逝亲人”，特别是有些人在未经允许的情况下“复活”了一些明星，给他们的家人又带来了痛苦。</div><div class="notion-blank notion-block-bd0c6713cc9f4079ba3df187e078be6a"> </div><div class="notion-text notion-block-4262b37632704aacbf3c824415b97eff">总之，技术是一把双刃剑，希望我们每个人都能利用它好的部分！</div><div class="notion-blank notion-block-a789f414534a4f89aefafe25bd72356c"> </div><div class="notion-blank notion-block-774f993436574f92aa17ca6606f11fb2"> </div><div class="notion-blank notion-block-85436f158152438e9a50bddc4a8b5e4f"> </div><div class="notion-blank notion-block-6e7224df37e54731a68ad6ba45086b83"> </div><div class="notion-blank notion-block-cd7013a5d19645248307979caf4182f0"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Llama3 + CrewAI + Groq 实现邮件智能客服]]></title>
            <link>https://ilovetech.cn/article/ai_email_agent</link>
            <guid>https://ilovetech.cn/article/ai_email_agent</guid>
            <pubDate>Fri, 26 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Llama3 + CrewAI + Groq 实现邮件智能客服]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-71eb66a05b784282bc08d1c429176c02"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-69dd5bfb412644f19208542588633dd7" data-id="69dd5bfb412644f19208542588633dd7"><span><div id="69dd5bfb412644f19208542588633dd7" class="notion-header-anchor"></div><a class="notion-hash-link" href="#69dd5bfb412644f19208542588633dd7" title="一、唠嗑"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">一、唠嗑</span></span></h3><div class="notion-text notion-block-25a723d0544f491ab25695da2baa6ac6">如果说AI的到来，哪个行业最有危机感，我觉得电商客服应该是榜上有名的。目前像淘宝、京东其实也是先用AI客服进行回复，客户不满意才使用人工客服，从而达到<b>降本增效</b>的目的。</div><div class="notion-blank notion-block-e4e80422e8444647b2db28eee45172f7"> </div><div class="notion-text notion-block-806be69de837415a8c19a33b6d664267">而本次，就是使用 <code class="notion-inline-code"><b>Llama3 + CrewAI + Groq</b></code><b>  实现一个小的邮件智能客服</b>，即实现邮件的一个<b>智能回复</b>。这里也要说明下，关于用程序代码读取邮件，发送邮件的操作，此次并没有说明，主要是着重讲述AI这块。</div><div class="notion-blank notion-block-07a84f8aa15747909905bb7e30c6286e"> </div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-70e32df9ee70420cb8a4dd2ca4309760" data-id="70e32df9ee70420cb8a4dd2ca4309760"><span><div id="70e32df9ee70420cb8a4dd2ca4309760" class="notion-header-anchor"></div><a class="notion-hash-link" href="#70e32df9ee70420cb8a4dd2ca4309760" title="二、技术栈剖析"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">二、技术栈剖析</span></span></h3><div class="notion-text notion-block-25022f9623054bbf81ec5cabe67f06cf">此次主要涉及三个核心技术，分别是 <code class="notion-inline-code">Llama3、CrewAI</code> 和 <code class="notion-inline-code">Groq</code> 。</div><div class="notion-blank notion-block-1de8a34147174b7b99eb93b358ec8ec0"> </div><div class="notion-text notion-block-960c7c1550de44a88c2bef1d6b02e189"><code class="notion-inline-code">Llama3</code> 是一个Meta最近刚发布的开源大模型，一共有 <code class="notion-inline-code">Llama3-8B</code> 和 <code class="notion-inline-code">Llama3-70B</code>两个型号，关于它的详细介绍，我在之前的《关于Llama 3 AI大模型的几点总结》有过说明，这里不再赘述。</div><div class="notion-blank notion-block-931c614cf699484d95dc237cf0f9b0be"> </div><div class="notion-text notion-block-565a021cbfd34319bc40a4e4a5213bf3"><code class="notion-inline-code">CrewAI</code> 则是基于<code class="notion-inline-code">LangChain</code> 开发的一个<b>开源Agent框架</b>，旨在编排和协调多个自主AI Agent进行团队合作。</div><div class="notion-text notion-block-b506361948dc4f4ba12c8294744be7a7">
<code class="notion-inline-code">Groq</code> 是一家初创公司，但同时也是AI芯片领域的一匹黑马。<code class="notion-inline-code">Groq</code>之所以爆火，是因为他们推出了一款全新的 AI 芯片 <code class="notion-inline-code">LPU（Language Processing Unit）</code>，宣称做到了“地表最强推理”——在 <code class="notion-inline-code">Groq</code> 上运行大模型的推理速度，较英伟达 GPU 提高 10 倍，而成本只有其十分之一。</div><div class="notion-blank notion-block-d234026c4e20477a851ab3d5604ab030"> </div><div class="notion-text notion-block-c1e2473e1f4f4d40847cfce370e51fae"><code class="notion-inline-code">Groq</code>的成本是否真的能降低那么多我不太清楚，但是它的<b>推理速度是真的快！</b>我自己实测的话大概每秒能达到<code class="notion-inline-code">300Token</code>，相比之下，<code class="notion-inline-code">ChatGPT-3.5</code>每秒生成速度仅为<code class="notion-inline-code">40个token</code>，速度这块直接秒杀！</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-915cee8249ff43be81549c5290d21b70"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fd647fa19-595e-4e8c-aaf6-8c836e1128b3%2FUntitled.png?table=block&amp;id=915cee82-49ff-43be-8154-9c5290d21b70" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-da70be31228b42968b82010ade6e6c17"> </div><div class="notion-blank notion-block-0fb95282eb584eb7bfa806d9dc6c0b7c"> </div><div class="notion-text notion-block-6028c97c2fc845a7a4324bdcb718aba1">本次的核心流程其实也非常简单，就是通过将邮件回复拆成三个步骤，分别是<b>邮件分类、信息检索和邮件总结回复</b>，每一个步骤由<code class="notion-inline-code">Llama3</code>完成，<code class="notion-inline-code">Groq</code>主要是一个提供API的作用，最后使用<code class="notion-inline-code">CrewAI</code>编排这三个步骤即可。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-84b91f02207a4a8daba4049daafe2fb7"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F20ccfb8f-553b-47f4-9d4c-fd09a30f54b9%2FUntitled.png?table=block&amp;id=84b91f02-207a-4a8d-aba4-049daafe2fb7" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-0826aa4b99904180ae8180d5409fb8bd"> </div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-a856d7cd0b2049bfad8338bccb15162e" data-id="a856d7cd0b2049bfad8338bccb15162e"><span><div id="a856d7cd0b2049bfad8338bccb15162e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#a856d7cd0b2049bfad8338bccb15162e" title="三、项目实战"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">三、项目实战</span></span></h3><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-180e87f51bdc4085a52fd00fd78d7f03" data-id="180e87f51bdc4085a52fd00fd78d7f03"><span><div id="180e87f51bdc4085a52fd00fd78d7f03" class="notion-header-anchor"></div><a class="notion-hash-link" href="#180e87f51bdc4085a52fd00fd78d7f03" title="3.1 注册Groq账户"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>3.1 注册</b><b><code class="notion-inline-code">Groq</code></b><b>账户</b></span></span></h4><div class="notion-text notion-block-e868e339cc2148babeb23f4fbd680594">实现上面的智能客服，第一步我们需要注册一个<code class="notion-inline-code">Groq</code>的账号，注册完毕后跳到<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://console.groq.com/keys">这个页面</a>申请一个 <b>API Key</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-d46ef73d5eb143fc97d7d1beee02e065"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F9d0f09e9-830c-482c-a786-d4b10b8bce8f%2FUntitled.png?table=block&amp;id=d46ef73d-5eb1-43fc-97d7-d1beee02e065" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2bc82f652495424fbd738ad77a6910b1">需要注意的，这一步需要魔法辅助，并且<code class="notion-inline-code">API Key</code>只会展示一次，所以记得保存！</div><div class="notion-blank notion-block-f8a46789a197444ab1e9c74da678c0b6"> </div><div class="notion-text notion-block-1c94c5bdd1284a41ab43f3ea24808deb">目前 <code class="notion-inline-code">Groq</code> 是有免费版本的，只不过在调用方面有一定限制，但是也足够我们进行简单的测试了</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-d8f32e93c3c34f339ce7cbab96e1f524"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F4c43859c-2cb5-46b7-a004-edce61e0743c%2FUntitled.png?table=block&amp;id=d8f32e93-c3c3-4f33-9ce7-cbab96e1f524" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-96f13d3df95741dd98eb5b2ed4bbd0a0"> </div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-a98bfccb223b4ce8806f1261f187d56e" data-id="a98bfccb223b4ce8806f1261f187d56e"><span><div id="a98bfccb223b4ce8806f1261f187d56e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#a98bfccb223b4ce8806f1261f187d56e" title="3.2 创建Agent"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>3.2 创建Agent</b></span></span></h4><div class="notion-text notion-block-37df2e62a11b4978a02f5ba6a1c4cff0">在 <code class="notion-inline-code">CrewAI</code> 中，Agent就是一个我们设定的角色，它能够为我们执行任务，做出决策并与其他Agent进行通信。</div><div class="notion-blank notion-block-ac134bbadfb149efb8d240aa6695ac8e"> </div><div class="notion-text notion-block-d11d876464074e3e891503929c2a21ef">如果你用过<code class="notion-inline-code">Coze</code>或通义千问，这玩意其实就是<code class="notion-inline-code">Coze</code>的<code class="notion-inline-code">AI Bot</code>，以及通义千问里面的<b>智能体</b>。</div><div class="notion-blank notion-block-02e18256d01843728f300c4f196c694e"> </div><div class="notion-text notion-block-3679562d50c54fcfb31178a4fb8ffcea">前面提过，我将邮件回复拆成三个步骤，分别是<b>邮件分类、信息检索和邮件总结回复</b>，这其实就分别对应三个Agent。</div><div class="notion-blank notion-block-a0aa74ab605d440fa9788c52d063398d"> </div><div class="notion-text notion-block-53daeb3280ca43c799ba62fc6aaeaab2"><b>为什么要拆成三个Agent，而不是一个Agent搞定呢？</b></div><div class="notion-blank notion-block-3e9abfe3a8e94801bb8ad75ea3f69fe6"> </div><div class="notion-text notion-block-975cd6ba63fe49d4aa659b067884b2ad">我个人的看法是，如果你的步骤或者提问越精细，则AI的准确率会越高，一个Agent的话，AI要干的事情太多，不一定能给出一个很好的答案。</div><div class="notion-blank notion-block-8a28249d91824d50bad4dc215d80ba2b"> </div><div class="notion-text notion-block-0c444c7a7ac2460e94ebb590d055123f"><b>3.2.1 邮件分类Agent</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-495adb81d91c44ffaeafacdf705709e7"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F00ba352a-c047-4979-9afe-ad65e2bb8663%2FUntitled.png?table=block&amp;id=495adb81-d91c-44ff-aeaf-acdf705709e7" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-5ff78894b5ba4f9d85b385d9d2b78440">将邮件分类的目的是方便AI根据不同分类提供不同的话术，下面会讲到。</div><div class="notion-blank notion-block-7795dc09329e4a9393c7e24329933dc0"> </div><div class="notion-text notion-block-9109418b3a2e44dd9cff2757b8f86dc0">Agent参数解析如下：</div><ul class="notion-list notion-list-disc notion-block-6bea2617694a4d3cb47becea40410bd6"><li><code class="notion-inline-code">role</code>：Agent扮演的角色</li></ul><ul class="notion-list notion-list-disc notion-block-bead9848b25d417d972b3a1f601945c4"><li><code class="notion-inline-code">goal</code>：Agent的目标</li></ul><ul class="notion-list notion-list-disc notion-block-46a5be31ecfe46c8ae540a4d4ec6ca52"><li><code class="notion-inline-code">backstory</code>：为Agent提供背景</li></ul><ul class="notion-list notion-list-disc notion-block-cd8c07300e8b4e89ba0183939575b78e"><li><code class="notion-inline-code">llm</code>：Agent使用什么大模型</li></ul><ul class="notion-list notion-list-disc notion-block-89a810517e30408eb8a8a03488517587"><li><code class="notion-inline-code">verbose</code>：调试开关，如果为True，表示查看<code class="notion-inline-code">CrewAI</code>执行时的详细信息</li></ul><ul class="notion-list notion-list-disc notion-block-31dc8c57a2c846a5b66ad1a9e89bfdd2"><li><code class="notion-inline-code">allow_delegation</code>：是否允许将任务委派给其他Agent</li></ul><ul class="notion-list notion-list-disc notion-block-999074f7321546f4befe49373a395d88"><li><code class="notion-inline-code">max_iter</code> ： Agent执行任务的最大迭代次数</li></ul><ul class="notion-list notion-list-disc notion-block-3fee2498e02640b1a9e7395e8938ec8f"><li><code class="notion-inline-code">memory</code>：是否允许Agent拥有“记忆”</li></ul><ul class="notion-list notion-list-disc notion-block-6aef2014afb24d30861a06f0c31b3b7a"><li><code class="notion-inline-code">step_callback</code>：回调函数</li></ul><div class="notion-blank notion-block-bad658d3c7194714bd4dbee33b417fe0"> </div><div class="notion-text notion-block-e11448ebe78145e2abd3deff2435ac92"><b>3.2.2 信息检索Agent</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-ac2ecf635ccd4e1abc537a4c34ed169f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F586a8d72-9e62-4e60-972e-df98f7499163%2FUntitled.png?table=block&amp;id=ac2ecf63-5ccd-4e1a-bc53-7a4c34ed169f" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-5929c16c55a2435994c1392fbf84de08"> </div><div class="notion-text notion-block-9bf1a46926524e85925d8c96265557a3">这个Agent比上面的多了一个 <code class="notion-inline-code">tool</code> 参数，这个参数的作用是<b>指定Agent可以使用的工具</b>。</div><div class="notion-blank notion-block-238e61063fb640abba0eb2c7d225c0d9"> </div><div class="notion-text notion-block-723da7e8da6845f595097c858906a719">因为在邮件回复中，有一些内容可能涉及网络内容检索，而这里的 <code class="notion-inline-code">search_tool</code> 其实就是一个网络检索工具，使用的是 <code class="notion-inline-code">DuckDuckGo</code> 浏览器的检索功能。</div><div class="notion-blank notion-block-fadd0ef01c3a486e815431feda84f9c6"> </div><div class="notion-text notion-block-d3240274abd14dbd97bbe277459ee7fb"><b>3.2.3 邮件回复Agent</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-457fa651d90a4de792708eee660e4acc"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Ff1ef1c98-ab4e-4213-8679-156bd3bcc7c2%2FUntitled.png?table=block&amp;id=457fa651-d90a-4de7-9270-8eee660e4acc" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-b466c5bb97fa45ba86fd8843d03a7fb4"> </div><div class="notion-text notion-block-264f91153f3a42d590e13e43dc42c74e">这里其实就凸显出拆分成多个Agent的好处，可以根据不同的邮件分类，使用不同的回复方式。</div><div class="notion-blank notion-block-4e84076c3db6406f81936ede7c2b0435"> </div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-dae5c9e4cf2f489c9246dd693d95a89b" data-id="dae5c9e4cf2f489c9246dd693d95a89b"><span><div id="dae5c9e4cf2f489c9246dd693d95a89b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#dae5c9e4cf2f489c9246dd693d95a89b" title="3.3 创建Task"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>3.3 创建Task</b></span></span></h4><div class="notion-text notion-block-3433efcc871c4d238ecaf679ea55f091">在 <code class="notion-inline-code">CrewAI</code> 中，Task就是把任务分配到对应的Agent，Task里面封装了Agent执行该任务所需的所有信息，可以简单理解为我们<b>平时输入的提示词（会更完整）</b>。</div><div class="notion-blank notion-block-84816f33723742c08aff310c3b0d449f"> </div><div class="notion-text notion-block-f465dba735d143c0b18a896a98d2193b"><b>3.3.1 邮件分类Task</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-0300db2afc5e47c1b4ab53386972b99f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F7a746426-5697-471c-a7a4-9457b3bc2ad3%2FUntitled.png?table=block&amp;id=0300db2a-fc5e-47c1-b4ab-53386972b99f" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-42e45c1bef454765b377b5568463ce04"> </div><div class="notion-text notion-block-c94280fe6d9c4cc3bfee39c8a76b5c66">Task参数解析如下：</div><ul class="notion-list notion-list-disc notion-block-e1b1cb55ba6c483aaebc6925354f27b6"><li><code class="notion-inline-code">description</code>：本次任务描述</li></ul><ul class="notion-list notion-list-disc notion-block-7e8e799671f246dca999d402869adecb"><li><code class="notion-inline-code">expected_output</code>：本次任务期待输出什么内容</li></ul><ul class="notion-list notion-list-disc notion-block-b69235f2dd9f49fdac02bfd0f8f970d1"><li><code class="notion-inline-code">output_file</code> ：输出到文件</li></ul><ul class="notion-list notion-list-disc notion-block-20354f8fc73e42c69794eadea0aacb3a"><li><code class="notion-inline-code">agent</code> ：由哪个Agent完成</li></ul><div class="notion-blank notion-block-6c3b0f0f3edb4274b0b40d744a7807e2"> </div><div class="notion-text notion-block-fac5e5a662e845b8b3f275133a4d8c9d">这里我们强调只输出一个分类，可以避免AI生成太多无关内容</div><div class="notion-blank notion-block-ab863fbd10c443b897095c73c756cc30"> </div><div class="notion-text notion-block-b2ece4489f254e9bba4bc0f1cd99a36f"><b>3.3.2 信息检索Task</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-6fe24e2abefd479f9293b66b93811f3d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Ffe5c6965-78c2-49c1-b297-38243e429af2%2FUntitled.png?table=block&amp;id=6fe24e2a-befd-479f-9293-b66b93811f3d" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-be5808839f0a4ea48da8e97a3f6dcc1b"> </div><div class="notion-text notion-block-9e45da52aaf64634ba6a309111bde140">这里比上面多了一个参数：<code class="notion-inline-code">context</code>，这就是我们常说的上下文，因为在这一环节，信息检索任务需要根据前面得到的<b>邮件分类</b>进行特定内容的检索</div><div class="notion-blank notion-block-b567bc7c265248e988293f31c5cb54d9"> </div><div class="notion-text notion-block-d02d476997eb4d79a56a34cea3fb0a75"><b>3.3.3 邮件回复Task</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-cf8a43fd3f5f4b6cada4b4aae4aeecaf"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fedac2c2c-d3cc-4ffd-90c6-64da00083ee1%2FUntitled.png?table=block&amp;id=cf8a43fd-3f5f-4b6c-ada4-b4aae4aeecaf" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-efcdfe04fd084359bf9e35dd97ffb2f0"> </div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-58e6900d86b942169809305da5e06eb4" data-id="58e6900d86b942169809305da5e06eb4"><span><div id="58e6900d86b942169809305da5e06eb4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#58e6900d86b942169809305da5e06eb4" title="3.4 任务编排"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>3.4 任务编排</b></span></span></h4><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-5a17fd04f7454f85986ced5df8322581"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fdd829f9d-f038-4c1e-b1f4-6aa451328858%2FUntitled.png?table=block&amp;id=5a17fd04-f745-4f85-986c-ed5df8322581" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-ad1867a3208b4025baa739c3e4a79230"> </div><div class="notion-text notion-block-8cbe68259d8f4794b8b6be718b0e8fdb">完成上面的步骤后，再通过Crew实现一个Task和Agent的编排，整体功能基本就大功告成了！</div><div class="notion-blank notion-block-607979b5e25d4419aac40d162b3853da"> </div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-dced3a4c9185466a9f7e22dc515283c2" data-id="dced3a4c9185466a9f7e22dc515283c2"><span><div id="dced3a4c9185466a9f7e22dc515283c2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#dced3a4c9185466a9f7e22dc515283c2" title="3.5 实际效果"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>3.5 实际效果</b></span></span></h4><div class="notion-text notion-block-10ce883157cc46f8acf5d526d5d1d395">我的邮件内容如下：</div><div class="notion-blank notion-block-55d73e5c7a0c4732b71596c98183eac0"> </div><div class="notion-text notion-block-9f1d536a54cc4ce3a1342775f889b901">执行之后的效果如下：</div><div class="notion-text notion-block-1915166b3926463fb6e9916fc6bd2190">第一个任务，<code class="notion-inline-code">Llama3</code>模型会把邮件归到 <code class="notion-inline-code">customer_feedback</code> 分类，总体还是准确的</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-c2fe93c0c03b4581a0415fbd4b624255"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F31efc747-3cd4-4f3e-be1d-ed9a8fa87efb%2FUntitled.png?table=block&amp;id=c2fe93c0-c03b-4581-a041-5fbd4b624255" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-4feb02f4032b4779ac8a57a298362162"> </div><div class="notion-text notion-block-63040c9744a149b584587582da767637">执行第二个任务，可以看到这里进行了一个<b>检索</b>，问“how to respond to positive customer feedback”，也就是“如何回应客户的积极反馈”</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-f7eb2fd1b79448b58e76158421ee813e"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fe64b9873-b872-4b63-bc6a-d2636e329990%2FUntitled.png?table=block&amp;id=f7eb2fd1-b794-48b5-8e76-158421ee813e" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-0ef6ff75214b490ca7982b0a8a9a6a2e"> </div><div class="notion-text notion-block-177f8550336746f19b50a607cfc99529">执行第三个任务，可以看到最终回复如下：</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-256bfc1267a543debc273a4b741e69a7"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fda94dd17-0f57-469e-91c6-e7bd853d01cc%2FUntitled.png?table=block&amp;id=256bfc12-67a5-43de-bc27-3a4b741e69a7" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-f44ba9c940d440b0ae45984ff1a4a41d"> </div><div class="notion-text notion-block-ec32eeb4418045d7b7a354152509acf1">整体翻译过来就是：</div><div class="notion-blank notion-block-c2da19d841134836bbae4be031c66fef"> </div><div class="notion-text notion-block-58f9b4d8627f479fb4ef12f4b4a03208">可以看到整体的效果还是OK的！</div><div class="notion-blank notion-block-c74c44621bb14e83b02f2ad1723b11be"> </div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-7f2536fff66640aca26dfbd82503eaf3" data-id="7f2536fff66640aca26dfbd82503eaf3"><span><div id="7f2536fff66640aca26dfbd82503eaf3" class="notion-header-anchor"></div><a class="notion-hash-link" href="#7f2536fff66640aca26dfbd82503eaf3" title="3.6 一些不足"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>3.6 一些不足</b></span></span></h4><div class="notion-text notion-block-d1d79fdba0854e5ca169e6b132bd500d">首先第一点就是这只是一个比较基础的例子，单纯为了方便大家理解如何通过 AI 实现智能回复，它并不是一个可以实际投入使用的成品。</div><div class="notion-blank notion-block-1e788ce469314bb3a730a06ee65d7e4f"> </div><div class="notion-text notion-block-cbdafce9025c49c19360eb61df8c99dd">第二就是大家可以看到它是使用英文回复的，这是因为<code class="notion-inline-code">Llama3</code>大部分是使用英文语料训练的，如果需要中文回复的，就得更换其他大模型了</div><div class="notion-blank notion-block-96b5b3add2da4f8ba8572237d1a66294"> </div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-c2387824ad7f4c6ca54eb108b6a16572" data-id="c2387824ad7f4c6ca54eb108b6a16572"><span><div id="c2387824ad7f4c6ca54eb108b6a16572" class="notion-header-anchor"></div><a class="notion-hash-link" href="#c2387824ad7f4c6ca54eb108b6a16572" title="四、小小总结"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">四、小小总结</span></span></h3><div class="notion-text notion-block-6b60aa3652154a429b2d0b91cc02ae14">本次采用 <code class="notion-inline-code"><b>Llama3 + CrewAI + Groq </b></code>实现了一个小型的邮件智能客服，从回复的内容看，整体效果还是OK的，希望对这方面感兴趣的朋友有一些启发。</div><div class="notion-blank notion-block-f2ff801fa3044aaaa727ec8f6be65fb3"> </div><div class="notion-text notion-block-73ce64e8c0d848efa9c7448966f48859">关于这个案例的源码，公众号回复“<b>智能客服”</b>即可获取完整源代码，最后如果本文对你有所帮助的话，希望多多点赞支持！</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[利用Coze工作流生成文章封面]]></title>
            <link>https://ilovetech.cn/article/ai_coze_workflow</link>
            <guid>https://ilovetech.cn/article/ai_coze_workflow</guid>
            <pubDate>Sat, 20 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[利用Coze工作流生成文章封面（一次不太成功的尝试）]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-35194d3b663f4b9485e4396b87195afb"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-8cae1c88eeb845ba83b2e261fe33bec6" data-id="8cae1c88eeb845ba83b2e261fe33bec6"><span><div id="8cae1c88eeb845ba83b2e261fe33bec6" class="notion-header-anchor"></div><a class="notion-hash-link" href="#8cae1c88eeb845ba83b2e261fe33bec6" title="一、铺垫"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">一、铺垫</span></span></h4><div class="notion-text notion-block-cf1ac2d8cdf640cfba86a7d2ff449909">因为平常写文章比较多，并且微信公众号是强制你要有文章封面的，虽然封面可以在一些图片网站，比如<code class="notion-inline-code">Unsplash</code>上寻找，但现在是AI时代，而且AI绘画的技术也比较成熟了，所以自然是希望AI为我们打工了。</div><div class="notion-blank notion-block-d68438a7f01341c991525d797688d740"> </div><div class="notion-text notion-block-3ed55fec73b147e895e472ba58d713aa">目前AI绘画比较出名的有<code class="notion-inline-code">Stable Diffusion</code>、<code class="notion-inline-code">DALLE</code>和<code class="notion-inline-code">Midjourney</code>等，<code class="notion-inline-code">Stable Diffusion</code> 是开源免费的，但需要你的电脑有一张显卡，<code class="notion-inline-code">DALLE</code> 和 <code class="notion-inline-code">Midjourney</code> 则是需要付费。</div><div class="notion-blank notion-block-4e9d0c7d60534e90aa509c1472e793c7"> </div><div class="notion-text notion-block-76c5906f4c3748d3933128f5ef1e6b05">综合考虑，我最终选择<b>白嫖Coze</b>的文生图功能，它目前是支持 <code class="notion-inline-code">Stable Diffusion </code>和 <code class="notion-inline-code">DALLE</code> 插件的。</div><div class="notion-blank notion-block-747a184bde064215bc5091b988bd080d"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-f800ac0126d94bf8a40a8aebfc943903" data-id="f800ac0126d94bf8a40a8aebfc943903"><span><div id="f800ac0126d94bf8a40a8aebfc943903" class="notion-header-anchor"></div><a class="notion-hash-link" href="#f800ac0126d94bf8a40a8aebfc943903" title="二、创建AI Bot"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">二、创建AI Bot</span></span></h4><div class="notion-text notion-block-7bd21673b54d4aa48a39638c09a6c231">我们先从最简单的 AI Bot搞起，具体的创建流程这里就不赘述了。</div><div class="notion-blank notion-block-8cfad4604e4c4e69970f2e588991dfb7"> </div><div class="notion-text notion-block-39cc406e2e45464dbeda321c66550652">这是我最初创建的AI Bot，主要用到了三个插件，分别是 <code class="notion-inline-code">Notion</code> 和前面提到的两个文生图插件。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-c15b297453de40ac8bc08e74f81d8f27"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F4c588e6c-0cf2-4c0c-a5a7-19bc029bfd4a%2FUntitled.png?table=block&amp;id=c15b2974-53de-40ac-8bc0-8e74f81d8f27" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-bf063132a0f946d4a8c2ad2d4ab3be2b"> </div><div class="notion-text notion-block-f2edfa717bc941298e3327da2ce6950e">用Notion插件是因为我的文章是用它管理的，我的想法是<b>直接输入一个Notion链接</b>，让AI读取里面的内容，并最终用文生图插件生成封面。</div><div class="notion-blank notion-block-474152b66d284f67877e3006a2ddecdf"> </div><div class="notion-text notion-block-7028d776bbd74c81ab032a0a4b6ed8fc">使用这个插件需要先授权才能读取到内容</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-ffb54829fe5a40a99ca948e4ad070c51"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:652px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fac4f753f-4d51-4029-ba35-ab5a478a6de3%2FUntitled.jpeg?table=block&amp;id=ffb54829-fe5a-40a9-9ca9-48e4ad070c51" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-d07f7ce08a134993a53dde4f7e61603d"> </div><div class="notion-text notion-block-92d79a7d032a4a7eadf911f7daff682c">起初这个Notion插件还是成功运行的，并生成了几张图片，<span class="notion-yellow"><b>但后面再运行的时候就报错了</b></span></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-063d8002cde64669b653584984beb264"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fc3549356-c280-4dad-9ecc-594f12139a37%2FUntitled.png?table=block&amp;id=063d8002-cde6-4669-b653-584984beb264" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-108369c68bbb454eaf78df42e5ca6920"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-1ee20325d56746b5b909b3e8a0f344f1" data-id="1ee20325d56746b5b909b3e8a0f344f1"><span><div id="1ee20325d56746b5b909b3e8a0f344f1" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1ee20325d56746b5b909b3e8a0f344f1" title="三、创建工作流"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">三、创建工作流</span></span></h4><div class="notion-text notion-block-015c3af80207422ead373cca0fa974bd">上面的<code class="notion-inline-code">AI Bot </code>存在两点问题，一是Notion插件不稳定，这个我后续更换成了<b>知识库</b>的形式；二是你每次生成封面的时候都得输入一遍提示词，这对于想偷懒的我不太能接受，所以我就想创建一个工作流提高这个步骤的效率，并顺便熟悉下<code class="notion-inline-code">Coze</code>的工作流如何使用。</div><div class="notion-blank notion-block-a6d13afa72c14e96862c96935a65a9fd"> </div><div class="notion-text notion-block-26c4084a35aa4daca4135f3f542497ba"><b>3.1 工作流基础知识</b></div><div class="notion-text notion-block-1123b2a9a4af43e1af73b4a7246b5da5">第一，每个工作流都有一个开始节点和结束节点，最后一个节点必须是结束节点</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-76545c1639f64c0497ecec0126bc6100"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F84169c08-7e9a-4610-80e9-88e792ec7f22%2FUntitled.png?table=block&amp;id=76545c16-39f6-4c04-97ec-ec0126bc6100" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-1a95e8c18d464695a17d0d2c1c753b35"> </div><div class="notion-text notion-block-9d78ddc6831345138efc309aa1ffa9b2">第二，节点之间可以相连，从而下一个节点可以获取上一个节点内容，或者上上节点的内容</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-6f131b0308bd43f9bbdc045b4972a283"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F4f13cc0f-7d38-4fa6-afcc-8f094763df7c%2FUntitled.png?table=block&amp;id=6f131b03-08bd-43f9-bbdc-045b4972a283" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-d01126c974bc404a89d5219076f777ac"> </div><div class="notion-text notion-block-10acdb4cf22f464a9d2db85cbf7636da">第三，开始节点和结束节点之间可以嵌入<b>基础节点、插件、其他工作流</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-ebde6cb609454a69bb4c80750e6d8dd7"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:473px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fc1e0752b-5961-4f8d-bc75-82e84fd0d49e%2FUntitled.png?table=block&amp;id=ebde6cb6-0945-4a69-bb4c-80750e6d8dd7" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-87c3b5070773455abb615f984a5d85e6"> </div><div class="notion-text notion-block-61d106dbaf75470284671e6b736e5db1">第四，如果使用条件节点，也就是If-else，else节点必须也得连到其他节点，就是说<b>else也得有结果，不能空着</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-d87c9eac83f04b55b6f368027608d51c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F362f8e49-6393-4a19-a569-fd9004e54215%2FUntitled.png?table=block&amp;id=d87c9eac-83f0-4b55-b6f3-68027608d51c" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-245ecd0134644064b9c8256d8fa45857"> </div><div class="notion-text notion-block-52c8587cd7154747bcdd21b5531b3c98">不然你可能会收到类似的错误</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-1553e79ad8334eb1aeae6dffd23f305c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fdb4999d2-0134-4b04-83bb-ff54b45b54fc%2FUntitled.png?table=block&amp;id=1553e79a-d833-4eb1-aeae-6dffd23f305c" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-9ab56273c74c43fc8e463ba68951d13b"> </div><div class="notion-text notion-block-b52bf6b7e8b24f65b89f7675380d528e">第五，如果想要完整地调试整个流程，可以点击右上角的 <code class="notion-inline-code">Test Run</code> 按钮；如果想<b>单独调试某个节点</b>也可以，点击该节点上面的启动图标即可（某些节点如条件节点是不支持的）</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-cb41364f9f384086bcd5cb0d55c13341"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fac2b0267-9b4e-43b9-995e-b03d72615ba3%2FUntitled.png?table=block&amp;id=cb41364f-9f38-4086-bcd5-cb0d55c13341" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-19c66cd3236c4ed58d14daf8584ae4a4"> </div><div class="notion-text notion-block-7f7f5f95779b472daacb94cc68b11f67">调试之后，可以点击旁边的<code class="notion-inline-code">Show Result</code>查看结果（这点做得真不错，很方便）</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-a96968d701594fd085063bb6b130f632"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F4e834154-227c-415f-a77e-717dc4b2c883%2FUntitled.png?table=block&amp;id=a96968d7-0159-4fd0-8506-3bb6b130f632" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-7fd5737a898f42a2aaccbc7895ad5e73"> </div><div class="notion-text notion-block-751e51dd587f43bca83188592cb777db">第六，工作流发布</div><div class="notion-text notion-block-222957d01a0344aaaea29d0e22a1278e">请注意，工作流发布之后才能被<b>自己</b>和他人所使用，而且如果你再次对工作流进行修改后，必须 <b>Test Run 成功</b>后才能再次发布。</div><div class="notion-blank notion-block-571e7509735e47d7a9c8ffc5212d0eb1"> </div><div class="notion-text notion-block-b06113006de54978a1aae319e036aa54">详情参考官方文档：</div><div class="notion-row"><a target="_blank" rel="noopener noreferrer" class="notion-bookmark notion-block-ce59ab8daf0a4f41928ae1ea2a699696" href="https://www.coze.com/docs/guides/workflow?_lang=zh"><div><div class="notion-bookmark-title">Coze - Coze 文档中心</div><div class="notion-bookmark-link"><div class="notion-bookmark-link-icon"><img src="https://p-vcloud.byteimg.com/tos-cn-i-em5hxbkur4/80316b4292cc471dbfa6fc09e66ee210~tplv-em5hxbkur4-noop.image" alt="Coze - Coze 文档中心" loading="lazy" decoding="async"/></div><div class="notion-bookmark-link-text">https://www.coze.com/docs/guides/workflow?_lang=zh</div></div></div></a></div><div class="notion-blank notion-block-4260dacbeba140c6ace9a907106f03a3"> </div><div class="notion-blank notion-block-5f528761a6254aab945368d072b47c31"> </div><div class="notion-text notion-block-95db3d4511a044baa028f457a7b9469c"><b>3.2 第一版工作流</b></div><div class="notion-text notion-block-a817f3d40b2a4242b7e288661147a85a">因为是第一次使用工作流，所以也踩了一点坑，我一开始的工作流是这样的</div><div class="notion-blank notion-block-46a2b67aeeac4dae91d81723d979a044"> </div><ul class="notion-list notion-list-disc notion-block-bc43b449ab7142f68cdb4c7f3abf8f98"><li>1.开始节点：传入 notion_link 参数</li></ul><ul class="notion-list notion-list-disc notion-block-3e385017127f442993447d30fa147841"><li>2.Notion插件获取内容：Notion插件根据 notion_link 链接获取内容</li></ul><ul class="notion-list notion-list-disc notion-block-8e567ed604064def916dd27135e3cf15"><li>3.获取图片宽度：这是因为我想指定图片宽度</li></ul><ul class="notion-list notion-list-disc notion-block-05e87f8ced7b4188a3afbd150bd14dbc"><li>4.获取图片高度：这是因为我想指定图片高度</li></ul><ul class="notion-list notion-list-disc notion-block-f1fb9f40012b4602afe2f450de8006ce"><li>5.调整图片宽高：这是图片宽高是从Bot里面提取的，不一定存在，所以需要用代码调整并赋予默认值</li></ul><ul class="notion-list notion-list-disc notion-block-2e0ff15f4f1a4d2aa95be06c64994e45"><li>6.LLM输出提示词：大模型根据第2步的内容输出提示词</li></ul><ul class="notion-list notion-list-disc notion-block-57b44f94ce434bc9a97dd821d712603b"><li>7.SD文生图：根据第5步得到的<b>宽高</b>和第6步得到的<b>提示词</b>生成图片</li></ul><ul class="notion-list notion-list-disc notion-block-046ec6ba7f1045038c7b5582f8e734f6"><li>8.结束节点：输出第7步的结果</li></ul><div class="notion-blank notion-block-59a1f5fc8f5a4e11bd897cc7ed63c835"> </div><div class="notion-text notion-block-167b10f7daa24bf68d75f81fa29a8a9b">这里需注意的是，SD有两个版本，如果是<code class="notion-inline-code">v1.0</code> 版本，只支持指定尺寸；如果是 <code class="notion-inline-code">v1.6</code> 版本，则宽高尺寸范围在 <code class="notion-inline-code">[320, 1536] </code>之间，默认是512。（默认使用 <code class="notion-inline-code">v1.6</code> 版本）</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-70863ab98d0c44dea5d98e813856624d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:616px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F25168317-86f9-455a-965f-7d121882ee28%2FUntitled.png?table=block&amp;id=70863ab9-8d0c-44de-a5d9-8e813856624d" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-3443b26bf04745b68d956a9a4daf513d"> </div><div class="notion-text notion-block-790032c2d4934f4fb1aa29d5645da0d3">但这个版本有两个问题，一是Notion插件不稳定，用过一次后就无法再获取内容了，提示 “<code class="notion-inline-code">Server Internel Error</code>”，二是 <code class="notion-inline-code">Stable Diffusion</code> 生成的图片没有预想的好，文字很模糊，类似下面这张图，所以就有了第二版</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-4d992add50c447daa013ad1b4f3a30c9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F2b560a74-c90f-4cbe-926a-d0eaef626849%2FUntitled.png?table=block&amp;id=4d992add-50c4-47da-a013-ad1b4f3a30c9" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-cb30f33c4f4f45a996b1d80aa8c1706b"> </div><div class="notion-text notion-block-018ba93319184205bae82a272205297c"><b>3.3 第二版工作流（最终版）</b></div><div class="notion-text notion-block-21d70244a4524352927f5882e17416de">由于第一版的两个问题，最终改进后的版本如下：</div><ul class="notion-list notion-list-disc notion-block-7f412f036c974f2c885b2e4fe4c7c3f6"><li>1.开始节点：传入 unit_name 参数，这是知识库Unit的名称</li></ul><ul class="notion-list notion-list-disc notion-block-21118948fef449ad9c92321e2ff59c0b"><li>2.知识库匹配内容：根据前面的 unit_name 匹配对应的Unit</li></ul><ul class="notion-list notion-list-disc notion-block-c2c70f8743e54090a6cdb71d5f6bffa4"><li>3.获取图片宽度：这是因为我想指定图片宽度</li></ul><ul class="notion-list notion-list-disc notion-block-cba0e0f7256d4c7fad5de688579455be"><li>4.获取图片高度：这是因为我想指定图片高度</li></ul><ul class="notion-list notion-list-disc notion-block-306ecdf90b094c2bb2315436b0e1bb18"><li>5.调整图片宽高：这是图片宽高是从Bot里面提取的，不一定存在，所以需要用代码调整并赋予默认值</li></ul><ul class="notion-list notion-list-disc notion-block-83aa1dc2f7414196961e5c42d7e4d0a7"><li>6.<code class="notion-inline-code">LLM</code>输出提示词：大模型根据第2步的内容输出提示词</li></ul><ul class="notion-list notion-list-disc notion-block-8c9c1ecf51ad4da5a490ad44d1259844"><li>7.<code class="notion-inline-code">DALLE3</code>文生图：根据第6步得到的<b>提示词</b>生成图片</li></ul><ul class="notion-list notion-list-disc notion-block-b1e0f1acef0441cf9e70e4e45499bf6a"><li>8.结束节点：输出第7步的结果</li></ul><div class="notion-blank notion-block-5f76e65b8e0f428fa6fe2aba88eb7d22"> </div><div class="notion-text notion-block-cd70573be8b14cf6a97c38efabd79504">这里也有几个注意点，第一是如果使用<code class="notion-inline-code">DALLE3</code>，第3，4，5步其实可以略过，因为<code class="notion-inline-code">DALLE3</code>不支持自定义宽高（我这里保留是方便后续修改）</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-b26ce9ca635e4263aa63d8a8ddc8054e"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:448px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Ff5dc1c23-dfe6-4eed-9fd7-cd3d0fa662ff%2FUntitled.png?table=block&amp;id=b26ce9ca-635e-4263-aa63-d8a8ddc8054e" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-7c901710a5ea48d388866ee2b24f0bea"> </div><div class="notion-text notion-block-39ae3fbea74647358af4ac2409cca0c9">第二就是你在用<code class="notion-inline-code">LLM</code>的时候，记得在提示词那里引用输入内容，不然<code class="notion-inline-code">LLM</code>不知道你输入了什么内容</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-305f4a1a5df8424a9bbf97ab09fd01be"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:571px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fe88b266d-0e18-4298-bbec-0e808bfe9b7e%2FUntitled.png?table=block&amp;id=305f4a1a-5df8-424a-9bbf-97ab09fd01be" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-a304ec5119bd4e0184aa3aa349add763"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-997e81c926674db886d5a8ca30d9a090" data-id="997e81c926674db886d5a8ca30d9a090"><span><div id="997e81c926674db886d5a8ca30d9a090" class="notion-header-anchor"></div><a class="notion-hash-link" href="#997e81c926674db886d5a8ca30d9a090" title="四、如何使用上述工作流"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">四、如何使用上述工作流</span></span></h4><div class="notion-text notion-block-385d8ba48d19434a844d682f9f91855d">为什么我在标题上说这是一次不太成功的尝试呢，是因为虽然这个工作流看起来能用，但是<span class="notion-yellow"><b>只能给自己用，不能给别人用</b></span>（很尴尬，后面才发现的）</div><div class="notion-blank notion-block-580665b2b79e44a8abf45d589ffc0e93"> </div><div class="notion-text notion-block-15db7c9ee57844c386cc2f35757925e6">因为工作流里面的知识库其实就是个小型数据库，它适合的场景应该是获取某些特定的知识，而不是像我一样，只是为了分析总结生成提示词（如果后面官方能指定别人的知识库就很Nice了）。</div><div class="notion-blank notion-block-254637161940474b95f4f5ed2c40bd27"> </div><div class="notion-text notion-block-5d07fae62acf4e5dbe1785efb3fce24d">我自己用的话效果如下（需要把文章先上传到知识库）：</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2002a7a5f4e848aebeb7c66d67f4435b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:628px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F694bf0bf-5ec1-48ca-94a1-6c02359c6b13%2FUntitled.png?table=block&amp;id=2002a7a5-f4e8-48ae-beb7-c66d67f4435b" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-4b5b31f161234679b0f28c8b179b9f6a"> </div><div class="notion-text notion-block-39f97de5b1cc421f862891568b7b2ecd">如果内容不存在，会提示这个：</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-07777d337d1f450c8f6ea753c8ba5897"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:638px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fb0cd934b-6357-4600-8f27-9444c34f9d61%2FUntitled.png?table=block&amp;id=07777d33-7d1f-450c-8f6e-a753c8ba5897" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-05cd56c90ec44cb2842abb5c184737fc"> </div><div class="notion-text notion-block-149a1fe3234b489085eae51f44fad8fc">如果想看我的工作流实现的朋友，可以在工作流搜索：<code class="notion-inline-code">EasyCover</code></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-db5a7050a37b4213b3f9703f5d233fff"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F8d987ab9-e19f-4dee-9902-965806b63b75%2FUntitled.png?table=block&amp;id=db5a7050-a37b-4213-b3f9-703f5d233fff" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-697b9b26c0064a00bc7d9b02affe3bb9"> </div><div class="notion-blank notion-block-d6c3a3976bbe4caf806e1ea3db244e8c"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-8adacd8e122244499daf1fa8c2a3a74e" data-id="8adacd8e122244499daf1fa8c2a3a74e"><span><div id="8adacd8e122244499daf1fa8c2a3a74e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#8adacd8e122244499daf1fa8c2a3a74e" title="五、总结"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">五、总结</span></span></h4><div class="notion-text notion-block-83ce891984c7416f9f2f0cc0c8981183">虽然这是一次不那么成功的尝试，但好在也趁这个机会了解了<code class="notion-inline-code">Coze</code>工作流的具体玩法，总体不亏。如果大家有什么好的改进想法，或者对工作流有什么不懂的，也可以下方留言！</div><div class="notion-blank notion-block-32c759fcc5d8426fa2057483eaba5645"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Pika：吊打Haipper的AI文生视频工具(附提示词)]]></title>
            <link>https://ilovetech.cn/article/ai_pika</link>
            <guid>https://ilovetech.cn/article/ai_pika</guid>
            <pubDate>Sat, 13 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Pika：吊打Haipper的AI文生视频工具(附提示词)]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-4edc08e039464b0c8c045b3a7f5e3501"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-e928b233bfaf4d6d93dc0cad4346d386" data-id="e928b233bfaf4d6d93dc0cad4346d386"><span><div id="e928b233bfaf4d6d93dc0cad4346d386" class="notion-header-anchor"></div><a class="notion-hash-link" href="#e928b233bfaf4d6d93dc0cad4346d386" title="一、日常唠嗑"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">一、日常唠嗑</span></span></h4><div class="notion-text notion-block-0b7b8d2f3e804c91bc31627f824b21b2">今天分享的是另外一款AI文本生成视频工具：<code class="notion-inline-code">Pika</code>！</div><div class="notion-blank notion-block-5b76bdb3d2be4859b64b6a4f01f8dee7"> </div><div class="notion-text notion-block-79f1deb2590641c382f823dc89aa7321">我们之前其实分享过另外一款AI文本生成视频工具：<code class="notion-inline-code">Haiper</code>，但使用<code class="notion-inline-code">Pika</code>之后，我发现<code class="notion-inline-code">Pika</code>远比<code class="notion-inline-code">Haiper</code>更加强大！</div><div class="notion-blank notion-block-d63e50d3bfe14c2ab237d278fcde2979"> </div><div class="notion-text notion-block-eeea68d476794877ba50be75275e5aa4">简单说下<code class="notion-inline-code">Pika</code>的背景，它是由两位斯坦福大学博士生创立的，而且是两位美女，因为她们觉得制作视频太难了，所以开发了这个工具</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-e708af4c0a9146dfa61cf1872c809cf0"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Ffb10919b-a955-46ca-b198-5259a8412c8b%2FUntitled.png?table=block&amp;id=e708af4c-0a91-46df-a61c-f1872c809cf0" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-e18c43ccde804aecac0ff7ef66277301">注：<code class="notion-inline-code">CEO Demi Guo</code>（左）, <code class="notion-inline-code">CTO Chenlin Meng</code>（右）</div><div class="notion-blank notion-block-7a7b2c547f7049cc80560d76dcd5d023"> </div><div class="notion-text notion-block-fe9be259afd247bfa628640784a225d5">由她们组成的初创公司目前已通过三轮融资迅速筹集了 5500 万美元，前两家公司由 <code class="notion-inline-code">GitHub</code> 前首席执行官纳特·弗里德曼 (Nat Friedman) 领导，最新的一家公司是 <code class="notion-inline-code">Lightspeed Venture Partners</code> 投资的 3500 万美元 A 轮融资，对 <code class="notion-inline-code">Pika Labs</code> 的估值在 2 亿至 3 亿美元之间。</div><div class="notion-blank notion-block-30f9cd55981f48ca8ca99c603bc2e432"> </div><div class="notion-text notion-block-32919e5786894470a86cd43da05438dc">废话不多说，我们来看看<code class="notion-inline-code">Pika</code>到底有哪些令人惊艳的功能！</div><div class="notion-blank notion-block-1acbdb0ab0c44d94ae9ab2b9b0d51462"> </div><div class="notion-text notion-block-e6295d2742564c43a5bcc22e4a579991">地址：https://pika.art</div><div class="notion-blank notion-block-e4e53ac8cd9043499f134ad3ed7d4f9f"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-739fc675fd88423cb294956770b79802" data-id="739fc675fd88423cb294956770b79802"><span><div id="739fc675fd88423cb294956770b79802" class="notion-header-anchor"></div><a class="notion-hash-link" href="#739fc675fd88423cb294956770b79802" title="二、基础文生视频"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">二、基础文生视频</span></span></h4><div class="notion-text notion-block-797a1a61f65049cd91f7a4734a7254f0">首先来到最基本的环节，这里使用和之前<code class="notion-inline-code">Haiper</code>类似的提示词，看看<code class="notion-inline-code">Pika</code>的效果会不会好一些</div><div class="notion-blank notion-block-bd986d00f8fc46c2a7782788dea6e959"> </div><div class="notion-text notion-block-09e52f02916a4ea7a9baf28f8f8d76f0">提示词：</div><div class="notion-blank notion-block-4b909aa3bb4e4265bc3e2677ef41a9b9"> </div><div class="notion-text notion-block-f6f63fa97d1d430abd64d7c2492fd6a4">生成的视频：</div><figure class="notion-asset-wrapper notion-asset-wrapper-video notion-block-94999536191442268d088e6a9591c53f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:708px;max-width:100%;flex-direction:column;height:320px"><video playsinline="" controls="" preload="metadata" src="https://notion.so/signed/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fe518173f-060a-4772-ac2d-b55b3da4749f%2FUntitled.mp4?table=block&amp;id=94999536-1914-4226-8d08-8e6a9591c53f" title="video"></video></div></figure><div class="notion-blank notion-block-519b721b732b4341854ef900c8406810"> </div><div class="notion-text notion-block-468cc483f1d44257bd71493cdcbcbe1e"><code class="notion-inline-code">Pika</code>默认生成3秒的视频，而<code class="notion-inline-code">Haiper</code>是2秒/4秒的视频，生成的效果个人觉得稍微比之前的<code class="notion-inline-code">Haiper</code>好一点，但这个比较主观，所以这个基础环节两者打成了平手</div><div class="notion-blank notion-block-dcae69246c0b4d658f44c0ccc79c65fc"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-58d10fde218f428c8049f2abdc0c8520" data-id="58d10fde218f428c8049f2abdc0c8520"><span><div id="58d10fde218f428c8049f2abdc0c8520" class="notion-header-anchor"></div><a class="notion-hash-link" href="#58d10fde218f428c8049f2abdc0c8520" title="三、视频时间延长"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">三、视频时间延长</span></span></h4><div class="notion-text notion-block-375f7c5c80084c4695ab70fa6c2eded8"><code class="notion-inline-code">Pika</code>有一个功能是在原来的基础视频上增加<code class="notion-inline-code">4s</code>的时长，而且是<b>可以不断叠加</b>的，在这一点<code class="notion-inline-code">Pika</code>完胜<code class="notion-inline-code">Haiper</code>！</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-a4c0c9ed28b942f6b40adedb41dbc031"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F749c7c04-8c64-4f7f-ac10-b673541a32d7%2FUntitled.png?table=block&amp;id=a4c0c9ed-28b9-42f6-b40a-dedb41dbc031" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-28a79266f74c4b9eb84cefa11e714962"> </div><div class="notion-text notion-block-9a8f8a1361194e60a3506d28e7d9d423">这是加长到<code class="notion-inline-code">11s</code>之后的视频，因为视频长度的增加的缘故，看起来更舒服一点，不会一下子就结束了，但是后面的延长感觉效果不是很理想，而且也变模糊了</div><figure class="notion-asset-wrapper notion-asset-wrapper-video notion-block-3abd835041f549aabd382f61e6d78654"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:708px;max-width:100%;flex-direction:column;height:320px"><video playsinline="" controls="" preload="metadata" src="https://notion.so/signed/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F6c09cfe1-b18a-4994-9594-bfff7c8ae2ba%2FUntitled.mp4?table=block&amp;id=3abd8350-41f5-49aa-bd38-2f61e6d78654" title="video"></video></div></figure><div class="notion-blank notion-block-41198c2c606249f0a98798c4ad2a2834"> </div><div class="notion-text notion-block-ff84cd2d78e848f6a095bc9b34f12b7a">需要注意的是，<b>视频延长这个功能是会员才有的</b>！所以为了测试它这个功能，我也是含泪充了一个月的会员 🥲</div><div class="notion-blank notion-block-0078aac75f8441879e50ef46869daa3c"> </div><div class="notion-text notion-block-0cd98d86a71f448084475376f3c807bd">这里也说下<code class="notion-inline-code">Pika</code>的付费机制，基础版是免费的，一共有250初始积分，一个3秒的视频大概是消费10积分（不含音频），一旦初始积分用完，每天会补充30积分（还是很良心的）。</div><div class="notion-blank notion-block-dfe72c94164a40a7b1aea63f17aa1b13"> </div><div class="notion-text notion-block-a69459b4dec4493a8400c19a0196bab2"><code class="notion-inline-code">Pika</code>一开始是不支持音频的生成的，这个也是最近才推出的，生成一个音频消耗2积分，所以算下来，保底能生成20个视频，足够你体验一把了。其他的就不在详细说明了，大家可以看图了解。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-24ba781b5b0445beb5f0863b027c4985"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fa7dc2d20-a53e-46b7-b83a-89d3c7573740%2FUntitled.png?table=block&amp;id=24ba781b-5b04-45be-b5f0-863b027c4985" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-be9bdadabae1411b85ae277110b96693"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-bcbbedd5224146958cd795d4894af7ca" data-id="bcbbedd5224146958cd795d4894af7ca"><span><div id="bcbbedd5224146958cd795d4894af7ca" class="notion-header-anchor"></div><a class="notion-hash-link" href="#bcbbedd5224146958cd795d4894af7ca" title="四、强大的视频编辑"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">四、强大的视频编辑</span></span></h4><div class="notion-text notion-block-dee4df015a5f4bdfba334fd3162ebf1b"><code class="notion-inline-code">Pika</code>除了视频能够延长这一点让人惊艳外，它的视频编辑功能也比较强大，不像<code class="notion-inline-code">haiper</code>生成之后就只能重新生成。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-a8e26bc15ebb41b0af9805698c50a184"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fe2a67909-becd-4e1a-b34e-07051834b1b1%2FUntitled.png?table=block&amp;id=a8e26bc1-5ebb-41b0-af98-05698c50a184" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-d0539c34af354de68e02aee417329551"> </div><div class="notion-text notion-block-fb2d69e55ba64d4eac599b9d9e035ad4">如上图，<code class="notion-inline-code">Pika</code>的视频编辑一共有四个子功能，分别是：</div><ul class="notion-list notion-list-disc notion-block-04f63f53c0ae46a9bcfc3362b690b81d"><li>Modify region：对某一个区域重新修改</li></ul><ul class="notion-list notion-list-disc notion-block-1acdac902a4b4c67bdeb7b8e05145095"><li>Expand canvas：修改尺寸比例</li></ul><ul class="notion-list notion-list-disc notion-block-9336cd41a10d414a94182788655b5fe8"><li>Lip sync：口唇同步</li></ul><ul class="notion-list notion-list-disc notion-block-aeff5ddf4fa940ceb95cd29538533492"><li>Sound effects：生成音效</li></ul><div class="notion-blank notion-block-b2a41f511ca047f3850814981cf62494"> </div><div class="notion-text notion-block-930e52ef44cb4090be8baf622a6eb029"><b>4.1 Modify region</b></div><div class="notion-text notion-block-1b509b40372c47ccabc611b0cbab7e2b">关于这个功能，我尝试将飞船外部的黄色涂漆替换为红色，但是效果很差，没法达到预期</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-5728ba5015d144d0ae7d0e880275f1d4"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:695px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F538ad038-8e1e-4a69-8bc2-5de557e3f9e6%2FUntitled.png?table=block&amp;id=5728ba50-15d1-44d0-ae7d-0e880275f1d4" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-a13a4ba2343f4127b73985fa4737c759"> </div><div class="notion-text notion-block-6e8e8e68b2334f918a4c9fe3463fbcb0">后面看了<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=oAkYxEdAQPY">官方教程</a>的演示，他们是把视频中的某个动物替换为另一个动物，所以我也将提示词中的 spaceship 替换为 UFO，最后效果如下，只能说勉强过关吧</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-5b1e44ef853a42809246f664b30335e7"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:706px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Ffc03e1b2-cb1c-4162-9eb1-4089b5cb5edd%2FUntitled.png?table=block&amp;id=5b1e44ef-853a-4280-9246-f664b30335e7" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-d0503109798342098998c0e5becfc4d8"> </div><div class="notion-blank notion-block-c82426760b8d4eb1b44a3e3558b7810d"> </div><div class="notion-text notion-block-5c917922bb904ee48210f076c5da55c3"><b>4.2 Expand canvas</b></div><div class="notion-text notion-block-7358a508060b40409898c5526ac41f5b">这个功能是修改视频的尺寸比例，但看它的官方教程，这个除了裁剪，还会对剩余的部分进行一个重绘。</div><div class="notion-blank notion-block-5b3d51328c4a45f2a2e2f068ddd57e1a"> </div><div class="notion-text notion-block-f735a4762cf847bd82cb69ea50e994ba">下面是官方的案例，右边是原视频，左边是将视频比例缩小后生成的新视频，可以看到动物缩小后<b>背景部分变多</b>了，并且变多的部分<b>进行了一个重绘而且风格是接近的</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-ca5457d7dbd449309a3b4da80887c558"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F5344b422-f3d1-4d86-9b16-68dc231d5e9d%2FUntitled.png?table=block&amp;id=ca5457d7-dbd4-4930-9a3b-4da80887c558" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-dbe6ce27657344fbb5cf0f83e9ffef1b"> </div><div class="notion-text notion-block-029721defef5468c912dae7f348bd30a">我也尝试对上面的太空飞船进行一个尺寸修改，但是效果也不理想，后面才想到<code class="notion-inline-code">Pika</code>对这类主题并不擅长，它<b>比较擅长的应该是动物，动漫这类风格</b>，这个在它放出来的案例视频也能看得出来。</div><div class="notion-blank notion-block-5567d7ea109b43778bf688a8c2493af0"> </div><div class="notion-text notion-block-2601be401e524bbda309e9bfd48856cf">所以在后续的测试我重新生成了一个功夫熊猫视频，提示词如下：</div><div class="notion-blank notion-block-ec7d7075993b4bef8f1637e55fd2d8cb"> </div><div class="notion-text notion-block-3a2109c3e2a34bda838b63d929b147e2">最终生成的初始视频如下：</div><figure class="notion-asset-wrapper notion-asset-wrapper-video notion-block-9a8ddd9b44044d1eb3eb046d88123e87"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:708px;max-width:100%;flex-direction:column;height:320px"><video playsinline="" controls="" preload="metadata" src="https://notion.so/signed/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F628f23ec-c55c-431c-b4e4-b19bd7d88609%2FUntitled.mp4?table=block&amp;id=9a8ddd9b-4404-4d1e-b3eb-046d88123e87" title="video"></video></div></figure><div class="notion-blank notion-block-982ac0b59db84895966e38dad2b90de5"> </div><div class="notion-text notion-block-2ecd33ff658d4c0384cbc95bc67020d8">默认生成的视频是 <code class="notion-inline-code">16:9</code>，为了测试<b>Expand canvas</b>这项功能，我使用了 <code class="notion-inline-code">9:16</code> 和 <code class="notion-inline-code">5:2</code> 两种比例重新绘制，效果如下：</div><div class="notion-blank notion-block-a0834ce66e9848acae23811c3c01328d"> </div><div class="notion-text notion-block-06cb114ad314407c91f3d7308343e24f">从 <code class="notion-inline-code">16:9</code> 变成<code class="notion-inline-code">9:16</code>，上下多出了很多空间，所以<code class="notion-inline-code">Pika</code>直接把熊猫的上半身画出来了，感觉可以打个80分</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-6a4af1d6ce72466199ab3204f08c6105"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:706px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F37ee89d4-e56f-413f-ad9e-19c1f71ff10a%2FUntitled.png?table=block&amp;id=6a4af1d6-ce72-4661-99ab-3204f08c6105" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-3e4be4a4a0aa42a29c1fe1c79530950e"> </div><div class="notion-text notion-block-e8f5fc123cbd441c8885bafb43dc3215">从 <code class="notion-inline-code">16:9</code> 变成<code class="notion-inline-code">5:2</code> ，左右多出了一部分空间，效果也还可以</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-962f33a7e3b44387b22eb704d67745a7"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:702px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F9cf77561-4755-4b95-b994-4336918a1cc9%2FUntitled.png?table=block&amp;id=962f33a7-e3b4-4387-b22e-b704d67745a7" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-577fd154652e480ba89fe1ab81c5354b"> </div><div class="notion-text notion-block-71c09678c30a4ade8c6e17e47787e027"><b>4.3 音效生成</b></div><div class="notion-text notion-block-4ed37f867ecb49fa812ff911431b04c5">音效的生成，可以选择输入提示词，也可以选择不选，由系统生成，最后<code class="notion-inline-code">Pika</code>会生成三段音效并让你选出最合适的那段</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-4f32db2134e3403297f6c18aa4790592"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:675px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Ff885c952-073c-48bd-8011-3f41edd7022a%2FUntitled.png?table=block&amp;id=4f32db21-34e3-4032-97f6-c18aa4790592" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-195fac3bafe4470ea2a10cbd524ec0bb"> </div><div class="notion-text notion-block-c93bfa72fe75423cbffc52702ebb0f98">这是我<!-- -->生成的音效<!-- -->，感觉这个这个功能适合没有人物、动物的视频，比如汽车、风景这类</div><div class="notion-blank notion-block-965fa642edd445e8afb888370bfd66ce"> </div><div class="notion-blank notion-block-3d96d79c67044d35a709e202a58d4238"> </div><div class="notion-text notion-block-1dfa4ccd34df4ef3bcb41c04720bfd1c"><b>4.4 口唇同步</b></div><div class="notion-text notion-block-edc62cc87bc9460aa6f71e9f61ec3bd8">口唇同步也有两种方式，一种是用系统声音，一种是直接上传<code class="notion-inline-code">mp3/mp4</code>，系统声音支持的音色还蛮多的，但感觉有一个可以改进的是，可以标注下哪些音色属于男性，哪些属于女性，这样不用一个个点开来听</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-ecc6841df3f54d008399d277667fd67b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:619px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F3e758991-c0b5-43a6-a5e0-04975ad611f0%2FUntitled.png?table=block&amp;id=ecc6841d-f3f5-4d00-8399-d277667fd67b" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-11ea85a0ae814cefbeebfc7568b009c7"> </div><div class="notion-text notion-block-51ca25fe3acd401e99d8792240529f8d">这是我最终生成的效果：</div><div class="notion-blank notion-block-6630d637bf5649cc9dc7ba3158e3ed75"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-2183084189fa49ab893b6b8f13be46d5" data-id="2183084189fa49ab893b6b8f13be46d5"><span><div id="2183084189fa49ab893b6b8f13be46d5" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2183084189fa49ab893b6b8f13be46d5" title="五、如何写提示词"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">五、如何写提示词</span></span></h4><div class="notion-text notion-block-9ef40414f1c14d528da8d55b6ef02926">在体验 <code class="notion-inline-code">Haiper</code>、<code class="notion-inline-code">Pika</code> 之后，感觉文生视频跟文生图一样，写提示词都是个技术活。</div><div class="notion-blank notion-block-c718f4abdec64bf98100f163de741730"> </div><div class="notion-text notion-block-b12cde187059469382f4b831f2f1f40f">这里有几点建议，希望可以帮到你</div><div class="notion-text notion-block-0a2b7a73c7004099b47416aa888c0a8e"><b>1、套用之前文生图的提示词</b></div><div class="notion-text notion-block-d2bb764a9dfb4824b4534dfb175473e7">虽然一个是生成视频，一个是生成图片，但是在描绘物品，景别的时候用的提示词都是类似的，比如我上面的功夫熊猫就是直接套用文生图的提示词。</div><div class="notion-blank notion-block-c0fbeb46d0f94f08b67ed7ae5a864dc9"> </div><div class="notion-text notion-block-f3ade4e799c64604a6ca7075023584f7">这里也有一些提示词可以参考：</div><ul class="notion-list notion-list-disc notion-block-2fff769708294108aaa17d8914dd83f2"><li><b>正向词</b>：Masterpiece（杰作）、4K、Best Quality（最佳质量）、Highdetailed（高度精细化）</li></ul><ul class="notion-list notion-list-disc notion-block-cb8877f10dc0462c80da76696c0dd67d"><li><b>反向词</b>：bad quality（质量差）、distorted（失真）、blurry（模糊）、grainy（颗粒感）、low resolution（低分辨率）、oversaaturated（过度饱和）、lack of detail（缺乏细节）、inconsistent（不一致）、ugly（丑陋）、erratic fluctuation in motion（运动不稳定波动）</li></ul><div class="notion-blank notion-block-a5770ff37c8142b1aa55abc1b4c6d2b1"> </div><div class="notion-text notion-block-708c00a8d6874c4a9f65d73cf5f5bfce"><b>2、增加运动的提示词</b></div><div class="notion-text notion-block-0be595e83c504fae92b3d1336cf6f823">视频相比于图片往往多了一些运动元素，如果你不告知运动相关的提示词，它可能不会生成任何内容。比如“<b>硬币落下并弹跳</b>&quot;比仅仅写&quot;<b>一堆硬币</b>&quot;更具体有效。</div><div class="notion-blank notion-block-b1e0a6e2735a4c4daaf9762b33eca10e"> </div><div class="notion-text notion-block-efeef321945a4634a5a0be355dcea32a">这里也有一些提示词可以参考：flying（飞）、running（跑步）、speaking（说话）、a man jumps in the air（跳起来）、a man does a skateboard trick（滑滑板）、flying upwards into the air（向天空飞去）</div><div class="notion-blank notion-block-50b451d26b9245f888a5d01a23abd502"> </div><div class="notion-text notion-block-336a60a4a4c64367a412779e9d72f000"><b>3、增加镜头的提示词</b></div><div class="notion-text notion-block-2de690c26b9e43bb9a478d9af1a09ae0">这部分也很重要，视频会涉及到从远到近不同角度的切换，合适的提示词也会使视频效果更佳。</div><div class="notion-blank notion-block-5331e85e68f1408d82dc01f7380057e4"> </div><div class="notion-text notion-block-c0fa84ad72494f5785fd999580a630a1">这里也有一些提示词可以参考：</div><ul class="notion-list notion-list-disc notion-block-89f3c5dfc0174d0a9695d5a947be1d7f"><li>Zoom In（放大）、Zoom Out（缩小）、Dolly Zoom（往远处推动变焦）、Dynamic Zoom（动态变焦）</li></ul><ul class="notion-list notion-list-disc notion-block-a7c78658916943b9800633efe5219ea2"><li>Slow motion（慢镜头）、Time-lapse photography（延时摄影）</li></ul><ul class="notion-list notion-list-disc notion-block-39c8e25206c54da6b72094fad69afb01"><li>Video take from a plane（无人机跟拍）、Camera tracking（快速跟拍）、follow car driving（汽车跟拍）、POV from behind（后面的视角）、Wide Angle（广角）、Bird&#x27;s Eye View（鸟瞰视角）</li></ul><div class="notion-blank notion-block-ec95b7768d7d4db7836c21e3e8ac98f2"> </div><div class="notion-blank notion-block-e93f3860071a485fa9439b5a839b92d2"> </div><div class="notion-text notion-block-ca8a1dfcb2474b979e1d6d8241d7433e">最后来个浅浅的总结，本次主要体验了<code class="notion-inline-code">Pika</code>的文生视频、视频延长以及四种视频编辑功能，从功能上是比<code class="notion-inline-code">Haiper</code>丰富的，价格上目前<code class="notion-inline-code">Haiper</code>免费占优。</div><div class="notion-blank notion-block-eba5df49c8164dcfa8801f5886d5b982"> </div><div class="notion-text notion-block-b5304ccd0131417cbecfebb2f691a7c5">其次就是生成对象上面，<code class="notion-inline-code">Pika</code>对于<b>动漫、动物</b>的描绘效果要更好，从上面太空飞船的案例也可以看出。</div><div class="notion-blank notion-block-c990bec289cc45359421dcf60b3770c2"> </div><div class="notion-text notion-block-8a18b12c94b5403086b242bbe6308a59">最后大家看了我上面的测试，可能感觉<code class="notion-inline-code">Pika</code>也没那么厉害，但我想提醒的是，AI文生视频其实和文生图是类似的，生成的随机性比较强，也被别人戏称为<b>抽卡</b>，而我上面展示的大多数第一次抽取的结果，并不是很能代表<code class="notion-inline-code">Pika</code>实际的生成效果，毕竟想抽出一个好的视频并不容易！</div><div class="notion-blank notion-block-3b613eb0e3ea43aba0959ef3c7edb9be"> </div><div class="notion-text notion-block-6ae78701fee945ce886099801b235551">感谢大家的观看，如果觉得这篇文章对你有用，还请多多点赞支持！</div><div class="notion-blank notion-block-ca9c19b2485a451b89368d5faf9844a5"> </div><div class="notion-blank notion-block-20245a0e2aa846feae3feeeef340fe6e"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Ollama: 本地构建大模型利器]]></title>
            <link>https://ilovetech.cn/article/ai_ollama</link>
            <guid>https://ilovetech.cn/article/ai_ollama</guid>
            <pubDate>Sun, 07 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Ollama: 本地构建大模型利器]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-a9ec24890bf144769e27d1bbf485b325"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-4cc6f46eea1a4199856d39bef0cdb381" data-id="4cc6f46eea1a4199856d39bef0cdb381"><span><div id="4cc6f46eea1a4199856d39bef0cdb381" class="notion-header-anchor"></div><a class="notion-hash-link" href="#4cc6f46eea1a4199856d39bef0cdb381" title="一、什么是Ollama"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">一、什么是Ollama</span></span></h4><div class="notion-text notion-block-45567fadde514eb8b4118c715a35264c">Ollama是一个简明易用的本地大模型运行框架，可以方便用户在自己本地计算机<span class="notion-yellow"><b>快速运行大模型</b></span>，大部分代码由Golang编写。</div><div class="notion-blank notion-block-c355a1bdd24f483c808cb4415b7aa663"> </div><div class="notion-text notion-block-c6368e4eb1d34ea8b1dcaf15bfc5b5be">项目地址：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/ollama/ollama">https://github.com/ollama/ollama</a></div><div class="notion-text notion-block-1bbb443b18a743118fb8fcf40b89ef87">项目官方：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://ollama.com/">https://ollama.com/</a></div><div class="notion-blank notion-block-684832382e36454983186e6390231472"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-c69b2fd4ffb449eb9aa08e66faa6cd02" data-id="c69b2fd4ffb449eb9aa08e66faa6cd02"><span><div id="c69b2fd4ffb449eb9aa08e66faa6cd02" class="notion-header-anchor"></div><a class="notion-hash-link" href="#c69b2fd4ffb449eb9aa08e66faa6cd02" title="二、为什么有Ollama"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">二、为什么有Ollama</span></span></h4><div class="notion-text notion-block-0748626140b94c859d368ed929f203f4">之所以有 <code class="notion-inline-code">Ollama</code>，还得从 <code class="notion-inline-code">Llama</code> 和 <code class="notion-inline-code">llama.cpp</code> 讲起。</div><div class="notion-blank notion-block-e31704f118e34e11976d11b3719a0fe4"> </div><div class="notion-text notion-block-6997de6a64124ab5a9dbad46b1dcae0f"><code class="notion-inline-code">Llama</code>是由<code class="notion-inline-code">Meta AI</code>发布的<span class="notion-yellow"><b>开源大语言系列模型</b></span>，完整的名字是<code class="notion-inline-code">Large Language Model Meta AI</code>。<code class="notion-inline-code">Llama</code>这个单词本身是指美洲大羊驼，所以社区也将这个系列的模型昵称为<b>羊驼系模型</b>。</div><div class="notion-blank notion-block-cb91e3f0873a4242848584f8dd06838d"> </div><div class="notion-text notion-block-bc31ad8b18eb4106b513d6c4043e09f9"><code class="notion-inline-code">Llama1</code>按照模型参数量的大小分为四个型号：Llama1-7B、Llama1-13B、Llama1-30B与Llama1-65B。而在2023年7月之后，MetaAI 发布了 <code class="notion-inline-code">Llama2</code>，有三个型号，分别是：Llama2-7B、Llama2-13B、Llama2-70B。</div><div class="notion-blank notion-block-6ff46f9fc56a419bb41a28e957e1e537"> </div><div class="notion-text notion-block-06cd3e3c93a74de5b057e904aa6ce2d3">这里的B是billion的缩写，指代模型的参数规模。故最小的模型7B包含70亿个参数，而最大的一款65B则包含650亿个参数。</div><div class="notion-blank notion-block-e0593fb290dc46c693a688522336ba74"> </div><div class="notion-text notion-block-fa59eed5d4ed4f699dc71b01d382a815">这是<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/meta-llama/llama/blob/main/MODEL_CARD.md">羊驼系列模型的基准测试</a>对比</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-714e88f41dae4fbdad46098e72a08cbb"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F9bbfa7eb-4371-41f6-a7ba-82e0070ea84c%2FUntitled.png?table=block&amp;id=714e88f4-1dae-4fbd-ad46-098e72a08cbb" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-68b5116c063c4dca9c07e201bdf1191a"> </div><div class="notion-text notion-block-bab9a705cd964682b64c632bbe36c933"><code class="notion-inline-code">Llama</code> 大模型的获取需要填写一份<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://llama.meta.com/llama-downloads">在线表单</a>，同意Meta AI的协议之后，才能收到他们发送的下载链接</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-03da719a3dfb4348a67c738d394121a0"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F22e8dabb-f911-4b5e-b57f-60a57cafda1a%2FUntitled.png?table=block&amp;id=03da719a-3dfb-4348-a67c-738d394121a0" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-2e71d183343c4e10a3d869ca48006876"> </div><div class="notion-text notion-block-3fe42523d18f436cb29cb72c5c9b9cb6">简单介绍了Llama之后，让我们把思绪转到<code class="notion-inline-code">llama.cpp</code> 这里。</div><div class="notion-blank notion-block-f1c30d0ab75440beaef67aacdc1942c1"> </div><div class="notion-text notion-block-f4397d67be1a4c0fa96e754f239a0181"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/ggerganov/llama.cpp"><code class="notion-inline-code">llama.cpp</code></a> 一开始是 Llama 大模型的纯 C/C++ 版本（Inference of Meta&#x27;s <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://arxiv.org/abs/2302.13971">LLaMA</a> model (and others) in pure C/C++），但是现在也支持其他大模型，比如<code class="notion-inline-code">Mistral 7B</code>、<code class="notion-inline-code">Mixtral MoE</code> 等。</div><div class="notion-blank notion-block-cde5d80aa7a64d6ea05b671ada1443ed"> </div><div class="notion-text notion-block-92dd733fb6ef42d098ebacc7cc127a86"><code class="notion-inline-code">llama.cpp</code> 的好处是可以<span class="notion-yellow"><b>降低大型语言模型（LLM）的运行成本</b></span>，并使得这些模型能够在各种硬件上运行（并且运行得更快），包括在没有GPU的设备上，也就是只有纯CPU的设备也能运行！</div><div class="notion-blank notion-block-ea10a7476ac04d27a599779f2d3245b2"> </div><div class="notion-text notion-block-457571c42c24495dba63f2c053985788">llama.cpp 具有以下特性：</div><ul class="notion-list notion-list-disc notion-block-0f8c60ef55884e3f86cf70df203c1c90"><li><b>广泛的硬件支持：</b>llama.cpp 是由纯 C/C++实现的，这意味着它可以在多种硬件平台上运行，目前支持的平台有：Mac OS、Linux、Windows (via CMake)、Docker 和 FreeBSD</li></ul><ul class="notion-list notion-list-disc notion-block-6c2dfcc715254a9fbd823802519b53fc"><li><b>简化设置和操作</b>：llama.cpp 的目标是最小化设置，使得用户能够在本地和云端以最先进的性能进行LLM推理。它通过提供<span class="notion-yellow"><b>没有依赖项</b></span>的纯C/C++实现来简化安装和使用过程</li></ul><ul class="notion-list notion-list-disc notion-block-2064b4c900a94aa69492d8151561345a"><li><b>高效的性能</b>：通过支持不同位宽的<span class="notion-yellow"><b>量化</b></span>（例如1.5-bit, 2-bit, 3-bit, 4-bit, 5-bit, 6-bit, 和 8-bit），llama.cpp 能够加快推理速度并减少内存使用。这使得在资源有限的设备上运行大型模型成为可能。</li></ul><ul class="notion-list notion-list-disc notion-block-bfc120e5d8b74244934bdba97749201e"><li><b>优化特定架构</b>：llama.cpp 为<code class="notion-inline-code">Apple Silicon</code>提供了<b>特定的优化</b>，并且针对x86架构提供了AVX, AVX2和AVX512的支持，这进一步提高了模型在这些架构上的性能</li></ul><div class="notion-blank notion-block-312ad4afadcb4969aecb504453d18fcc"> </div><div class="notion-text notion-block-d3d88b50a699478eb35412e4f771ad07">可以说，因为 llama.cpp，促进了本地大模型的快速发展！</div><div class="notion-text notion-block-a7df990b12b54cb8adeaf3dd2733aa26"><div class="notion-text-children"><div class="notion-callout notion-gray_background_co notion-block-35cb10c12fa743faba50f8999970c5bb"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">补充知识点：什么是量化？

要理解量化，需要从大模型的参数讲起。大模型的参数通常存储为浮点数，大多数大模型都使用 32 位浮点数，也称为单精度。然而模型的有些层可能也采用不同的精度级别，比如16位。

我们来进行一个简单的数学计算：
8位 = 1字节   32位 = 4字节

考虑一个7B的模型，也就是参数有70亿个，假设这个大模型使用 32位浮点数存储，那么总内存为：4字节 * 70 亿 = 280亿字节，也就是约等于 28GB。

这意味着使用该模型需要 28 GB 的内存容量。

但对于个人计算机，其实很难达到28GB！目前大部分8-16GB
<span class="notion-yellow"><b>
而量化就是降低大模型参数精度的过程，也可以简单理解为将模型压缩！

</b></span>使用量化后，会将32位浮点数转为4位的整数，虽然这种行为可能会稍微影响模型性能，但是却大大降低了存储模型所需的内存消耗！

如果对上面的模型进行4位量化，量化后的模型就变成：
4 / 8 字节 * 70 亿 = 35亿字节，约等于3.5GB！</div></div></div></div><div class="notion-blank notion-block-8dd4357daacd447291c500e31f3c382b"> </div><div class="notion-text notion-block-b1e8c545f46c492b9f028adb17d153c3">让我们最后把思绪再绕回 Ollama 这里，之所以有 Ollama，是因为当你想使用  <code class="notion-inline-code">llama.cpp</code> 时，其实也比较麻烦，因为你要获取模型权重、克隆项目代码、执行模型量化、设置环境变量、构建可执行文件等。</div><div class="notion-blank notion-block-9c0f69d700764a8cb778d05a5f869d53"> </div><div class="notion-text notion-block-757af02063e34d68ace6e36f0ea36f6a">而Ollama就是为了简化 <code class="notion-inline-code">llama.cpp</code> 部署而诞生的，并且提供了类似OpenAI的API接口和聊天界面，可以很方便地使用不同模型。</div><div class="notion-blank notion-block-d40ab66ad6be4adc8eb6b9272fbe68ef"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-58ea9cac54954a3eb61645bae2cf6bc0" data-id="58ea9cac54954a3eb61645bae2cf6bc0"><span><div id="58ea9cac54954a3eb61645bae2cf6bc0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#58ea9cac54954a3eb61645bae2cf6bc0" title="三、运行Ollama"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">三、运行Ollama</span></span></h4><div class="notion-text notion-block-c417e349ff294a07aad313daf6119b43"><b>3.1 安装</b></div><div class="notion-text notion-block-ffd919e20e50446682afccd1c2b89eb4">如果是Mac系统，需要下载<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://ollama.com/download/Ollama-darwin.zip">对应的安装包</a>，而如果是Linux的话，执行下面这条命令即可</div><div class="notion-blank notion-block-acaa8fd71ced4fee8e7a94d3dd42c256"> </div><div class="notion-text notion-block-8fae84a287094ab3be1e7f6f6c086449">值得注意的是，上面的 <code class="notion-inline-code">install.sh</code> 只适用于Linux，就算执行了也没关系，脚本有系统检测。</div><div class="notion-blank notion-block-526f5b10849b46a397bffb550c803e72"> </div><div class="notion-text notion-block-f87a3a56339149158a0836d3377a5172">不管是安装包还是 <code class="notion-inline-code">install.sh</code>，本质上都是往系统安装 <code class="notion-inline-code">ollama</code> 二进制文件，并且启动 <code class="notion-inline-code">ollama</code> 服务。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-a67553e9eab34e7f87a52c75e78d4b2c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fd42da122-76e6-47b5-95ea-ef4cb856def6%2FUntitled.png?table=block&amp;id=a67553e9-eab3-4e7f-87a5-2c75e78d4b2c" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-4cd71b5d4fd64df2b394b72112fd33a2"> </div><div class="notion-text notion-block-b250114d2cf74fab824ff806ccca495d">安装完毕之后，使用 version 命令检验是否成功安装</div><div class="notion-blank notion-block-fc20e745b4164fea90e248523cf96166"> </div><div class="notion-text notion-block-9434f16e84ed44c89a82e69c1c5d921c">如果你是用Docker安装的，则 <code class="notion-inline-code">ollama</code> 服务有可能起不来，这时候用 <code class="notion-inline-code">version</code> 命令提示这个</div><div class="notion-blank notion-block-d40b877ec4fb47be98644aaae61566f0"> </div><div class="notion-text notion-block-4e3bbb6a53544747afce896b43a68f25"><b>3.2 运行</b></div><div class="notion-text notion-block-bd61179d2066448c86a4e51464428580">这里以 <code class="notion-inline-code">llama2-chinese</code> 模型为例，该模型是<b> Llama 2 对话中文微调参数模型</b>，基于 MetaAI 所发布的 Llama 2 Chat 开源模型来进行微调。</div><div class="notion-blank notion-block-7d7d53508a754612a87ebf5f36e03834"> </div><div class="notion-text notion-block-4ec71b14a8a1450e8727c93be6aff265">由于 Llama 2 本身的中文对齐比较弱，开发者采用了中文指令集来进行微调，使其具备较强的中文对话能力。目前这个中文微调参数模型总共发布了 7B，13B两种参数大小。</div><div class="notion-blank notion-block-5029d9aff3194c019f00c3b001a14cae"> </div><div class="notion-text notion-block-aad109ca4b2542f9a1dbaa3d205b96e2">默认的 <code class="notion-inline-code">latest</code> Tag下载的是7B的，如果想下载13B的，命令需换为：</div><div class="notion-blank notion-block-44e8b5cac36a44df9e063f11ea7a9f0b"> </div><div class="notion-text notion-block-33f9e0d5b28b423ca1e42eb53b5bfbe0">下载还是蛮快的</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-b7f89f72760c4834a3d6df77110a6e22"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F98580d86-86fe-4532-9445-6141a7046b3a%2FUntitled.png?table=block&amp;id=b7f89f72-760c-4834-a3d6-df77110a6e22" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-74b7f90a9b1e480fb7998814def9ea40"> </div><div class="notion-text notion-block-0b0231693d5b420fb7fab13e466ed6d3">其他模型可以在 <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://ollama.com/library">Ollama Library</a> 找到。</div><div class="notion-blank notion-block-09396e3c0e284affad039728d16e9595"> </div><div class="notion-text notion-block-ad8405fb1b804cc080186a4b0b2527eb"><b>3.3 测试</b></div><div class="notion-text notion-block-4ca17fe18b1540dea48babcaae8dc4d7">执行 <code class="notion-inline-code">ollama run llama2-chinese</code> 命令会启动一个输入框，可以在这里填入Prompt</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-03d24940ef5d4a779ac945c53173d5c0"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fb46908a4-bbfd-4b73-8917-84327af3c518%2FUntitled.png?table=block&amp;id=03d24940-ef5d-4a77-9ac9-45c53173d5c0" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-3034094acc164d65a6df09ab13ad89c1"> </div><div class="notion-text notion-block-ddeac2c84e5d4f2f95f5b3d844e7d6a8">还可以通过 API 的方式调用</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-af1ee2c7bfc34615bc3be9e8ce146a67"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F9799d24d-2bed-4875-8d64-61bfe2ba87a7%2FUntitled.png?table=block&amp;id=af1ee2c7-bfc3-4615-bc3b-e9e8ce146a67" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-fbc7cd10df084137939555f004af18fc"> </div><div class="notion-text notion-block-c255ddc502324f8888847a285f4b33f7">关于Ollama 的API功能，官方提供了一份Markdown文档：</div><div class="notion-text notion-block-ce3f2971bfb041f9a23e455fe85d7858">地址：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/ollama/ollama/blob/main/docs/api.md">https://github.com/ollama/ollama/blob/main/docs/api.md</a></div><div class="notion-blank notion-block-9f4c4462f00f4ac491a977d1f15b493c"> </div><div class="notion-text notion-block-486dc4d773b6425fb3bfd6a3928e2e46">关于Ollama的各种界面工具，也可以在其官方项目上查看，这里不再赘述。</div><div class="notion-blank notion-block-561edfbf7a6547309491a826dc2f05d0"> </div><div class="notion-blank notion-block-aa40c1e6d57049de9636bb16b8fa93d7"> </div><div class="notion-blank notion-block-f4e9d5eb2a194d59a64ac786da401ba3"> </div><div class="notion-blank notion-block-719fef3bd2d5436e9cea86888117411d"> </div><div class="notion-blank notion-block-232698e6c03545408d432d6a1452e0f6"> </div><div class="notion-blank notion-block-0b27e4090d4a4d14bc63435909abc32f"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[做了一个自动上传文件到Coze的小工具]]></title>
            <link>https://ilovetech.cn/article/ai_coze_auto_upload</link>
            <guid>https://ilovetech.cn/article/ai_coze_auto_upload</guid>
            <pubDate>Tue, 02 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[做了一个自动上传文件到Coze的小工具]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-fc7b20bcc0a141db9e88f3e461f8c01f"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-5f252fcd4f724a56b50f2fda364d05d0" data-id="5f252fcd4f724a56b50f2fda364d05d0"><span><div id="5f252fcd4f724a56b50f2fda364d05d0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#5f252fcd4f724a56b50f2fda364d05d0" title="一、背景"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>一、背景</b></span></span></h4><div class="notion-text notion-block-06225786314242b39161c8a40e81f17b">相信大家最近应该都听过<code class="notion-inline-code">Coze</code>，我之前有一篇文章《字节AI大杀器：Coze》也提到过它，简单来说它是由<b>字节跳动</b>出品，是一款用来开发新一代 AI Chat Bot 的应用编辑平台。</div><div class="notion-blank notion-block-9156ae4ff3ec48ed8aff5124da77c310"> </div><div class="notion-text notion-block-933540d858034df499c4d61054c77266"><code class="notion-inline-code">Coze</code>里面有个<b>知识库</b>的功能，它跟目前很火的检索增强生成（RAG）技术类似，主要作用就是<b>提高回答的准确性</b>，我之前也出过几篇文章对其进行系统的讲解，有兴趣的可以看我的主页。</div><div class="notion-blank notion-block-9a72a7f3bb67459c9e2888a20783a32c"> </div><div class="notion-text notion-block-ac53637a48ba4b1692f78ed3417b2057">之所以有这篇文章，是因为最近在使用知识库这个功能的时候遇到了一些不便</div><div class="notion-blank notion-block-783f650e9f444eff8011d27ceed3ba62"> </div><div class="notion-text notion-block-0ebc918067d44c38a3393a1a9b83df89"><b>1、TXT格式的文件每次最多上传10个</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-52d281e997f24f869cc075867c737279"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Ff233a802-fd95-4f1e-a095-35d7298c5ddb%2FUntitled.png?table=block&amp;id=52d281e9-97f2-4f86-9cc0-75867c737279" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-0e448aed823e478988f3c01fcc6aecc5"> </div><div class="notion-text notion-block-52633556ba7e496fac0909fbc47afa82">如果你的语料比较多，每次又只能上传10个，如果有1000份文件，则要上传100次，感觉想想都头皮发麻</div><div class="notion-blank notion-block-beae45c152624ba89f82ec7429f76826"> </div><div class="notion-text notion-block-9f3ac65af14649bba7f1aca85317ed8c"><b>2、Excel表格每个单元的字符最大是1024个字符</b></div><div class="notion-text notion-block-07662d69a28948068d09738cde7106ab">因为<code class="notion-inline-code">Coze</code>支持上传的方式其实还是比较多的，既然上传<code class="notion-inline-code">TXT</code>有数量限制，那就换个思路，把<code class="notion-inline-code">TXT</code>的内容整合到一份Excel表格，再进行上传，但是很快就打脸了，如果你每个单元的内容太长，超过1024个字符，则会上传失败</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3ed3229aec0545e8b17f89d67b1954b9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F81912aae-59c1-48f4-9b44-2d1a426d453a%2FUntitled.png?table=block&amp;id=3ed3229a-ec05-45e8-b17f-89d67b1954b9" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-4198bacf5a3643f3b04378aa6a2af561"> </div><div class="notion-text notion-block-51b24b046dfb45ed9e0597a549780da4">虽然Coze还支持API等方式，但我也不想一个个试，要是其他方式也有限制就太麻烦了，所以就想着能不能自己实现一个自动上传的小工具，先放下最终效果</div><div class="notion-blank notion-block-13f7be2f30fb4e138a51e4e9bc69833e"> </div><div class="notion-blank notion-block-208be492d8544a93bf0b0d63c6fad6cd"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-e0546e15b3ad4f02a8c13827c0ff3b76" data-id="e0546e15b3ad4f02a8c13827c0ff3b76"><span><div id="e0546e15b3ad4f02a8c13827c0ff3b76" class="notion-header-anchor"></div><a class="notion-hash-link" href="#e0546e15b3ad4f02a8c13827c0ff3b76" title="二、技术选型"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">二、技术选型</span></span></h4><div class="notion-text notion-block-b58f2c2670cc4ff9a5e8026dd1282285">由于之前有Python相关经验，而自动化这块Python的<code class="notion-inline-code">Selenium</code>比较出名，所以最终敲定的技术栈是<code class="notion-inline-code">Python3 + Selenium</code></div><div class="notion-blank notion-block-e242c73f516c4ba6ab9d3f35779c9d5a"> </div><div class="notion-text notion-block-c0b543b0ed5242c891961fc9ead5755a">注：系统是Ubuntu</div><div class="notion-blank notion-block-8dabc9e46cdc487c94c96e7a1ad1b9c7"> </div><div class="notion-text notion-block-dafed8ede17f4854a2aa1f96b5ad769b"><b>2.1 安装 </b><code class="notion-inline-code"><b>chromedriver</b></code></div><div class="notion-text notion-block-6227978e74e644a5b80ec922f53dd905">由于太久没接触有些生疏，当我把 <code class="notion-inline-code">Selenium</code> 启动的代码敲下去之后，发现并没有调起Chrome浏览器，后面才明白是 <code class="notion-inline-code">chromedriver</code> 驱动没安装</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-4a18f27a00e8438fa88635a48c8efd2d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:320px"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F0d3efa52-123f-43a2-bf5b-8797d30b0bce%2F10034edc-b038-4238-b95e-c2ee7a226bae.png?table=block&amp;id=4a18f27a-00e8-438f-a886-35a48c8efd2d" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-cd0f6ffc2258426599f32901d3d87b69">注：没安装驱动的时候会一直等待</div><div class="notion-blank notion-block-2ca2a870fc0045aa80dce16e83a67e77"> </div><div class="notion-text notion-block-899129fe344f4a12b5b7bae6cf133923">安装前需要先确定本机Chrome浏览器的版本，<span class="notion-yellow"><b>两者的版本一定要匹配！</b></span></div><div class="notion-blank notion-block-8630c5e06bfa42e8af0a3bffbf1c7e06"> </div><div class="notion-text notion-block-9b6b52956c7741bc8867e91b5bedbb09">浏览器输入: <code class="notion-inline-code">chrome://version/</code>  </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-155dd17eb1c34c869ffa8fd71f182f84"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F50fa1268-c93c-4eff-b329-6869866b5403%2FUntitled.png?table=block&amp;id=155dd17e-b1c3-4c86-9ffa-8fd71f182f84" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-0d94d20997d041d183ec96b82e6768d2"> </div><div class="notion-text notion-block-1537b07f1e664718b616a6f488c31287">我一开始是安装网上教程去下载安装，但是它<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://registry.npmmirror.com/binary.html?path=chromedriver/">提供的网址</a>并没有和我版本一致的驱动，所以我就下了一个低一点的版本，版本号是 114.0.5735.90</div><div class="notion-blank notion-block-4a830da79de346b48a84f210a4e1f0dd"> </div><div class="notion-text notion-block-41978d6b038d4e2280d4cc1aac8a47f9">下载并解压后，执行下面的命令就行</div><div class="notion-blank notion-block-1e09495856af4c7e9d86316e2815fe72"> </div><div class="notion-text notion-block-1bd28bedd1bf4c248470b37787f4c105">但随后就栽了跟头了，发现版本不对Chrome浏览器起不来</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-7f671bfce3744e239e1c8215e2cb3bbc"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F06b99891-d353-42a7-a70c-322f3838472b%2FUntitled.png?table=block&amp;id=7f671bfc-e374-4e23-9e1c-8215e2cb3bbc" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-9c981e1ace2047a1a7042dc088f5f853"> </div><div class="notion-text notion-block-a60bc29b916d436cb488bd76ab148b6a">后面就去了官网看了说明，原来网上博客提供的地址是给<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://chromedriver.chromium.org/downloads">老版本</a>使用的</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-95156d68a3d1441f88c1d6484dd8f351"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F75c2fed6-3d99-45e8-9ede-47411126cad7%2FUntitled.png?table=block&amp;id=95156d68-a3d1-441f-88c1-d6484dd8f351" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-d67ad5c2a0da450588f568184a7be22f"> </div><div class="notion-blank notion-block-e3837d341ada441fbffc8670483ef1aa"> </div><div class="notion-text notion-block-52264b1676f54a05a0755749d78299c9">最新的版本<code class="notion-inline-code">chromedriver</code>驱动在这里下载：</div><div class="notion-text notion-block-79537683647b46eea3a5f32331fc754d"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://googlechromelabs.github.io/chrome-for-testing/">https://googlechromelabs.github.io/chrome-for-testing/</a></div><div class="notion-blank notion-block-8f42f415d3d1474c9bb9865ce2e97238"> </div><div class="notion-text notion-block-80381625e33c4d37a8b603e24214452b">因为上面的地址列举的是最新版本，并没符合我的浏览器版本的驱动，所以抱着试一试的心态，但结果还是不行</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2eb23cb5bb0948598e6fccf17f34667a"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F88b3b0a5-1f4e-40a5-a90b-2dc13ef5c6ac%2FUntitled.png?table=block&amp;id=2eb23cb5-bb09-4859-8e6f-ccf17f34667a" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-7d9d2ddadf454de8820c36dbfa6855f3"> </div><div class="notion-text notion-block-7d9ebe09dd874c5097ed5c244ff18479">后面灵机一动，把最新版本链接中的版本替换为我的版本，结果还真的可以！</div><div class="notion-text notion-block-02f3c42fbcb142b0869beab143e9bd92"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/linux64/chromedriver-linux64.zip">https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/linux64/chromedriver-linux64.zip</a></div><div class="notion-blank notion-block-78db45769d534f5095209ab422fed766"> </div><div class="notion-text notion-block-9310daf5297b4faa8e07eb85f2e94bca">再次执行上面的安装命令，随后就能正常启动了</div><div class="notion-blank notion-block-ebfad99ea1fb4ff7bf9070e112547523"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-6ec6cd2100b54f11b3e87a45a70d3411" data-id="6ec6cd2100b54f11b3e87a45a70d3411"><span><div id="6ec6cd2100b54f11b3e87a45a70d3411" class="notion-header-anchor"></div><a class="notion-hash-link" href="#6ec6cd2100b54f11b3e87a45a70d3411" title="三、项目实战"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">三、项目实战</span></span></h4><div class="notion-text notion-block-cd49847d201b4e328996e28d82f3f23d">项目总体的思路还是蛮简单的，就是遍历本地文件，然后找到Coze的各个按钮的xpath路径，然后一路执行就行。</div><div class="notion-blank notion-block-17ac78cff65f49688333867b930a4f50"> </div><div class="notion-text notion-block-365748c8cd014bc2a2b90312446aa629"><b>3.1 本地文件读取</b></div><div class="notion-text notion-block-28807e95b5b2486a91430a2263f2b9b3">首先是读取配置文件里的路径，然后使用Python的文件函数列举出文件夹下面的所有文件（注意这里不会遍历子文件夹，偷懒了），最后再筛选出特定后缀的文件，因为<code class="notion-inline-code">Coze</code>目前只支持 TXT、PDF、Doc、Docx 这四种</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-d930e1022f79480fbe91be1d10d864cf"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F28a50522-ad4c-4521-91d6-800591f02a9e%2FUntitled.png?table=block&amp;id=d930e102-2f79-480f-be91-be1d10d864cf" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-9c3dfbef9b724d8a8b9ebf8b04401278"> </div><div class="notion-text notion-block-5f70ed3c2fbe49638bcf244ac9181904"><b>3.2 调起Chrome浏览器</b></div><div class="notion-text notion-block-35bc8a894a7340f49d07caed3a3b7ced">我们一般使用这行代码调起Chrome浏览器</div><div class="notion-blank notion-block-a8848d372dd545f49bfa4b5f58739455"> </div><div class="notion-text notion-block-7a0d2b68df2940e09c17c06655a6fe78">但这种方式，每次重新调起Chrome浏览器的时候，之前的登录态都会丢失，所以<code class="notion-inline-code">Coze</code>每次都得重新登录，非常麻烦，所以这里把登录数据存本地了，这样就不用每次都得登录</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-9576a3e4d3e24e519d26f6db96b589e4"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F079f21aa-bb9c-4077-ac34-880b90587573%2FUntitled.png?table=block&amp;id=9576a3e4-d3e2-4e51-9d26-f6db96b589e4" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-4f099aa213c148f18aa2ee3e930a31c1"> </div><div class="notion-text notion-block-b650416265f5496ba72719b68dc29cea"><b>3.3 打开Coze的知识库主页</b></div><div class="notion-text notion-block-9e1014eb4b1549f7bc8b4d1ec3f870af">注意是这个页面</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-d14f9bd7548e4c3298a31617dce8c51d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fae20ca42-fd47-4137-abcf-8151eab3865b%2FUntitled.png?table=block&amp;id=d14f9bd7-548e-4c32-98a3-1617dce8c51d" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-97f9599d1d13434d8c5e04216e226891"> </div><div class="notion-text notion-block-d337be0af36e4b418599b5b5013170e2">代码里面的get方法就是打开这个页面，然后模拟 <code class="notion-inline-code">Add unit</code> 按钮的点击事件</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-cf70218c46c3414aa3d7b0c9321ec450"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F447e44bc-e247-4979-a9b5-103e2e226b53%2FUntitled.png?table=block&amp;id=cf70218c-46c3-414a-a3d7-b0c9321ec450" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-0729c67fd0304edda5ba77a46a8014cc"> </div><div class="notion-text notion-block-784cc31360d947dab49be08d816fb0df"><b>3.4 模拟剩余的上传操作</b></div><div class="notion-text notion-block-019573c8581d4acbbd1c6c29acd1aedd">剩下的这些代码就是模拟点击<code class="notion-inline-code">Add unit</code> 按钮之后的一些操作，比如上传文件，各种Next按钮的点击等。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-933c8ee811d6479e981ac6b97fe04e23"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F7b9c20c9-a316-4dd9-b51b-cd022b056a2f%2FUntitled.png?table=block&amp;id=933c8ee8-11d6-479e-981a-c6b97fe04e23" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-a30c920d48d149198c265c47175556ce"> </div><div class="notion-text notion-block-e38fd0f13a4f4f7ca214fff875b5560f">这里有个要说明的是，由于Processing阶段Coze是异步处理的，所以你可以不用等进度条完成才点Confirm按钮（所以我代码就是最多等待10秒）</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-d9f824356132449ea695389f0c26d73d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F4bc9b70d-7572-48cc-8202-df2f7911f74d%2FUntitled.png?table=block&amp;id=d9f82435-6132-449e-a695-389f0c26d73d" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-2568e47008ea45359efe9f79c82c620d"> </div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-abe27001e0894cf6b7de524aad8d1b55" data-id="abe27001e0894cf6b7de524aad8d1b55"><span><div id="abe27001e0894cf6b7de524aad8d1b55" class="notion-header-anchor"></div><a class="notion-hash-link" href="#abe27001e0894cf6b7de524aad8d1b55" title="四、一些注意事项"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">四、一些注意事项</span></span></h4><div class="notion-text notion-block-feb0bd01d2644ae5b2ef72cca70f70ec"><b>4.1 代码执行</b></div><div class="notion-text notion-block-0184047081604a64ae90de8319cbd9f4">由于我这里并没有提供图形化界面，所以可能对小白不太友好，如果了解过Python的应该就能很快上手，因为需要装各种环境和依赖啥的</div><div class="notion-blank notion-block-56c3ece9928540dcbc18582a0c345569"> </div><div class="notion-text notion-block-03b1295dfac74e6dbd82415fc18793ba"><b>4.2 每个知识库最大支持100个unit</b></div><div class="notion-text notion-block-c5b31c48102148d38d3889b4cfad9381">这个也是我试出来的，感觉有点低，所以我在代码里面也加了判断，如果超过100个文件，是不会执行的</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-5784d288a8604f74aaacb6c713d18217"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F6e326686-4a4c-4d4a-b8b2-53188ebfa7f5%2FUntitled.png?table=block&amp;id=5784d288-a860-4f74-aaac-b6c713d18217" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-f210de5c44c54e1795105ac2ae8c2b3e"> </div><div class="notion-text notion-block-3d295efa05fb40b59c1035afe990e5be">这个感觉是<code class="notion-inline-code">Coze</code>的Bug，明明最大是100个，但是提示是300个</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3108b150e0bc4d0db53064568aefb184"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2F5281854b-2844-4a53-ab7e-bf2b1b24a640%2FUntitled.png?table=block&amp;id=3108b150-e0bc-4d0d-b530-64568aefb184" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-c06cb4bd6f374e15bf946ab2dc7581c3"> </div><div class="notion-text notion-block-feb02a7c8f8d4909a2d70b9f2ea64af1"><b>4.3 页面等待时间</b></div><div class="notion-text notion-block-29e8dc4de79f4df49e15b48f9920d90c">因为HTML里面的元素要等页面渲染完才会出现，所以我里面每一步都有一个等待时间，但这个时间不一定是适用全部人的。</div><div class="notion-blank notion-block-12543c93b91c400989c87fe1b820118d"> </div><div class="notion-text notion-block-2c29efe69b2c4c599c2908f8e002d73d">Selenium里面有个方法可以等待元素渲染完才执行（WebDriverWait），但是我并没有每一步都使用这个方法（还是偷懒了）</div><div class="notion-row"><a target="_blank" rel="noopener noreferrer" class="notion-bookmark notion-block-31427e04b3684e8b9ae3b007afb3e08a" href="https://blog.csdn.net/Gscsd_T/article/details/102837046"><div><div class="notion-bookmark-title">Selenium 设置元素等待的三种方式_driver.implicitly_wait-CSDN博客</div><div class="notion-bookmark-description">文章浏览阅读7.3k次，点赞6次，收藏23次。Selenium 设置元素等待的三种方式  1. sleep 强制等待  2. implicitly_wait() 隐性等待  3. WebDriverWait（）显示等待三种方式的优缺点1. sleep 强制等待   from selenium import webdriverfrom time import sleepdriver = webdr..._driver.implicitly_wait</div><div class="notion-bookmark-link"><div class="notion-bookmark-link-icon"><img src="https://g.csdnimg.cn/static/logo/favicon32.ico" alt="Selenium 设置元素等待的三种方式_driver.implicitly_wait-CSDN博客" loading="lazy" decoding="async"/></div><div class="notion-bookmark-link-text">https://blog.csdn.net/Gscsd_T/article/details/102837046</div></div></div></a></div><div class="notion-blank notion-block-1d21129dd7b0411692bdce5a858a1be8"> </div><div class="notion-text notion-block-890694ae3112451c92af72b0a1ca5c4b"><b>4.4 记录已经上传的文件和失败的文件</b></div><div class="notion-text notion-block-8d77b9b3a73541ef826465a306340952">由于不能保证代码就一定能执行成功，有时候会由于一些奇奇怪怪的问题导致找不到元素，然后就没办法执行下一步了，所以代码里面也记录失败的文件名，已经增加已经上传文件的过滤</div><div class="notion-blank notion-block-988079283322419b8db9a5b16b44bb5c"> </div><div class="notion-text notion-block-788bccb59f9e4974952b71e7615d39f8">可以抓包 <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.coze.com/api/memory/knowledge/list_dataset">https://www.coze.com/api/memory/knowledge/list_dataset</a> 接口，里面有返回已经上传的文件名</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-6c630fdcea9046008a4c70d1c3865e76"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F20336227-fd45-4a41-b429-0b9fec88212b%2Fa47fc1d5-33c3-40de-a92c-12d1731692db%2FUntitled.png?table=block&amp;id=6c630fdc-ea90-4600-8a4c-70d1c3865e76" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-24c95859eff94fbeb333ed207da7c99c"> </div><div class="notion-text notion-block-4bb405a4e3ce46c0997501b5a40a8df1"><b>4.5 XPath 路径问题</b></div><div class="notion-text notion-block-89c1b885835e436f86be4eaaebe9b210">由于我是根据<code class="notion-inline-code">XPath</code>方式定位HTML元素的，所以如果<code class="notion-inline-code">Coze</code>前端页面改了样式，大概率就会出现找不到对应元素的问题，如果遇到这种问题，大家记得更新<code class="notion-inline-code">XPath</code>路径</div><div class="notion-blank notion-block-622001410964419699744fb47021e7f6"> </div><div class="notion-text notion-block-ec6d22d331914ae9aafcf3571e1da1ec"><b>4.6 源码获取</b></div><div class="notion-text notion-block-3c32fcc4863e49dba440b5be681c660d">关于源代码的获取，在公众号回复“<b>Coze上传</b>”就可以得到全部源码链接！</div><div class="notion-blank notion-block-f2eb05cf65c74becad69842b6e455918"> </div><div class="notion-text notion-block-972ba8d286714ec8a44fe41de47c5227">最后如果这个工具能帮到你的话，还请多多点赞，你的点赞是我不断更新的动力！</div></main></div>]]></content:encoded>
        </item>
    </channel>
</rss>