<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ 人工智能 - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ freeCodeCamp 是一个免费学习编程的开发者社区，涵盖 Python、HTML、CSS、React、Vue、BootStrap、JSON 教程等，还有活跃的技术论坛和丰富的社区活动，在你学习编程和找工作时为你提供建议和帮助。 ]]>
        </description>
        <link>https://www.freecodecamp.org/chinese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ 人工智能 - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/chinese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Tue, 19 May 2026 10:03:08 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/chinese/news/tag/artificial-intelligence/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ 内容创作者高级提示词工程完整手册 ]]>
                </title>
                <description>
                    <![CDATA[ 在当今数字时代作为内容创作者，掌握提示词工程不仅是有益的——还是必不可少的。提示词工程提升了你与诸如 ChatGPT 等 AI 工具进行有效沟通的能力，把它们从简单的工具转变为内容创作中的强大助手。 本指南旨在帮助你释放生成式 AI（GenAI）的潜力，提供精确的策略，显著提升你的创意输出。 AI 已经彻底改变了内容创作的格局。但要充分利用这种潜力，理解提示词工程是关键。 本手册深入探讨提示词工程的细节，为你提供如何撰写提示词的知识，以从 AI 中获得最佳结果。 创作初期的瓶颈期一去不返了。取而代之的是，通过精心设计的提示词来点燃你的创意、深度吸引你的观众并推动有影响力的互动。 你将获得可落地的观点和技术，这些东西不仅能够启发你，还能为你的内容创作赋能。 无论是了解受众的需求，还是提出能引起共鸣的问题，本指南都能以专业、简洁的方式为你一一解答，并且始终关注你的成长。 前提条件 要有效使用本提示词工程指南，需要具备某些基础技能。  * 首先，你应该熟悉使用 AI 工具，因为这些知识是提示工程的核心。这包括理解 AI 在内容创作中的基本操作和应用。  * 其次，内容创作经验 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/advanced-prompt-engineering-handbook/</link>
                <guid isPermaLink="false">678664db51e2a8041e344ee1</guid>
                
                    <category>
                        <![CDATA[ 人工智能 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ zhizhan ]]>
                </dc:creator>
                <pubDate>Wed, 22 Jan 2025 08:50:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2025/01/Advanced-Prompt-Enginering-for-Content-Creators-Cover.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/advanced-prompt-engineering-handbook/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Advanced Prompt Engineering for Content Creators – Full Handbook</a>
      </p><!--kg-card-begin: markdown--><p>在当今数字时代作为内容创作者，掌握提示词工程不仅是有益的——还是必不可少的。提示词工程提升了你与诸如 ChatGPT 等 AI 工具进行有效沟通的能力，把它们从简单的工具转变为内容创作中的强大助手。</p>
<p>本指南旨在帮助你释放生成式 AI（GenAI）的潜力，提供精确的策略，显著提升你的创意输出。</p>
<p>AI 已经彻底改变了内容创作的格局。但要充分利用这种潜力，理解提示词工程是关键。</p>
<p>本手册深入探讨提示词工程的细节，为你提供如何撰写提示词的知识，以从 AI 中获得最佳结果。</p>
<p>创作初期的瓶颈期一去不返了。取而代之的是，通过精心设计的提示词来点燃你的创意、深度吸引你的观众并推动有影响力的互动。</p>
<p>你将获得可落地的观点和技术，这些东西不仅能够启发你，还能为你的内容创作赋能。</p>
<p>无论是了解受众的需求，还是提出能引起共鸣的问题，本指南都能以专业、简洁的方式为你一一解答，并且始终关注你的成长。</p>
<h3 id="">前提条件</h3>
<p>要有效使用本提示词工程指南，需要具备某些基础技能。</p>
<ul>
<li>首先，你应该熟悉使用 AI 工具，因为这些知识是提示工程的核心。这包括理解 AI 在内容创作中的基本操作和应用。</li>
<li>其次，内容创作经验的很重要。不论媒介如何，熟悉如何创作吸引人的内容为应用 AI 增强技术提供了坚实基础。</li>
<li>最后，对机器学习原理的基本理解是有益的。虽然不需要深入的技术知识，但了解像 GPT 这样的 AI 模型是如何学习和生成响应的，将帮助你撰写有效的提示词。</li>
</ul>
<p>确保你准备好这些前提条件，然后去探索 AI 在提升内容创作过程中的全部潜力。</p>
<h3 id="">你将学到什么</h3>
<p>完成本指南后，你将有能力：</p>
<ol>
<li>创作目标精准的内容：开发与观众特定兴趣和需求高度一致的内容，显著提升参与度和相关性。</li>
<li>增强 SEO 策略：在内容创作过程中应用高级 SEO 技巧，显著提高你在网络上的曝光和搜索引擎排名。</li>
<li>推动社交媒体成功：为 LinkedIn、Instagram、YouTube 等平台生成引人入胜的、针对平台优化的内容，有效扩展你的数字足迹并吸引更广泛的受众。</li>
<li>掌握视觉内容创作：利用 DALL-E 和 Midjourney 等 AI 驱动的工具创建视觉震撼的内容，与你写作的内容相辅相成，丰富整体用户参与度。</li>
<li>跨平台内容适配：适配和重构你的内容，实现在不同平台无缝切换，确保品牌一致性并最大化你的数字影响力。</li>
<li>分析和利用数据：利用数据分析不断优化和提升你的内容策略，确保你的提示词和内容与受众不断变化的喜好同步发展。</li>
<li>构建个性化提示词库：开发和整理一个有效提示词的定制集合，为各种情境和话题简化你的内容创作过程。</li>
<li>吸引并留住你的观众：创建引人入胜的内容，不仅吸引受众，还能留住受众的兴趣，围绕你的品牌或平台培养一个忠诚的、互动的社区。</li>
<li>解锁创意叙事：利用 AI 的力量解锁创意叙事的新维度，让你能够讲述引人入胜的故事，引起受众的深刻共鸣。</li>
</ol>
<p>我是 Vahe Aslanyan，一名软件工程师和 LunarTech 的联合创始人。我迫不及待要开始了，希望你也一样。让我们开始吧！</p>
<h2 id="">目录</h2>
<ol>
<li><a href="#ai-and-you-embracing-authenticity-in-the-age-of-automation">AI 与你：在自动化时代拥抱真实性</a></li>
<li><a href="#prompt-engineering-basics">提示词工程基础</a></li>
<li><a href="#how-to-elevate-your-content-game-with-advanced-prompt-skills">如何利用高级提示词技能提升你的内容游戏</a></li>
<li><a href="#how-to-create-effective-prompts">如何创建有效的提示词</a></li>
<li><a href="#know-your-audience-to-create-engaging-content">了解你的受众以创建引人入胜的内容</a></li>
<li><a href="#how-to-figure-out-what-your-audience-wants-and-give-it-to-them">如何找出你的受众想要什么——并提供给他们</a></li>
<li><a href="#how-to-use-data-to-craft-prompts-that-resonate">如何使用数据来撰写能引起共鸣的提示词</a></li>
<li><a href="#how-to-connect-with-your-audience-and-make-your-prompts-irresistible">如何与受众建立联系并使你的提示词有吸引力</a></li>
<li><a href="#how-to-hook-the-reader-with-effective-storytelling">如何用有效的故事讲述吸引读者</a></li>
<li><a href="#dall-e-and-midjourney-prompts-how-to-use-images-to-fuel-creative-prompts">DALL-E 和 Midjourney 提示词——如何使用图像激发创意提示词</a></li>
<li><a href="#how-to-create-engaging-content-for-linkedin-instagram-and-youtube">如何为 LinkedIn、Instagram 和 YouTube 创建引人入胜的内容</a></li>
<li><a href="#prompt-engineering-seo-how-to-get-your-content-seen-and-shared">提示词工程 SEO——如何让你的提示词被看到和分享</a></li>
<li><a href="#the-prompt-engineers-toolkit-must-have-resources">提示词工程师的工具包：必备资源</a></li>
<li><a href="#ethics-in-action-responsible-prompt-crafting">行动中的伦理：负责任的提示词制作</a></li>
<li><a href="#impact-analysis-how-to-tell-if-your-prompts-are-working">影响分析：如何判断你的提示词是否有效</a></li>
<li><a href="#conclusion">总结</a></li>
</ol>
<h3 id="">小结</h3>
<ol>
<li>提示词工程是内容创作者提升创造力和吸引观众的强大工具。</li>
<li>有效的提示词是吸引读者注意力和推动有意义参与度的关键。</li>
<li>理解目标受众和研究用户意图是构建吸引人提示词的关键步骤。</li>
<li>利用讲故事的技巧、视觉提示词和特定平台的格式可以进一步增强你的提示词的影响力。</li>
<li>优化提示词以适应 SEO 和社交媒体可以增加曝光和触达。</li>
<li>在提示词工程中应考虑道德问题。</li>
<li>通过案例研究跟踪和分析提示词的表现可以为内容改进提供宝贵的见解。</li>
</ol>
<h2 id="ai-and-you-embracing-authenticity-in-the-age-of-automation">AI 与你：拥抱自动化时代的真实感</h2>
<p>在当今内容丰富的环境中，人工智能 (AI) 是一个生成内容的无价工具。但仅仅依靠 AI 可能无法完全捕捉到令你内容独具吸引力的精髓——你的声音、真实性以及在你的领域中区分你与其他人的个人风格。</p>
<p>虽然 AI 具有显著的效率和能力，但在不失去个人或公司品牌精髓的情况下整合它是至关重要的。</p>
<p>AI 的优势在于增强内容创建过程，而不是取代它。要有效利用 AI 同时保持真实性，可以将其视为头脑风暴和写草稿的伙伴。</p>
<p>让 AI 生成个性化的内容是关键。一种方法是使用 AI 生成创意和大纲，然后在最终内容中注入个人见解和叙事风格。另一种方法是用反映你独特声音和观点的定制提示词来引导 AI，确保输出与品牌身份一致。</p>
<p>在讨论和担忧 AI 在未来工作中的角色时，必须认识到 AI 不是来取代人类的，而是来赋能他们的。AI 是增强我们能力的工具，而不是人类创造力和洞察力的替代品。你的内容的独特价值主张在于你如何利用 AI 来表达独特的观点和想法。</p>
<p>如果内容生成完全成为 AI 的领域，我们可能会失去个体的个性和真实性。因此，在使用 AI 时，关键不只是 AI 驱动生成内容，而在于你作为创作者如何利用 AI 来制作反映你本质的内容。</p>
<p>仔细审查和优化 AI 生成的所有内容是至关重要的。这确保了最终产品与真诚的声音产生共鸣，符合你的质量标准，并且不会包含错误或不准确的信息。通过这种细心的方法使用 AI，你可以保护你的增长潜力，降低制作出生硬的内容或与你的品牌理念脱节的内容的风险。</p>
<p>总之，虽然 AI 为内容创作提供了前所未有的机会，但当它与你的创造力和真实性相辅相成时，它的最大潜力才会得到实现。将 AI 作为创新的工具，但让你独特的声音引领真正有影响力和个性化的内容。</p>
<p>AI 的存在是为了增强人类创造力，而不是埋没它，确保内容的核心和灵魂依然是人类。</p>
<h2 id="prompt-engineering-basics">1. 提示词工程基础</h2>
<p>提示词工程是 AI 时代内容创作者的重要工具。这是设计精确指令的艺术和科学，利用像 GPT-3/4 这样的 AI 模型来生成不仅质量高而且关联性强的内容。</p>
<p>所以提示词工程引导 AI，阐明你的愿景并将其转化为每次都能达到目标的内容。</p>
<h3 id="">提示词工程为何有用</h3>
<ol>
<li><strong>精确性</strong>: 一个设计良好的提示词的妙处在于它能定义手头的任务。它让 AI 集中注意力，确保输出不仅准确而且切中要点。</li>
<li><strong>适应性</strong>: AI 的魅力在于其多功能性，而提示词工程则是你塑造其输出结果的工具。无论你的受众是精通技术的千禧一代，还是经验丰富的专业人士，量身定制的提示词都能让每个人满意。</li>
<li><strong>效率</strong>: 时间至关重要，而提示词工程是你获得高质量内容的快捷方式。一个深思熟虑的提示词简化了创作过程，为你节省宝贵的时间，同时提升输出质量。</li>
</ol>
<h3 id="">如何打造完美提示词：艺术与科学</h3>
<ol>
<li><strong>清晰度</strong>：要清晰、简洁，你的提示词应与你的目标相呼应，不能有任何含糊不清之处。这种清晰度能让人工智能的输出与你的愿景保持一致。</li>
<li><strong>具体性</strong>: 细节很重要。当你在提示词中注入具体的指令和示例时，你是在引导 AI 的创意，确保内容像手套一样符合你的标准。</li>
<li><strong>结构</strong>: 一个结构良好的提示词是成功内容的路线图。要点、编号列表或简单的大纲——这些是为你的内容带来一致性和流畅性的工具。</li>
</ol>
<h2 id="how-to-elevate-your-content-game-with-advanced-prompt-skills">2. 如何用高级提示词技能提升你的内容水平</h2>
<p>高级提示词工程帮助你实现确切的愿景——你掌控着方向。通过精心设计提示词，你可以引导 AI 生成不仅接近而且完全符合你的目标的内容。</p>
<p>这就像拥有一个指南针，确保 AI 可以完美地理解并执行您的任务。</p>
<p>它还可以帮助你根据受众量身定制内容，这就是神奇之处——你可以根据受众的意图和偏好来设置提示词。这意味着你的内容能引起深刻共鸣，从而提升参与度、转化率和品牌忠诚度。</p>
<p>最后，在保持质量的同时简化内容创作是高级提示词工程的标志。通过提供详细、结构化的提示词，AI 可以快速领会您的要求，从而生成几乎无需修改且始终高质量的内容。</p>
<h3 id="">掌握提示词工程的艺术</h3>
<p>那么，您如何成为提示词工程的专家呢？专注于这些要素：</p>
<ol>
<li><strong>创建多样的提示词库</strong>：将其视为您的工具箱。一个丰富的已标记示例库展示了各种成功的成果，引导 AI 为各种主题和受众制作内容。</li>
<li><strong>零样本（zero-shot）和 少样本（few-shot）</strong>：这是您的秘密武器，我们将在下文进一步讨论。它们使 AI 可以进入未知领域，以最少的预训练生成新场景的内容。这可以最大化 AI 的内在能力。</li>
</ol>
<p>掌握这门技术，你就能以传统方法无法比拟的速度和质量，创造出有针对性、有影响力和高效的内容。</p>
<h2 id="how-to-create-effective-prompts">3. 如何创建有效的提示词</h2>
<p>让我们深入探讨构成有效提示词的基本组成部分。</p>
<h3 id="">文本提示词的明确性和清晰性</h3>
<p>提示词工程的核心是制定清晰简明的提示词的艺术。每个提示词都应明确表达目标、问题或指令，使用精确的语言确保 AI 完全理解所需内容。</p>
<p>例如，针对营销活动的提示词可能是，“创建引人注目的社交媒体标题，以突出我们最新的产品，针对注重健康的消费者。”</p>
<ul>
<li>坏的示例：“写关于我们产品的内容。”</li>
<li>好的示例：“为我们的新有机护肤产品线撰写详细的产品描述，突出其天然成分及对敏感肌肤的好处。”</li>
</ul>
<h3 id="">上下文</h3>
<p>添加上下文至关重要。提供相关背景信息使 AI 能够生成更加相关且准确的响应。这包括指定诸如目标人群、时间范围或环境等方面。</p>
<p>上下文丰富了提示词，使 AI 的响应更加符合预期目的。</p>
<ul>
<li>坏的示例：“写一篇关于历史的博客文章。”</li>
<li>好的示例：“撰写一篇博客文章，讨论文艺复兴对现代欧洲艺术的影响，聚焦其在 15 和 16 世纪期间的影响。”</li>
</ul>
<h3 id="">标记示例的指导作用</h3>
<p>在提示词中加入标记示例是一种有效的训练 AI 模型的策略。通过展示您所期望输出的实例，AI 可以更好地掌握和模仿所需的风格和语气。</p>
<p>例如，一篇博客文章的示例可能是，“写一个能立即吸引读者的介绍，就像[具体文章]的开头句子那样吸引观众。”</p>
<ul>
<li>坏的示例：“写一些引人入胜的内容。”</li>
<li>好的示例：“撰写一篇东京旅游指南，风格和语气类似于我们受欢迎的‘廉价游巴黎’文章，强调隐藏的宝藏和当地体验。”</li>
</ul>
<h3 id="">步骤式结构</h3>
<p>对于复杂的请求，将提示词分解成连续的步骤或项目符号可以显著帮助 AI 生成组织有序且连贯的内容。这种方法特别适用于复杂或多部分的任务。</p>
<ul>
<li>坏的示例：“解释如何做晚餐。”</li>
<li>好的示例：“列出逐步制作素食千层面的食谱，从食材准备开始，然后是组装指令、烹饪时间和上菜建议。”</li>
</ul>
<h3 id="vs">零样本 vs 少样本</h3>
<p>在快速发展的 AI 驱动内容创建领域，零样本和少样本提示词已成为关键技术。它们让你能够利用 AI 模型如 GPT 的全部潜力，生成一系列主题和场景的内容。</p>
<p>这些方法，尽管在方法上有所不同，但它们共享一个共同目标，即在不需要大量数据集训练的情况下优化内容的相关性和准确性。以下是对每种技术的深入探讨，以及它们如何革新内容创建：</p>
<h4 id="">什么是零样本提示词？</h4>
<p>零样本提示词帮助 AI 模型进入未知话题或在不需要先前特定训练的情况下生成内容。</p>
<p>这种技术在您处理广泛主题或需要获取模型可能未明确训练的新兴趋势的内容时特别有用。</p>
<p>通过设计具有丰富上下文和清晰指令的提示词，您可以引导 AI 利用其庞大的通用知识和语言理解能力生成连贯且相关的内容。这种方法对于保持内容的多样性和新鲜度尤为宝贵，特别是在快节奏行业中。</p>
<p>理想情况下，可以生成对新技术、社会趋势或小众话题的概述、解释或介绍。</p>
<p><strong>例如</strong>："解释量子计算如何能彻底改变数据加密，强调其原理而不引用先前的例子。"</p>
<h4 id="fewshotprompting">什么是少样本提示词（Few-shot Prompting）？</h4>
<p>另一方面，少样本提示词是向 AI 模型介绍一些相关的示例或与特定内容主题相关的最小数据集。这种技巧有效地对模型进行初步引导，使其输出更加符合语境和准确。</p>
<p>少样本提示词是零样本技术的灵活性和完全训练模型的精确性之间的桥梁，提供了一种平衡的内容创作方法，适用于需要细微理解或行业特定见解的情况。</p>
<p>少样本提示词在提示词中包含一小组示例，指导 AI 更加接近所需的内容风格或事实准确性。</p>
<p>这对于需要技术准确性、行业特定知识或特定风格的方法的内容特别有用。</p>
<p><strong>例如</strong>："概述在城市规划中使用可再生能源的优势，参考三个成功的城市可再生项目案例研究。"</p>
<h4 id="vs">零样本 vs 少样本：哪个更适用？</h4>
<p>选择零样本还是少样本提示词取决于你的内容策略的具体需求和所需的专业知识深度。</p>
<p>零样本适用于更广泛的主题或当你在探索新内容领域时，提供一种快速而灵活的内容生成方式。而少样本提示词在准确性和上下文的准确性至关重要时是必不可少的，尤其是对于基于专门知识或技术主题的内容。</p>
<p>利用这些技术，您可以在内容生成中掌握 AI 的广泛能力，从编写引人入胜的新兴趋势叙述到生成详细准确的技术指南。</p>
<p>通过有策略地应用零样本和少样本提示词，你可以确保内容保持相关、引人入胜和信息丰富，完美地满足受众不断发展的兴趣和需求。</p>
<h3 id="chainofthought">思考链（Chain-of-Thought）提示词</h3>
<p>为了确保内容的连续性和逻辑进展，连贯思路提示词是无价的。它们引导 AI 构建上述响应或信息，创作出流畅且保持连贯的内容。</p>
<ul>
<li>糟糕的： "继续写。"</li>
<li>好的： "继续先前关于气候变化的讨论，探索城市地区可以实施的减少碳足迹的潜在解决方案。"</li>
</ul>
<h3 id="">迭代式改进和适应性</h3>
<p>提示词工程是一个不断发展的过程。持续地实验和改进提示词是发现从 AI 中获取最佳结果的短语和结构的关键。</p>
<p>随着 AI 技术和 NLP（自然语言处理）能力的进步，跟上这些变化并相应地调整提示词是至关重要的。</p>
<ul>
<li>糟糕： "写关于太空探索的内容。"</li>
<li>好（初步）： "总结自 1960 年以来太空探索的主要里程碑。"</li>
<li>好（改进）： "总结自 1960 年以来太空探索的主要里程碑，重点关注国际合作和私人公司在最近发展的作用。"</li>
</ul>
<p>通过整合这些关键组件，您可以提升使用生成性 AI 模型的内容生产的效果和质量。有效提示词不仅仅是指令——它们是塑造 AI 驱动内容以满足您特定需求的基础。</p>
<h2 id="know-your-audience-to-create-engaging-content">4. 了解你的受众以创造引人入胜的内容</h2>
<p>在内容创作中，提示词工程的效力与对目标受众的深入理解紧密相关。了解他们的偏好、兴趣和需求可以有效定制提示词。</p>
<p>这会导致生成的内容能够深深吸引和共鸣受众，确保每一篇内容都能打动目标观众或读者的心弦。</p>
<h3 id="">进行全面的市场调研</h3>
<p>进行广泛的市场调研是了解受众特征的基础。分析如年龄、性别、位置和职业等人口统计信息，可以大致了解您的受众是谁。</p>
<p>深入研究心理图谱，包括兴趣、爱好、价值观和行为模式，有助于创建与吸引受众兴趣点精确对齐的提示词。</p>
<p>这样的详细研究确保生成的内容既相关又有吸引力。</p>
<p>提示词："为纽约市的城市千禧一代制定一份全面的环保生活指南，强调在小公寓中易于实施的可持续实践。"</p>
<h3 id="">了解痛点和愿望</h3>
<p>识别受众的痛点和愿望是创建相关和有影响力内容的关键。认识到他们面临的挑战和挫折可以使您开发出有效解决这些问题的提示词。</p>
<p>提示词: "创建一系列文章，解决首次创业者面临的常见挑战，提供实用的解决方案和激励性的成功故事，以激励和指导他们完成创业之旅。"</p>
<h3 id="">创建目标买家角色</h3>
<p>通过市场调研收集的见解，开发详细的买家角色是一个非常有价值的步骤。这些角色代表了您的理想受众，概括了他们的挑战和愿望。在提示词生成过程中，它们作为参考点，确保您的提示词是有针对性的和有效的。</p>
<p>买家角色为您的内容策略带来具体而集中化的维度，使您的提示词与受众的期望更加一致。</p>
<p>对于一个“技术娴熟的家长”角色：</p>
<ul>
<li>提示词：“写一篇博客文章，评审适合6-10岁儿童的顶级教育应用程序，侧重于其对技术娴熟的家长易用性和对儿童的教育价值。”</li>
</ul>
<h3 id="">利用现有内容和受众反馈</h3>
<p>分析现有内容和受众反馈对于了解什么能引起受众的共鸣至关重要。这种分析有助于识别过去内容中成功的模式、主题和风格。</p>
<p>了解此前能够吸引受众的内容为未来的内容策略提供了蓝图，允许您复制成功并避免过去的错误。</p>
<p>基于反馈表明对健康和健身有强烈兴趣：</p>
<ul>
<li>提示词：“制作一系列短视频，展示适合忙碌专业人士的家庭锻炼方案，结合用户反馈，要求能在小空间并且不使用器材的练习。”</li>
</ul>
<h3 id="">利用数据分析获取受众见解</h3>
<p>数据分析工具提供了有关受众行为的宝贵见解，例如浏览习惯和社交媒体互动。</p>
<p>监测参与度指标，包括页面浏览量、页面停留时间和社交媒体互动，提供了关于内容表现的具体数据。这些信息对于优化您的提示词以最大化参与度和影响力至关重要。</p>
<p>看到与家庭烹饪内容相关的互动增加趋势：</p>
<ul>
<li>提示词：“为业余家庭厨师创作每周互动烹饪挑战，重点介绍容易、健康的食谱，用常见的厨房食材，基于最近数据显示对烹饪相关帖子互动增加。”</li>
</ul>
<h2 id="how-to-figure-out-what-your-audience-wants-and-give-it-to-them">5. 如何找出您的受众想要什么——并给予他们</h2>
<p>在内容创作中，理解和利用用户意图对于有效的提示词生成至关重要。</p>
<p>内容创作者如果能够深入了解受众的动机、需求和欲望，就能设计出引起强烈共鸣和互动的提示词。这种细致入微的方法确保每一篇内容都能打动目标受众的心弦。</p>
<h3 id="">进行关键词研究</h3>
<p>关键词研究不仅仅是一个初步步骤，而是内容创作过程中一个战略性的基础。它使您的内容与用户意图相一致，确保您创建的内容能够引起目标受众的共鸣。</p>
<p>利用像 Google 关键词规划师和 SEMrush 这样的高级工具，您可以深入了解受众的词汇，不仅发现他们在搜索什么，还了解他们是如何搜索的。</p>
<h4 id="">理解用户语言和查询</h4>
<p>关键词研究的真正价值在于它能够超越识别高搜索量的关键词。它关于理解受众语言的细微差别和查询的背景。</p>
<p>这种深入了解受众语言和搜索模式的方法让内容创作者得以创作出直接针对用户兴趣、问题和关切的提示词。</p>
<h4 id="">有效关键词研究的策略：</h4>
<ol>
<li><strong>识别核心主题</strong>：首先确定与您的品牌或领域相关的核心主题。这些主题将作为您的关键词研究的支柱，引导您探索相关术语和查询。</li>
<li><strong>使用关键词研究工具</strong>：利用 Google 关键词规划师和 SEMrush 等工具，收集关于关键词量、竞争和趋势的数据。这些工具提供了关于您的受众如何搜索与您的主题相关的信息的见解。</li>
<li><strong>探索长尾关键词</strong>：长尾关键词，虽然搜索量较低，但转换率较高。这些关键词允许您目标特定的细分市场并吸引处于不同意图阶段的用户。</li>
<li><strong>分析搜索者意图</strong>：理解用户搜索某些术语的原因与了解这些术语本身一样重要。按意图（信息性、导航性、交易性等）对关键词进行分类，以便相应地定制您的内容。</li>
<li><strong>研究竞争对手的关键词</strong>：分析竞争对手正在针对的关键词，以识别您策略中的空白和差异化的机会。</li>
<li><strong>加入问题</strong>：许多搜索是以问题形式提出的。使用 Answer the Public 等工具，找到与您的关键词相关的常见问题。这可以指导您创建直接回答受众查询的内容。</li>
<li><strong>监控趋势</strong>：保持对行业内趋势主题和新兴关键词的关注。Google Trends 等工具可以提供有价值的见解，帮助您利用季节性高峰或不断增长的兴趣。</li>
</ol>
<p>所以关键词研究不仅仅是关于 SEO 优化——它还在你的内容和受众的需求和兴趣之间建立起一座桥梁，确保你的信息被听到、被重视并被付诸行动。</p>
<h3 id="">分析搜索意图以定制提示词</h3>
<p>分析识别出的关键词背后的搜索意图是使你的内容与受众需求和期望保持一致的关键步骤。</p>
<p>这种分析超越了关键词流行度的表面层次，深入挖掘用户搜索这些术语的原因和动机。基本上，问题是：“用户希望通过搜索找到或实现什么？”</p>
<h4 id="">搜索意图的类别：</h4>
<ol>
<li><strong>信息性意图：</strong> 用户寻找信息或问题的答案。针对这种意图定制的内容通常包括详细的文章、博客帖子和常见问题解答，提供有价值的见解或知识。</li>
<li><strong>操作指南：</strong> 这是信息性意图的一个子集，但由于其实用性而值得特别注意。具有这种意图的用户正在寻找分步的说明或教程。制作提供清晰、简明且可操作指南的内容直接满足了这种需求。</li>
<li><strong>产品评论：</strong> 当用户考虑购买时，他们通常会搜索评论和比较。了解这种意图可让你创建评估产品或服务的内容，突显特性、优点和潜在的缺点。</li>
<li><strong>解决问题的方案：</strong> 许多搜索是为了解决特定问题。针对这些问题提供解决方案、建议或产品推荐的内容可以有效地吸引这类受众。</li>
</ol>
<h4 id="">使内容与搜索意图保持一致的策略：</h4>
<ul>
<li><strong>利用特定意图的关键词：</strong> 在你的内容中加入与用户意图相匹配的关键词。对于信息性内容，使用基于问题的关键词。对于产品评论，包含像“评论”、“比较”或“最佳”等词语。</li>
<li><strong>适当格式化内容：</strong> 将你的内容格式化以适应意图。信息性内容可能采用长篇文章的形式，而操作指南则可以用分步骤的项目符号或甚至视频教程来结构化。</li>
<li><strong>直接回答用户的查询：</strong> 确保你的内容直接处理用户的查询或需求。使用清晰的标题和副标题，使信息易于查找，并始终旨在提供价值或解决用户的问题。</li>
<li><strong>以行动号召来吸引：</strong> 对于与交易意图一致的内容，包含明确的行动号召，引导用户迈向下一步，无论是购买、注册简讯或联系你的业务以了解更多信息。</li>
</ul>
<p>通过仔细分析搜索意图并制作与你的目标受众的特定需求相匹配的内容，你确保了你的内容不仅相关且吸引人，还能够有效地实现目标受众的目标。</p>
<p>这种用户意图与内容创建之间的战略性一致促进了与受众的更深层次的联系，增强了内容的影响力和覆盖范围。</p>
<h3 id="serp">使用 SERP 分析和用户查询</h3>
<p>进行搜索引擎结果页 (SERP) 分析是一种战略性方法，确保你的内容准确符合受众的需求和兴趣。这涉及到对目标关键词的当前搜索结果的详细检查，重点关注特色摘要、“人们也在问”部分以及在第一页上占主导地位的整体内容类型。</p>
<p>通过理解搜索引擎认为最相关的内容的性质，你可以调整你的提示词，以生成符合这些标准的内容。</p>
<h4 id="serp">SERP 分析的好处：</h4>
<ul>
<li><strong>识别内容空白：</strong> SERP 分析可以揭示现有内容没有充分覆盖的主题或问题，为你填补这些空白并吸引受众兴趣提供了机会。</li>
<li><strong>告知内容格式：</strong> 通过观察排名靠前的内容类型（如列表文章、操作指南、视频），你可以决定最适合你的内容的格式，以匹配用户偏好和搜索引擎的青睐。</li>
<li><strong>指导关键词优化：</strong> 对特色摘要和排名靠前的页面的分析可以提供关于应包含在提示词中的关键词和短语的见解，确保 AI 生成的内容优化以提高搜索可见性。</li>
</ul>
<h4 id="">如何使用用户查询来定制内容：</h4>
<p>将用户查询纳入提示词创建过程对于开发直接处理受众最关心的问题和问题的内容至关重要。你可以通过以下方式做到这一点：</p>
<ul>
<li><strong>收集查询数据：</strong> 使用 Google 的“搜索控制台”和关键词研究工具来识别将用户引导到你网站的查询以及你领域中流行的查询。</li>
<li><strong>基于问题的提示词：</strong> 创建围绕这些用户查询结构化的提示词，引导 AI 生成提供清晰、权威答案的内容。</li>
<li><strong>增强用户参与度：</strong> 基于用户查询开发的内容本质上是吸引人的，因为它直接针对受众的需求和兴趣，鼓励互动和分享。</li>
</ul>
<ol>
<li><strong>定期进行 SERP 评审：</strong> 定期分析关键主题的 SERP，以了解不断发展的内容环境和用户偏好。</li>
<li><strong>识别趋势查询：</strong> 利用分析工具和关键词工具捕捉目标受众感兴趣的新兴查询和话题。</li>
<li><strong>编写具体、有依据的提示词：</strong> 利用从 SERP 分析和用户查询趋势中获得的见解，创建详细的提示词，指导 AI 覆盖特定角度、回答普遍问题，并结合所需的内容结构和关键词策略。</li>
<li><strong>评估和调整：</strong> 不断评估 AI 生成内容在用户参与度和搜索排名方面的表现，并根据这些见解优化提示词创建策略。</li>
</ol>
<p>通过将 SERP 分析和用户查询整合到提示词创建过程中，确保您的内容对受众既相关又有价值，同时在搜索环境中具有竞争力。这种策略性的方法使您能够开发出突出的内容，满足真实的用户需求，并提升在线可见性。</p>
<h3 id="">分析竞争内容</h3>
<p>分析竞争对手内容的主要目的是了解在您的细分市场内有效吸引受众的内容。这需要对竞争对手采用的内容策略进行全面审查，识别其优势和劣势，并发现未满足的需求或未充分探索的领域。</p>
<p>通过这样做，可以调整和改进自己的内容提示词，确保 AI 生成的内容不仅独特，还能填补市场上的现有空白，从而在竞争中脱颖而出。</p>
<h4 id="">竞争对手分析的关键方面：</h4>
<ol>
<li><strong>内容质量和深度：</strong> 评估竞争对手内容中信息的完整性和质量。寻找可以提供更深入研究、更清楚解释或更高质量内容的领域。</li>
<li><strong>涵盖话题：</strong> 确定竞争对手正在讨论的话题范围。注意任何您可能忽略的热门或趋势话题。这可以指导您创建从新角度或更详细地探索这些领域的提示词。</li>
<li><strong>参与度指标：</strong> 查看竞争对手内容的参与度指标，如点赞、分享、评论和观看次数。高参与率可能表明这些话题或格式与受众很好地契合。</li>
<li><strong>SEO 策略:</strong> 分析竞争对手的 SEO 技术，包括关键词优化、描述文本和反向链接。了解其 SEO 成功和不足之处可以为更好地搜索引擎可见性提供提示词创建的参考。</li>
<li><strong>内容空白:</strong> 寻找竞争对手未充分解决的内容空白或问题。这些代表了您可以生产填补这些空白的内容，迎合未满足的受众需求的机会。</li>
</ol>
<h4 id="">如何将见解应用于提示词优化：</h4>
<ul>
<li><strong>编写详细提示词:</strong> 利用分析中的见解编写详细的 AI 提示词。这些提示词应指导生成在质量、深度和参与度方面超越竞争对手的内容。</li>
<li><strong>关注未探索细分市场:</strong> 开发鼓励探索竞争对手存在有限的领域的提示词。这一策略可以将您定位为先前被忽视领域的思想领袖。</li>
<li><strong>增强对 SEO 的关注:</strong> 在提示词中整合已被证明有效的 SEO 策略。这包括指定关键词使用、建议内链和提示词生成有效回答用户常见问题的内容。</li>
<li><strong>改进参与度策略:</strong> 在提示词中加入旨在提高参与度的要素，如引人注目的行动号召、互动内容格式或用户生成内容提示词。</li>
</ul>
<h4 id="">竞争对手内容分析的实际步骤：</h4>
<p>首先，选择一系列直接和间接竞争对手，以全面了解您的细分市场。</p>
<p>然后，可以借助 BuzzSumo、SEMrush 和 Ahrefs 等工具收集竞争对手内容表现和 SEO 策略的数据。</p>
<p>记录分析结果，突出关键见解、趋势和发现的空白。并定期重新审查竞争对手分析，以紧跟市场变化并相应调整内容提示词。</p>
<p>总之，对竞争对手内容的细致分析提供了极有价值的见解，可以显著提升您的提示词工程工作的有效性。</p>
<p>通过战略性地将这些见解整合到内容创建过程中，确保生成的 AI 内容不仅具有竞争力，同时也能深深打动目标受众。</p>
<h3 id="">利用受众研究工具</h3>
<p>受众研究工具，包括社媒分析和客户反馈机制，对于深入了解目标受众的偏好和行为至关重要。</p>
<p>这些工具提供定量和定性数据，能够显著影响内容提示词的方向和重点，确保它们符合受众需求和兴趣。</p>
<p><strong>社交媒体分析:</strong> Facebook Insights、Twitter Analytics 和 Instagram Insights 等平台提供了丰富的数据，涵盖了关注者的人口统计、互动模式和内容表现。</p>
<p>分析这些数据有助于识别获得最多互动的内容主题和格式，从而指导创建反映成功内容特征的提示词。</p>
<p><strong>客户反馈系统:</strong> 通过调查、反馈表格和直接客户互动收集的反馈提供了关于受众内容偏好、痛点和期望的宝贵洞察。</p>
<p>这种反馈可以指出内容改进的领域，并建议受众渴望探索的新主题。</p>
<p><strong>评论分析:</strong> 审查社交媒体帖子和博客上的评论可以揭示你的受众对内容的看法，包括他们觉得有用的部分，感到不足的部分，以及他们希望获得的额外信息。</p>
<p>这种直接的受众输入对于定制提示词以生成更多相关和吸引人的内容至关重要。</p>
<h4 id="">将洞察整合到内容提示词中的策略:</h4>
<ul>
<li><strong>识别互动模式:</strong> 使用社交媒体分析来识别高效内容。制定鼓励类似主题、格式或风格的提示词，确保未来的内容与已验证的受众偏好保持一致。</li>
<li><strong>回应受众反馈:</strong> 将具体的受众反馈整合到你的内容提示词中。如果反馈强调需要更深入的信息，请在提示词中包含此要求，以指导 AI 生成更全面的内容。</li>
<li><strong>利用趋势:</strong> 利用通过分析确定的趋势话题作为提示词的基础。这确保了你的内容保持相关性和时效性，有效地捕捉受众兴趣。</li>
<li><strong>细化定位:</strong> 使用人口统计数据细化你的内容提示词，以适应特定受众群体。定制内容以匹配不同人口群体的独特兴趣和需求，可以显著提高互动和覆盖面。</li>
</ul>
<h4 id="">实际应用:</h4>
<p>在编写下一组提示词之前，请抽出时间查看最近的分析报告和客户反馈。识别表现最佳的内容和受众反馈中的常见主题。</p>
<p>使用此分析来制定直接针对这些洞察的提示词，无论是通过关注热门话题、采用成功的内容格式，还是回答未解决的受众问题。</p>
<p>然后，持续监控 AI 生成内容的表现和受众反馈，利用这些洞察定期调整和优化你的提示词。</p>
<p>对于希望生成真正吸引和满足受众内容的提示词工程师来说，受众研究工具是不可或缺的。</p>
<p>通过系统地分析这些工具提供的数据，你可以创建有依据的、目标明确的提示词，从而生成紧密贴合受众偏好的内容。</p>
<p>这种战略方法不仅增强了内容的相关性和互动性，还强化了品牌承诺，致力于满足受众的需求和兴趣。</p>
<h2 id="how-to-use-data-to-craft-prompts-that-resonate">6. 如何利用数据创建引起共鸣的提示词</h2>
<p>为了在提示词工程中表现出色并创建真正引人入胜的内容，利用数据的力量至关重要。利用数据驱动的洞察帮助你创建能有效引起目标受众共鸣的提示词，从而生成高质量和有互动性的输出。</p>
<p>让我们深入探讨如何将高级数据策略整合到你的提示词工程技能中，从而实现转变和提升。</p>
<h3 id="">情感分析: 揭示情感层次</h3>
<p>情感分析是自然语言处理 (NLP) 的一个子集，它检查文本数据以确定其传达的情感基调。对于旨在使其提示词与受众的细微情感景观保持一致的内容创作者来说，这项技术至关重要。</p>
<p>通过了解情感是积极的、消极的还是中性的，你可以调整你的内容策略，使其更深刻地引起受众的情感和偏好的共鸣。</p>
<h4 id="">在提示词工程中的应用:</h4>
<ul>
<li><strong>情感洞察:</strong> 使用情感分析来衡量对你所在领域的特定主题、主题或内容类型的情感反应。这可以揭示你的受众激情所在、关心的问题以及驱动他们互动的因素。</li>
<li><strong>内容基调调整:</strong> 根据情感分析的结果，调整提示词的基调，以便与受众分享的积极情感保持一致或巧妙地应对消极情感。这确保了你的内容能够打动受众的心弦。</li>
<li><strong>增强内容相关性:</strong> 情感分析可以识别当前内容领域中的空白——即未充分处理受众情感的领域。利用这些见解创建填补这些空白的提示词，使你的内容更加相关和有吸引力。</li>
</ul>
<h3 id="">如何实施情感分析</h3>
<p>首先，确保你在使用正确的工具。选择能够精确解析和解释文本数据情感内容的情感分析工具。可供选择的工具包括 IBM Watson、Google Cloud Natural Language 以及其他提供情感分析功能的 AI 平台。</p>
<p>你需要利用从情感分析中获得的情感洞察来完善你的内容提示词。例如，如果分析显示对激励成功故事的需求量很大，可以创建生成有关个人成就和克服挑战的内容提示词。</p>
<p>最后，请确保你持续监控人工智能生成内容的情感反应。使用情感分析评估内容是否如预期那样引起共鸣，并相应调整提示词，以保持与观众的强烈情感联系。</p>
<h3 id="">情感分析的战略整合</h3>
<p>将情感分析纳入你的数据驱动内容策略中，可以更全面地理解你的受众。除了简单的参与度指标外，它还为你提供了了解受众心声的窗口，使你能够设计出不仅能传递信息和娱乐的，还能在情感层面上产生共鸣和连接的提示词。</p>
<p>这种战略性的整合将情感分析不仅仅作为一个工具，而是作为成功的提示词工程的重要组成部分，确保你的内容始终与目标受众的情感脉动产生共鸣。</p>
<h3 id="">使用高级工具深度分析用户意图</h3>
<p>开始你的深度分析，超越传统的关键词研究和社交媒体分析。使用情感分析和自然语言处理这样的高级工具，剖析用户评论、评测和在线讨论。这些工具提供了观众情感和动机的宝贵见解，使你能够创建精心调整到他们兴趣和需求的提示词。</p>
<p><a href="https://www.freecodecamp.org/news/what-is-sentiment-analysis-a-complete-guide-to-for-beginners/">情感分析</a>，正如我们刚才讨论的，可以揭示某个特定领域内的具体需求。例如，它可能显示出对更多激励性内容的需求。凭借这一知识，调整你的提示词以创建与观众深刻共鸣的内容。</p>
<p>除了情感分析，你还可以利用其他<a href="https://www.freecodecamp.org/news/what-is-natural-language-processing-an-nlp-definition-and-tutorial-for-beginners/">自然语言处理</a>技术来分析用户生成的内容。通过剖析用户评论、评测和讨论，你可以识别出观众表达的重复主题、痛点或愿望。</p>
<p>然后，你可以使用这些见解来调整提示词，生成直接满足目标受众兴趣和需求的内容。</p>
<h3 id="">使用定量指标对标记示例进行全面分析</h3>
<p>通过整合诸如参与率、转换率和页面停留时间等定量指标，进一步研究成功内容。</p>
<p>这种综合方法让你理解为什么某些提示词有效。识别这些指标中的模式，有助于确定哪些提示词方面对内容表现贡献最大。</p>
<p>要将定量指标融入提示词分析，你可以按照以下步骤进行：</p>
<ol>
<li><strong>定义关键绩效指标 (KPIs)</strong>：确定与你的内容目标一致的具体指标。KPIs 的示例包括参与率、转换率、页面停留时间、点击率或社交媒体分享。</li>
<li><strong>跟踪和衡量 KPIs</strong>：利用诸如谷歌分析、社交媒体分析或内容管理系统等工具来跟踪和衡量已识别的 KPIs。这些工具提供了用户行为、互动和转化率的宝贵数据。</li>
<li><strong>分析提示词表现</strong>：将收集的定量指标与用于生成内容的提示词进行比较。识别特定提示词和相应 KPIs 之间的模式或相关性。此分析帮助你了解哪些提示词在实现期望结果方面最为有效。</li>
<li><strong>迭代和优化</strong>：基于分析，通过利用从定量指标中获得的见解来优化提示词工程策略。尝试不同的提示词，并监控对已识别 KPIs 的影响。持续优化提示词，以最大化内容表现。</li>
</ol>
<p>通过将定量指标融入提示词分析，你可以更深入地了解提示词的有效性，并做出数据驱动的决策来增强内容创建策略。</p>
<h3 id="ai">通过 AI 驱动的洞察定制提示词库</h3>
<p>提升你的提示词工程，通过 AI 驱动的洞察，采用系统的定制方法，确保你的提示词能够有效地吸引目标受众群体。</p>
<p>在下面的部分中，你将学习如何利用机器学习算法来完善你的提示词库，从而提升内容的相关性和影响力。</p>
<h3 id="">如何系统地定制提示词</h3>
<ol>
<li><strong>建立提示词库</strong>：首先，编制一个现有用于内容生成过程的提示词的综合集合。这个库是你定制工作的基础，提供了进行增强的基线。</li>
<li><strong>识别受众群体</strong>：根据人口统计、心理特征和行为特征，清晰定义你的受众群体。了解每个群体的细微差别是为了满足其特定兴趣和需求而定制提示词的关键。</li>
<li><strong>数据收集和分析</strong>：收集提示词库中的每个提示词在不同受众群体中的表现数据。这包括参与度指标、转换率和任何可用的反馈。分析这些数据，以识别不同群体对特定类型提示词的反应趋势和模式。</li>
<li><strong>利用机器学习算法</strong>：采用机器学习算法来处理和分析所收集的数据。这些算法可以识别出哪些提示词特征（如语气、风格和主题）对每个受众群体最为有效。</li>
<li><strong>根据洞察优化提示词</strong>：利用机器学习分析获得的洞察来优化提示词。调整语言、语气和结构，以更好地符合每个受众群体的喜好。例如，如果分析显示某群体更喜欢简洁、行动导向的提示词，则相应地调整提示词。</li>
<li><strong>A/B 测试以验证</strong>：通过创建优化提示词的变体来进行 A/B 测试，以进一步验证其有效性。这个测试阶段对于比较原始与优化提示词的表现并进行必要调整至关重要。</li>
<li><strong>持续监控和迭代</strong>：持续监控定制提示词的表现，并根据实时数据进行迭代。受众偏好会演变，这使得适应提示词以保持参与度和相关性至关重要。</li>
<li><strong>反馈整合</strong>：将观众的反馈纳入提示词优化过程。目标群体的直接反馈可以提供机器学习分析可能未捕捉到的宝贵见解。</li>
</ol>
<p>记住，目标是将 AI 作为一个增强和改善内容策略的强大工具，而不是替代人类创意。通过认真应用这些步骤，你可以确保你的提示词始终与观众产生共鸣，推动有意义的互动，实现内容目标。</p>
<h3 id="">系统化定制提示词的工具</h3>
<ol>
<li>
<p><strong>提示词库的创建和管理：</strong></p>
</li>
<li>
<p><strong>Evernote</strong> 和 <strong>Notion</strong> 是组织和管理提示词库的有用工具。它们允许根据观众细分或内容主题轻松分类和检索提示词。</p>
</li>
<li>
<p><strong>观众细分和数据收集：</strong></p>
</li>
<li>
<p><strong>Google Analytics</strong> 提供了有关受众人口统计、行为和参与指标的全面见解。</p>
</li>
<li>
<p><strong>SurveyMonkey</strong> 或 <strong>Typeform</strong> 对于收集来自受众的直接反馈非常出色，有助于进一步定义观众细分。</p>
</li>
<li>
<p><strong>用于数据分析的机器学习算法</strong></p>
</li>
<li>
<p><strong>MonkeyLearn</strong> 是一个用户友好的平台，提供用于分析文本数据的机器学习工具，非常适合情感分析和识别内容偏好。</p>
</li>
<li>
<p><strong>RapidMiner</strong> 提供了一个更强大的数据科学平台，可以处理大型数据集，以深入分析提示词在观众细分中的表现。</p>
</li>
<li>
<p><strong>基于见解优化提示词</strong></p>
</li>
<li>
<p><strong>Grammarly</strong> 可以帮助优化提示词的语言和语调，确保它们对目标受众细分清晰且有吸引力。</p>
</li>
<li>
<p><strong>Hemingway App</strong> 对于简化和调整提示词结构使其更简洁和以行动为导向非常有用。</p>
</li>
<li>
<p><strong>A/B 测试工具</strong></p>
</li>
<li>
<p><strong>Optimizely</strong> 提供 A/B 测试功能来验证优化提示词的有效性。</p>
</li>
<li>
<p><strong>Google Optimize</strong> 是运行 A/B 测试的另一个优秀选项，可以直接与 Google Analytics 集成以进行全面的性能跟踪。</p>
</li>
<li>
<p><strong>持续监控和迭代</strong></p>
</li>
<li>
<p><strong>Hootsuite</strong> 或 <strong>Buffer</strong> 是社交媒体管理工具，提供实时分析，能够持续监控内容参与和表现。</p>
</li>
<li>
<p><strong>BuzzSumo</strong> 对于追踪内容趋势和表现非常有用，有助于根据当前受众兴趣迭代提示词。</p>
</li>
<li>
<p><strong>反馈整合</strong></p>
</li>
<li>
<p><strong>Slack</strong> 或 <strong>Discord</strong> 创建社区空间，你的受众可以直接提供内容反馈，提供机器学习分析可能未捕捉到的见解。</p>
</li>
</ol>
<h3 id="">提示词定制 – 分步指南</h3>
<h4 id="1">步骤 1：数据收集和细分</h4>
<p>首先，收集大量受众与现有内容互动的数据集。该数据集应包括用户响应、参与指标和任何可用的人口统计信息。</p>
<p>根据相关标准细分你的受众，如人口统计、行为模式和参与历史。例如，你可能会有像“对科技感兴趣的年轻专业人士”或“寻找教育内容的父母”这样的细分。</p>
<h4 id="2">步骤 2：分析现有提示词</h4>
<p>使用你的提示词库，确定哪些提示词用于生成现有内容。根据与内容互动最多的受众群体，将这些提示词标记为相应的受众细分。</p>
<p>分析这些提示词在不同受众细分中的参与指标（如点击率、分享和评论）的表现。</p>
<h4 id="3">步骤 3：实施机器学习算法</h4>
<p>部署机器学习算法来分析收集的数据。这些算法应能够识别提示词特征与受众参与之间的模式和相关性。</p>
<p>分析应目标在于识别出哪些类型的提示词（在语言、语调、风格和主题方面）在每个受众细分中表现最佳。</p>
<h4 id="4ai">步骤 4：基于 AI 见解优化提示词</h4>
<p>基于机器学习分析获得的见解，开始优化你的提示词。根据相应受众细分的偏好调整每个提示词的语言、语调和风格。</p>
<p>例如，如果分析显示某个细分对对话式和幽默语调反应良好，则针对这一群体调整提示词。</p>
<h4 id="5">步骤 5：持续测试和优化</h4>
<p>持续测试优化提示词在现实场景中的有效性。监控从这些提示词生成的内容在受众参与方面的表现。</p>
<p>使用反馈循环进一步优化提示词。根据持续受众响应和新兴趋势调整和修改提示词特征。</p>
<p>通过遵循这一结构化方法，你可以有效地调整提示词库，以符合目标受众细分的细微差别。</p>
<p>这种方法确保提示词的定制是数据驱动的，提高了内容与观众产生共鸣和参与的可能性。</p>
<h3 id="">使用上下文数据增强零次和少量提示词技巧</h3>
<p>以下是如何有效实施这个策略的步骤：</p>
<h4 id="1">步骤1：识别你的受众及其背景</h4>
<p>首先，明确定义你要为其创建内容的特定受众群体。考虑地理位置、文化背景、兴趣和当前影响该群体的趋势等因素。</p>
<p>收集与该受众相关的背景信息。对于一个地区性的受众，这可能包括当地的习语、文化规范、流行参考以及当前的事件或问题。</p>
<h4 id="2">步骤2：研究并收集背景数据</h4>
<p>进行彻底的研究以收集准确和相关的背景数据。使用诸如当地新闻网站、文化论坛和在该地区流行的社交媒体平台等来源。</p>
<p>编制一个习语、文化参考和最近事件的列表，这些是你的受众熟知且相关的。</p>
<h4 id="3">步骤3：撰写零样本和少样本提示词</h4>
<p>对于零样本提示词，创建开放式但根据你收集的背景数据量身定制的提示词。</p>
<p>例如，一个针对地区受众的提示词可能是：“写一篇关于最近的地方立法变更将如何影响小企业的文章，并使用 [特定地区] 熟悉的例子和类比。”</p>
<p>对于少样本提示词，除了提示词，还提供一些包含背景数据的所需输出示例。例如，包含文章的样本开头段落或使用地方习语或参考最近事件的脚本几句话。</p>
<h4 id="4">步骤4：将背景数据整合到提示词中</h4>
<p>将收集的背景数据以自然且相关的方式整合到你的提示词中。确保当地习语或参考的引入增加了价值并增强了理解，而不仅仅是装饰性的。</p>
<h4 id="5">步骤5：测试并优化你的提示词</h4>
<p>通过创建一些内容并评估受众反应来测试这些带有背景信息的提示词。寻找关于内容的相关性和吸引力的反馈。</p>
<p>根据这些反馈不断优化你的提示词。如果某些文化参考或习语更能引起共鸣，调整你的提示词以包含更多这些元素。</p>
<p>通过遵循这些步骤，你可以创建更加针对性和吸引力的零样本和少样本提示词。这种方法确保生成的内容不仅相关，而且深入共鸣于受众的文化和区域细微差别，使其更具影响力和亲和力。</p>
<h3 id="">高级链式思维提示词评估</h3>
<p>在开发链式思维提示词后，微调它们以确保它们生成最连贯和针对性的内容至关重要。A/B 测试是一种有效的方法来确定哪种提示词变体表现最好。</p>
<p>以下是如何通过链式思维提示词进行 A/B 测试：</p>
<h4 id="1">步骤1：创建链式思维提示词的变体</h4>
<p>首先，创建几个版本的链式思维提示词。每个版本在语言、语气或结构上有轻微修改，同时保持核心思想。</p>
<p>例如，如果你的原提示词是关于讨论技术对教育的影响，变体可以稍微改变重点，如技术对学生参与度的影响或对远程学习的影响。</p>
<h4 id="2">步骤2：为每个变体设定清晰的目标</h4>
<p>定义你希望通过每个提示词变体实现的目标。目标可以是增加用户互动、提高内容清晰度或增强用户互动。有清晰的目标能够让你有效衡量每个变体的成功。</p>
<h4 id="3ab">步骤3：实施 A/B 测试</h4>
<p>使用内容管理系统或测试平台实施 A/B 测试。将提示词变体随机分配给你的受众群体。确保每个群体足够大，以获取统计显著的结果。</p>
<h4 id="4">步骤4：监测互动指标</h4>
<p>跟踪点击率、内容停留时间、分享、评论和转化等互动指标。这些指标将提供每个提示词变体如何与受众共鸣的见解。</p>
<h4 id="5">步骤5：分析结果</h4>
<p>经过设定的测试期后，分析结果。将每个提示词变体的表现与预定义的目标进行比较。寻找互动指标中的模式和差异，以了解哪种变体表现更好及其原因。</p>
<h4 id="6">步骤6：优化并实施成功的提示词</h4>
<p>根据分析，确定最成功的提示词变体。如果需要，进一步优化此提示词并在未来的内容创建中实施。</p>
<h4 id="7">步骤7：持续改进</h4>
<p>A/B 测试不是一次性的过程。不断创建和测试新的链式思维提示词变体，以跟上不断变化的受众偏好和内容趋势。这个持续的过程确保你的提示词始终有效和相关。</p>
<p>通过遵循这些步骤，可以系统地增强链式思维提示词的有效性。</p>
<p>A/B 测试不仅揭示出哪些提示词最成功，还提供受众偏好的见解，从而生成更具吸引力和针对性的内容。</p>
<p>有效利用实时数据分析是根据新兴趋势和受众行为变化来不断更新和调整提示词的关键。这确保你的内容策略保持灵活和相关性。</p>
<p>以下是一种将实时数据分析整合到提示词工程过程中的结构化方法：</p>
<h4 id="1">第1步：设置实时数据追踪</h4>
<p>实施能够追踪实时数据分析的工具。像 Google Analytics、社交媒体洞察和内容管理系统通常提供实时追踪功能。</p>
<p>关注反映受众参与度和行为的关键指标，如页面浏览量、社交媒体互动、搜索查询和点击率。</p>
<h4 id="2">第2步：确定提示词调整的指标</h4>
<p>确定哪些指标最能表明需要调整提示词。例如，参与率突然下降或某个特定搜索查询激增可能表明需要更改内容提示词。</p>
<h4 id="3">第3步：建立监测时间表</h4>
<p>根据内容和受众的性质，建立一个定期监测这些指标的时间表。对快速变化的行业，可能意味着每日监测，而对于更静态的领域，每周评审可能就足够了。</p>
<h4 id="4">第4步：分析数据以发现趋势和模式</h4>
<p>定期分析收集的数据，以识别趋势和模式。寻找受众兴趣、行为和参与度的突然变化。</p>
<p>利用提供趋势分析和预测分析的工具来预测受众行为的未来变化。</p>
<h4 id="5">第5步：基于数据洞察开发响应性提示词</h4>
<p>使用从实时数据中收集的洞察来开发新的提示词。例如，如果某个特定话题的趋势上升，那么就创建直接涉及该话题的提示词。</p>
<p>确保这些新提示词与识别的趋势对齐，同时仍然遵循总体内容策略和目标。</p>
<h4 id="6">第6步：实施并监控调整后提示词的影响</h4>
<p>现在是时候在内容创作过程中实施新调整的提示词了。</p>
<p>继续监控实时数据，以评估这些变化的影响。寻找参与度和互动的提升作为提示词调整成功的指标。</p>
<h4 id="7">第7步：建立持续的反馈循环</h4>
<p>创建一个反馈循环，让最新的数据分析结果为下一轮提示词调整提供信息。</p>
<p>这种持续监测、分析、调整和重新评估的过程，确保你的内容策略能够灵活适应不断变化的受众兴趣和行为。</p>
<p>通过将实时数据分析整合到提示词工程过程中，你可以保持一个动态和响应性的内容策略，持续与受众当前的兴趣和需求保持一致。</p>
<h3 id="">创建与受众互动的反馈循环</h3>
<p>创建一个系统，让受众反馈直接影响你提示词的改进，是确保它们与受众不断变化的偏好保持一致的关键。这涉及到积极鼓励受众互动并系统性地使用他们的反馈来改进你的提示词。</p>
<p>以下是如何有效实施这一策略的步骤：</p>
<h4 id="1">第1步：建立反馈通道</h4>
<p>设置各种渠道来收集受众反馈。这可以包括内容平台上的评论部分、社交媒体投票、通过电子邮件新闻通讯发送的调查或网站上的直接通信工具。</p>
<p>确保这些渠道易于访问并对受众可见，以鼓励最大参与。</p>
<h4 id="2">第2步：设计有趣的互动方法</h4>
<p>创建有趣的受众互动方法，如关于内容主题的互动投票、带有特定问题的评论框或带有激励参与的调查。</p>
<p>定期发布与内容主题相关的问题或投票，以衡量受众兴趣并收集建议。</p>
<h4 id="3">第3步：收集和整理反馈</h4>
<p>定期收集反馈。这包括阅读评论、分析投票结果和总结调查响应。</p>
<p>将反馈分类，如内容主题、语气偏好、风格建议或受众提出的具体问题和关切。</p>
<h4 id="4">第4步：分析反馈以获取洞察</h4>
<p>对收集的反馈进行深入分析，以提取可操作的洞察。寻找共同的主题、频繁请求的主题或普遍的关切。</p>
<p>特别注意反复出现的建议或批评，因为这些是你的提示词需要改进的关键指标。</p>
<h4 id="5">第5步：将反馈应用于提示词优化</h4>
<p>利用分析得到的洞察来改进现有的提示词或创建新的提示词。例如，如果反馈表明对某一特定话题高度感兴趣，就开发生成更多关于该话题内容的提示词。</p>
<p>在优化提示词时考虑受众表达的语气和风格偏好。相应地调整语言、结构和焦点。</p>
<p>应用优化后的提示词到您的内容创建流程中，并监控观众对新内容的反应。</p>
<p>评估这些改变是否提高了参与度、满意度或参与度。</p>
<h4 id="7">第7步：建立持续改进循环</h4>
<p>使观众反馈成为您内容策略的连续部分。根据持续的观众互动，定期审查和更新您的提示词。</p>
<p>与您的观众保持开放的沟通渠道，让他们知道他们的反馈是受重视的，并对内容有直接影响。</p>
<p>通过系统地将观众反馈融入您的提示词优化过程，您确保您的内容始终高度相关且能够吸引您的观众。这种方法带来了一个动态的、观众响应的内容策略，可以随着社区的偏好和兴趣一起演变。</p>
<h2 id="how-to-connect-with-your-audience-and-make-your-prompts-irresistible">7. 如何与受众建立联系并使你的提示词有吸引力</h2>
<p>情感触发因素在创建深深吸引和引起观众共鸣的提示词时至关重要。理解影响情感的心理因素使您能够撰写出能够引发强烈情感反应并提升内容影响力和质量的提示词。</p>
<p>以下是如何在您的提示词工程中有效利用情感触发因素：</p>
<h3 id="">利用同理心建立更深的连接</h3>
<p>首先体会您的目标观众的感受。站在他们的立场上去理解他们的痛点、愿望和目标。</p>
<p>创建直接针对这些情感的提示词。例如，如果您的观众是小企业主，请使用与经营企业的挑战有关的提示词，如克服财务障碍或管理工作与生活的平衡。</p>
<p>提示词示例："写一篇标题为‘平衡艺术：小企业主如何管理财务压力和家庭生活’的博客文章，既要涉及财务挑战又要反映小企业主做出的个人牺牲。"</p>
<h3 id="">强调愿望与梦想</h3>
<p>了解驱动观众的梦想和雄心壮志。撰写提示词，强调您的内容在实现这些愿望方面的好处和结果。</p>
<p>例如，如果您的观众包括有抱负的企业家，请设计着重于成功故事、增长策略以及克服创业挑战的提示词。</p>
<p>提示词示例："开发一系列鼓舞人心的文章，介绍将副业变为繁荣业务的企业家的成功故事，重点介绍他们用来成长和扩展的策略。"</p>
<h3 id="">实施讲故事技巧</h3>
<p>利用讲故事来唤起情感。将可关联的角色、引人注目的问题和解决方案或个人轶事等叙事元素整合到您的提示词中。</p>
<p>例如，一个提示词可以从一个面对常见问题的角色开始，然后通过一个引导他们走向解决之道的故事情节展开。</p>
<p>提示词示例："撰写一个叙事驱动的视频脚本，讲述一个首次创业的企业家如何面对打入竞争激烈市场的挑战，展示他们从最初挫折到最终成功的旅程，强调坚韧和创新。"</p>
<h3 id="">激发好奇心与兴趣</h3>
<p>撰写能够激发好奇心的提示词。使用发人深省的问题、吸引人的洞见或出人意料的事实。</p>
<p>一个例子可以是以关于常见行业实践的意外统计数据开始的提示词，促使观众探索其原因。</p>
<p>提示词示例："撰写一篇以事实‘你知道吗，70%的初创公司至少一次调整商业模式？探索灵活性为何是初创公司成功的关键’开始的文章，邀请观众发现这一出人意料的统计数据背后的原因。"</p>
<h3 id="">唤起积极的情感</h3>
<p>专注于撰写能引发积极情感的提示词，比如喜悦、兴奋或灵感。使用乐观的语言，分享振奋人心的故事或强调积极结果。</p>
<p>一个提示词可以包括一个鼓舞人心的成功故事或一个创新的解决办法，鼓励希望和动机感。</p>
<p>提示词示例："撰写一篇鼓舞人心的专题报道‘艰难时期地方企业中社区支持的力量’，突出社区参与如何带来小企业显著转折的温暖例子。"</p>
<h3 id="">解决痛点和挑战</h3>
<p>相反，利用负面情绪也可以有效。识别观众面临的痛点和挑战，并在您的提示词中解决这些问题。</p>
<p>例如，一个提示词可以集中于观众领域中的常见挫折，并提供应对这些挑战的见解或解决方案。</p>
<p>提示词示例："创建一份信息指南‘克服小企业面临的五大数字营销挑战’，提供实用的解决方案和专家建议，解决您的观众在数字营销中常遇到的挫折。"</p>
<p>通过系统地应用这些技巧，您可以增强提示词以情感上吸引您的观众。这种方法确保您的内容不仅能吸引注意，还能产生持久的影响，促进与观众建立更深的联系。</p>
<h2 id="how-to-hook-the-reader-with-effective-storytelling">8. 如何用有效的故事讲述吸引读者</h2>
<p>在不断发展的内容创作领域，提示词工程的艺术帮助引导 AI 生成引人入胜的叙事。 本章节深入探讨了如何编写提示词，这些提示词不仅能有效地引导 AI，还能通过丰富、发人深省的内容吸引和启发观众。</p>
<p>通过将语言的精确性与讲故事的艺术结合起来，本章节介绍了将简单提示词转化为沉浸式体验门户的方法。</p>
<h3 id="">准确洞察进行互动</h3>
<p>从注意力和意义开始你的提示词创作之旅。超越基本，将提示词转化为深度思考和探索的催化剂。</p>
<p>例如，将一个简单的健身提示词提升到一个需要具体性和洞察力的探究。以下是一个示例: "量化每日身体活动对认知功能和情绪健康的影响，引用最近的研究。详细说明观察到的认知益处的百分比增长。"</p>
<p>这种方法不仅设置了很高的内容标准，还确保了详细、引人入胜的探索。</p>
<h3 id="">描述的精确性</h3>
<p>利用生动描述的力量，专注于精确性。创建可以用简短的文字描绘出具体画面或唤起目标情感的提示词。</p>
<p>例如，将一个关于巴黎的广泛提示词提炼成更集中的探索: "通过当地人的眼睛，研究巴黎历史建筑与现代文化活力之间的相互作用。指定定义这种对比的建筑元素。"</p>
<p>这种策略鼓励详细的叙事发展，深化读者的参与和理解。</p>
<h3 id="">复杂背景的整合</h3>
<p>将复杂、可关联的背景整合到提示词中，反映了我们世界的细微挑战。从通用的数字营销场景转变为需要批判性评估的提示词:</p>
<p>这是一个示例: "利用案例研究和预测分析，评估数字营销策略在渗透饱和市场中的有效性。指出对市场动态有显著影响的策略。"</p>
<p>这种方法拓宽了探索范围，培养了批判、分析的思维方式。</p>
<h3 id="">细微解决方案和创新</h3>
<p>通过关注问题解决的细微之处和探索创新解决方案来推进你的叙事。编写深入探讨数字广告复杂性的提示词：</p>
<p>这是一个示例: "探索数字广告中隐私和个性化之间的平衡，提出创新解决方案，以尊重用户同意的同时提升参与度。描述创新类型及其对市场的影响。"</p>
<p>这样的提示词不仅驱动全面的审查，还鼓励追求前瞻性解决方案。</p>
<p>通过关注精确性、复杂性和细腻探索，你可以批判性地思考并深深吸引你的观众。通过这种先进的方法，我们不仅在内容生成中引导 AI，还重新定义了讲故事的界限。</p>
<h2 id="dall-e-and-midjourney-prompts-how-to-use-images-to-fuel-creative-prompts">9. DALL-E 和 Midjourney 提示词 – 如何使用图片激发创意提示词</h2>
<p>为 DALL-E 和 Midjourney 这样的图像生成平台创建提示词，代表了艺术和技术的独特交集，语言的精确性可以直接影响视觉艺术的创作。</p>
<p>在本章节中，我们探索了导致生成高质量、概念丰富图像的有效提示词的组成部分。</p>
<p>通过解剖精心设计的提示词示例，我们旨在提供有关贡献成功元素的见解。</p>
<h3 id="">有效的图像生成提示词</h3>
<p>有效的图像生成提示词具有几个关键特征，每个特征都为生成图像的清晰度、创造力和方向做出了贡献。</p>
<p>让我们仔细研究提供的示例的具体部分，以了解是什么使它们脱颖而出。</p>
<ol>
<li><strong>详细描述</strong>：每个提示词都以生动、详细的描述开始。例如，“复杂的发光神经通路和数据流网络”立即设置了一个丰富的视觉场景。这种具体性引导 AI 生成符合你愿景的细节丰富的图像。</li>
<li><strong>背景和设置</strong>：提示词提供了清晰的背景或设置，例如“充满服务器和全息显示器的未来数据中心”或“虚拟现实环境内”。这不仅增加了图像的深度，还将主题置于特定环境中，增强了作品的整体叙事。</li>
<li><strong>情感基调或氛围</strong>：提到情感基调或氛围，如“唤起先进智能和创新的感觉”或“敬畏 AI 无限可能性的氛围”，有助于指导图像的情感影响。它指示 AI 图像应传达的氛围，使结果更符合创作者的意图。</li>
<li><strong>艺术方向</strong>：提示词包括关于艺术风格和媒介的具体指示，例如“数字艺术，使用 Blender 进行 3D 渲染”或“插图，使用 Adobe Photoshop 进行数字绘画”。这种详细程度确保 AI 针对特定的艺术技术或风格，迎合你的美学偏好。</li>
<li><strong>技术规格</strong>：最后，提示词通常包含技术规格，例如长宽比“--ar 16:9”和版本控制“--v 5”，为生成图像的格式和质量提供控制。这种精确性对于确保输出符合特定要求至关重要，无论是用于数字展示还是打印。</li>
</ol>
<p>撰写有效的提示词是一项将创造力与精确性相结合的技能。以下步骤将指导你如何撰写自己的提示词：</p>
<ul>
<li><strong>从清晰的愿景开始</strong>: 确定你希望通过图像实现的目标。清晰的愿景有助于制定详细和集中的提示词。</li>
<li><strong>具体化</strong>: 描述越详细，生成的图像就越接近你预想的结果。</li>
<li><strong>考虑情绪</strong>: 想想你希望图像传达什么情感或氛围，并将其包含在提示词中。</li>
<li><strong>指定艺术偏好</strong>: 如果你有特定的风格或技巧，请在提示词中包含这些细节。</li>
<li><strong>包括技术细节</strong>: 纵横比、分辨率和其他技术规格会显著影响最终图像，因此如果你有特定需求，请包括这些内容。</li>
</ul>
<h4 id="">图像生成提示词示例：</h4>
<ul>
<li>/imagine prompt: 高质量超现实艺术的机器学习，一复杂网络的发光神经路径和数据流，一个未来的数据中心，充满服务器和全息显示器，唤起高级智能和创新的感觉，数字艺术，使用Blender进行3D渲染并使用光线追踪实现逼真照明，--ar 16:9 --v 5。</li>
</ul>
<p>这是生成的图像：</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ul>
<li>/imagine prompt: 高质量超现实艺术的机器学习，一个由互连电路和光组成的AI大脑，一个抽象的数字空间，代表计算机内部的思维，充满好奇心和求知欲，插画，使用Adobe Photoshop进行数字绘画，重点在于鲜艳的色彩和细致的细节，--ar 1:1 --v 5。</li>
</ul>
<p>这是生成的图像：</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-2.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ul>
<li>/imagine prompt: 高质量超现实艺术的机器学习，将机器学习算法可视化为一个庞大的数据城市景观，在一个既复杂又有序的虚拟现实环境中，带有敬畏和AI无限可能的情绪，概念艺术，详细的数字绘画，侧重于未来的建筑，--ar 16:9 --v 5。</li>
</ul>
<p>这是生成的图像：</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-3.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ul>
<li>/imagine prompt: 高质量超现实艺术的机器学习，真实描绘研究人员编写AI算法，在现代实验室里，屏幕显示代码和神经网络的3D模型，捕捉研究人员的专注和奉献精神，摄影，用Canon EOS 5D Mark IV和50mm镜头拍摄，聚焦清晰，背景虚化，--ar 16:9 --v 5。</li>
</ul>
<p>这是生成的图像：</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-4.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>这些示例展示了精心制作的提示词在生成不仅视觉效果惊人且概念和细节丰富的图像方面的威力。</p>
<p>通过理解有效提示词的组成部分，你可以充分利用AI驱动的图像生成平台，使你的创造性愿景以前所未有的精确度和创造力变为现实。</p>
<h2 id="how-to-create-engaging-content-for-linkedin-instagram-and-youtube">10. 如何为LinkedIn、Instagram和YouTube创建引人入胜的内容</h2>
<p>AI工具还可以帮助你为社交媒体发布创建引人入胜的内容。在本章中，我们将探讨如何为一些最流行的社交媒体平台撰写有用的提示词。</p>
<h3 id="linkedin">如何为LinkedIn内容创建提示词</h3>
<p>首先，我们将探讨专门为LinkedIn量身定制的提示词艺术，这是一个旨在专业网络和职业发展的平台。</p>
<p>LinkedIn提供了各个部分和功能，每个部分都有助于建立你的职业形象并与他人联系。</p>
<p>从标题和摘要到帖子和认可，我们将深入探讨每个LinkedIn部分的具体组成部分。你还会看到许多示例提示词，帮助你优化个人资料，吸引网络，并向潜在的雇主、导师和合作者展示自己。</p>
<h4 id="linkedin">LinkedIn标题提示词示例</h4>
<p>LinkedIn标题是你的职业标语，提供了你身份和专长的快照。打造一个引人注目的标题对于留下强烈的第一印象至关重要。</p>
<p><strong>示例提示词:</strong> "创建一个LinkedIn标题，有效传达我的经验、资历和独特价值。考虑融入我的行业相关关键词，并展示我的激情或使命。我的标题应是一个能引起注意并鼓励访问者进一步探索我的个人资料的快照。"</p>
<h4 id="linkedin">LinkedIn摘要提示词</h4>
<p>摘要部分允许你在简明格式中传达你的职业历程、关键技能和独特个性。一个引人入胜的摘要可以吸引访问者并鼓励他们联系。</p>
<p><strong>示例提示词:</strong> "为我的LinkedIn个人资料撰写一个简明且引人入胜的摘要，突出我的职业历程、关键技能和我的独特之处。保持口语化的语气，并确保长度不超过150字。请参阅附件中的简历以供参考。"</p>
<p>经历部分不仅限于列出职称。这是一个分享您的职业故事和贡献的机会。制作展示您如何在每个角色中发挥作用的条目。</p>
<p><strong>示例提示词:</strong> "为我在 LinkedIn 上的经历部分制作有影响力和详细的条目，这些条目不只包括职位描述。不仅分享我所做的，还要分享我独特的贡献。利用动词，尽可能量化成就，并提供上下文以突出我为每个角色带来的价值。使用下面的简历补充详细信息。"</p>
<h4 id="">网络破冰提示词</h4>
<p>在 LinkedIn 上破冰（与陌生人交流）是有挑战的。网络破冰提示词能够帮助你与联系人发起对话，促进有意义的互动。</p>
<p><strong>示例提示词:</strong> "通过分享最近的行业新闻文章或询问他们最新的专业成就，给我可以在 LinkedIn 上与新联系人开始对话的内容。以积极和引人入胜的方式开始对话。保持对话的语气，并将单词限制在 100 个以内。"</p>
<h4 id="">内容分享提示词</h4>
<p>分享有价值的内容将你定位成行业中的知识来源。这些提示词帮助你制作内容丰富且引人入胜的帖子，以引发您在网络上的讨论。</p>
<p><strong>示例提示词:</strong> "我想为写我的 LinkedIn 介绍。写一些有趣、内容丰富且内容与你 LinkedIn 上关注的领域或兴趣点关联度高的文章。 主要分享分享行业知识、个人经验和思想领导力。保持对话的语气，字数限制在150以内。"</p>
<h4 id="linkedin">在 LinkedIn 上撰写专业知识分享类文章的提示词</h4>
<p>LinkedIn 的帖子允许您展示你的专业知识和见解。这些提示词可以帮助你创建引人入胜且简洁的帖子，以有效地传达你的信息。</p>
<h4 id="linkedin">LinkedIn 技能部分提示词</h4>
<p>LinkedIn 技能部分可以强调你的专业知识。这些提示词可以帮你选择可以引起注意的技能。</p>
<p><strong>示例提示词:</strong> "给我提供一建议，可以在我的 LinkedIn 个人资料的[你的角色]中突出展示的技能。请参阅下面的简历，找出我应该提及的技能，并告诉我应该获得认可的技能。</p>
<h4 id="skillendorsementprompts">技能认可提示词 Skill Endorsement Prompts</h4>
<p>技能认可可以为你的个人资料增加可信度。这些提示词引导你礼貌的请求认可并提供回应。</p>
<p><strong>示例提示词：</strong> “为我写一段内容，用于礼貌的请求联系人为我的 LinkedIn 个人资料进行技能认可，简要地介绍我是如何在我的职业生涯中应用这些技能的。此外，还需要提供回复，使用正式语气，并将单词限制为 100 个。下面粘贴的是我的经历，供参考。”</p>
<h4 id="linkedin">LinkedIn 消息写作提示词</h4>
<p>高效的 LinkedIn 消息对于专业类的沟通至关重要。这些提示词帮你撰写各种类型的消息，例如好友请求。</p>
<p><strong>示例提示词:</strong> "<br>
帮我写一个优质的消息, 在 LinkedIn 的请求消息中发送，询问某人是否会考虑成为我的导师，表达我对他们的指导的兴趣。保持语气正式，单词最多 100 个。"</p>
<h4 id="linkedin">LinkedIn 个人资料优化提示词</h4>
<p>优化你的 LinkedIn 个人资料对于吸引招聘人员和建立牢固的联系至关重要。这些提示词将指导您合理组织个人资料中的每个部分以产生最大影响力。</p>
<p><strong>示例提示词:</strong> "我想要优化我的 LinkedIn 个人信息，来吸引更多招聘者浏览并建立更牢固的专业联系。如何通过展示我的专业品牌让我的 LinkedIn 个人资料可以吸引招聘人员和 HR？你能对如何合理组织个人资料中的每个部分给我提供一些建议吗？"</p>
<p>LinkedIn 是一个对专业成长很有帮助的平台。通过掌握个人资料页中不同部分的提示词艺术，你能够可以有效地交流您的专业知识、参与网络互动并实现职业目标。</p>
<h3 id="instagram">如何创建 Instagram 内容提示词</h3>
<p>在本节中，我们将探讨专门为 Instagram 打造的提示词艺术，这是一个动态平台，视觉和字幕在吸引观众方面起着关键作用。</p>
<p>Instagram 提供多种内容选项，从照片和视频到故事和卷轴。我们将深入探讨每一种内容，并为您提供精心设计的提示词，帮助您创建吸引人且富有意义的内容，与关注者产生共鸣并增强您的 Instagram 影响力。</p>
<h4 id="">照片标题</h4>
<p>标题是 Instagram 帖子的基本元素，提供上下文、讲故事和互动。撰写引人注目的标题可以使您的照片脱颖而出，并与观众产生更深的联系。</p>
<p><strong>示例提示词:</strong> "为展示新型可持续运动服系列的照片写一个引人入胜的标题。标题应突出商品的环保方面，并鼓励关注者探索该系列。标题最多使用 150 个字符。"</p>
<p>励志语录是 Instagram 上受欢迎的内容类型，能够激励和鼓舞你的观众。制作有力量且相关的励志语录可以对你的追随者产生积极的影响。</p>
<p><strong>示例提示词：</strong> "撰写一条关于自我提升和毅力的励志语录。该语录应与个人成长产生共鸣并激励行动。保持语录简洁，最多 30 个字。"</p>
<h4 id="instagram">Instagram 抽奖活动</h4>
<p>抽奖是提升参与度和获得新追随者的有效方式。新颖而有创意的赠品创意能让受众兴奋不已。</p>
<p><strong>示例提示词：</strong> "生成三种创意方式来宣布即将到来的 Instagram 抽奖活动。这些想法应鼓励参与和分享。考虑结合故事元素以使抽奖活动更具吸引力。"</p>
<h4 id="">主题活动标题</h4>
<p>在 Instagram 上运行主题活动可以在相关场合提升你的社交媒体存在感。为这些活动撰写标题可以帮助你保持一致的叙述。</p>
<p><strong>示例提示词：</strong> "为一个为期一周的 Instagram 活动撰写一系列标题，以庆祝妇女历史月。这些标题应庆祝女性的成就和贡献。确保每个标题与活动主题一致。"</p>
<h4 id="">独特的标签</h4>
<p>创造独特且难忘的标签对于用户生成内容活动至关重要。制作创意标签可以鼓励顾客分享他们使用你的产品的体验。</p>
<p><strong>示例提示词：</strong> "为一个鼓励顾客分享他们使用我们产品体验的用户生成内容活动建议一个创意标签。标签应有吸引力并与我们的品牌相关。限制标签长度为 20 个字符。"</p>
<h4 id="">互动问答问题</h4>
<p>Instagram 上的问答环节具有互动性，可以促成有意义的讨论。制作吸引人的问答问题可以鼓励参与并提高对重要话题的认识。</p>
<p><strong>示例提示词：</strong> "为一个关于心理健康意识的 Instagram 问答环节提供五个吸引人的问题。这些问题应尊重他人并引发深思，营造安全和支持的环境。"</p>
<h4 id="">视觉讲故事</h4>
<p>通过图片进行视觉讲故事是 Instagram 上的一种引人入胜的策略。制作视觉得以连贯的图片系列的创意可以帮助你讲述一个引人入胜的故事。</p>
<p><strong>示例提示词：</strong> "生成五个视觉得以连贯的图片的创意，以讲述咖啡豆从农场到杯子的旅程。这些图片应无缝衔接并吸引观众参与咖啡制作过程。"</p>
<h4 id="">数据驱动的洞察</h4>
<p>数据分析对于优化你的 Instagram 内容策略至关重要。制作鼓励从数据中提取可操作洞察的提示词可以帮助你优化方法。</p>
<p><strong>示例提示词：</strong> "提供从分析我们 ChatGPT 生成的 Instagram 内容表现中得出的可操作洞察列表。这些洞察应指导我们改进参与度和内容质量。"</p>
<p>Instagram 是一个充满活力的平台，创意、参与和讲故事是关键。通过掌握为 Instagram 各种多样内容选项量身定制的提示词的艺术，你可以提升你的存在感，与观众建立联系并实现你的社交媒体目标。</p>
<h3 id="youtube">如何为 YouTube 内容创作提示词</h3>
<p>在本节中，我们将探讨为 YouTube 量身定制提示词的艺术，这是一个视频内容占主导地位的平台。</p>
<p>YouTube 提供多种内容选项，从教程和视频博客到娱乐和教育视频。我们将深入探讨这些内容，并为你提供精心制作的提示词，帮助你创建能够吸引并打动观众的内容，并推动你的 YouTube 频道增长。</p>
<h4 id="">优化你的视频标题</h4>
<p>YouTube 视频的标题在吸引观众和提高搜索引擎可见性方面起着至关重要的作用。制作引人入胜的标题对于增加点击和观看量至关重要。</p>
<p><strong>示例提示词：</strong> "优化 X 个 YouTube 视频标题以提高可见性并吸引观众。提供关于制作引人入胜的标题的提示词，这些标题应准确代表内容，包含相关关键字，并引发好奇或兴趣。"</p>
<h4 id="">创建引人入胜的视频缩略图</h4>
<p>视频缩略图是观众在决定点击视频之前看到的第一件事。设计吸引眼球的缩略图对于吸引观众观看你的内容至关重要。</p>
<p><strong>示例提示词：</strong> "设计引人入胜的视频 X 缩略图，吸引观众点击并观看你的 YouTube 视频。分享创建视觉吸引力强的缩略图的最佳实践，这些缩略图应有效传达视频内容并在搜索结果和推荐视频部分捕捉注意力。"</p>
<h4 id="">增强你的视频描述</h4>
<p>视频描述是向观众提供有价值信息并提高搜索引擎优化的机会。优化良好的描述可以提高你的视频可发现性。</p>
<p><strong>示例提示词：</strong> "增强 X 个 YouTube 视频描述，以向观众提供有价值的信息并提高搜索引擎可见性。推荐编写信息丰富、包含关键字的描述的策略，包括时间戳、相关链接和强有力的行动号召。"</p>
<p>建立一个强大的 YouTube 社区对于频道增长至关重要。积极与观众互动可以促进参与和忠诚。</p>
<p><strong>示例提示词：</strong>“通过积极与观众互动，促进参与并为频道 X 建立一个强大的 YouTube 社区。提供有关回复评论、征求反馈、举办竞赛或赠品活动以及主持直播以深层次连接观众的指导。”</p>
<h4 id="youtube">优化您的 YouTube 频道布局</h4>
<p>您的 YouTube 频道布局会影响用户体验。优化播放列表、推荐重要视频以及自定义频道横幅可以提升频道的吸引力。</p>
<p><strong>示例提示词：</strong>“优化 X YouTube 频道的布局，以为您的订阅者创造一个视觉上吸引人且用户友好的体验。提供有关组织播放列表、推荐重要视频以及自定义频道横幅和部分的建议。”</p>
<h4 id="youtube">使用 YouTube 分析信息制定内容策略</h4>
<p>利用 YouTube 分析信息是了解观众行为和偏好所必需的。数据驱动的决策可以带来与观众共鸣的内容。</p>
<p><strong>示例提示词：</strong>“利用 YouTube 分析信息获取我观众的行为和偏好的见解。指导创作者如何解释关键指标，如观看时间、观众保留率和人口统计，以制定他们的内容策略并做出数据驱动的决策。以下是相关数据。”</p>
<h4 id="youtuber">与其他 YouTuber 合作</h4>
<p>与其他 YouTuber 合作可以扩大您的影响范围，并将您的频道介绍给新的观众。成功的合作创意和有效地与合作伙伴一起工作是关键。</p>
<p><strong>示例提示词：</strong>“与其他 YouTuber 合作以扩展我的影响范围并吸引新的观众。分享识别潜在合作伙伴、推销合作创意以及利用彼此优势共同创建引人注目的内容的技巧。”</p>
<h4 id="youtube">使您的 YouTube 频道盈利</h4>
<p>使您的 YouTube 频道盈利可能是一项有回报的尝试。探索各种获利选项和策略，例如 YouTube 合作伙伴计划和赞助，同时为您的观众提供价值。</p>
<p><strong>示例提示词：</strong>“探索 X YouTube 频道的获利选项，以通过您的内容产生收入。讨论 YouTube 合作伙伴计划、赞助商、商品销售和其他获利策略，同时为您的观众提供价值。”</p>
<h4 id="youtubeseo">为 YouTube 视频实施 SEO 技巧</h4>
<p>搜索引擎优化对于增加视频的可发现性至关重要。了解关键词、标签、闭幕字幕和抄本可以带来更多的自然流量。</p>
<p><strong>示例提示词：</strong>“优化 X YouTube 视频的搜索引擎，以提高可发现性并增加自然流量。解释关键词研究、标签、闭幕字幕和抄本的重要性，并提供优化视频元数据的建议。”</p>
<h4 id="youtube">在其他平台上推广您的 YouTube 频道</h4>
<p>通过在其他社交媒体平台和网络上推广您的 YouTube 频道来扩大其影响范围。交叉推广可以吸引新的观众和订阅者。</p>
<p><strong>示例提示词：</strong>“我想通过在其他平台和社交媒体网络上推广 X YouTube 频道来扩大其影响范围。提供在 Instagram、Twitter、Facebook 和其他相关渠道上交叉推广视频以吸引新观众的策略。”</p>
<h4 id="youtube">创建引人入胜的 YouTube 结束画面和卡片</h4>
<p>通过有效利用 YouTube 结束画面和卡片最大化观众参与度并将流量引导至其他视频或外部网站。设计引人入胜的结束画面并添加相关的行动号召是关键。</p>
<p><strong>示例提示词：</strong>“通过利用 YouTube 结束画面和卡片最大化观众参与度并将流量引导至 X 其他视频或外部网站。提供设计引人入胜的结束画面、添加相关行动号召以及链接到相关内容的提示词。”</p>
<p>YouTube 是一个充满活力的平台，创意、互动和高质量内容是其关键。通过掌握为 YouTube 多样化内容选项量身定制的提示词艺术，您可以提升您的频道，与观众建立联系，并实现您的内容创作目标。</p>
<h2 id="prompt-engineering-seo-how-to-get-your-content-seen-and-shared">11. 提示词工程 SEO – 如何使您的内容被看到和分享</h2>
<p>理解提示词工程在 SEO 中的艺术改变了我们在数字时代创作内容的方法。这一复杂的过程涉及设计提示词，引导 AI 模型生成不仅质量高且优化了搜索引擎的内容。</p>
<p>关键在于制作本质上对 SEO 友好的提示词，确保生成的文章或内容部分在各种主题上都具备高搜索引擎可见性。以下是如何掌握这一技能：</p>
<h3 id="seo">掌握 SEO 友好的提示词工程</h3>
<p>这段旅程从创造力与分析研究的战略性融合开始。要工程出能导致 SEO 优化内容的提示词，首先需要进行针对内容主题的关键词研究。这涉及识别不仅相关且具有高排名潜力的关键词和短语。</p>
<p>有效的提示词工程的关键在于将这些关键词无缝地整合到提示词本身中。这不仅仅意味着列出关键词，而是将它们嵌入到全面、引人深思的问题或陈述的上下文中，鼓励 AI 自然地围绕这些术语生成内容。</p>
<p>目标是创建详细且具体的提示词，引导 AI 深入覆盖主题，同时有机地融入目标关键词。</p>
<p>例如，与其使用像“写关于数字营销趋势”这样的广泛提示词，不如将其改为“分析 AI 对 2024 年 SEO 策略的影响，重点关注新兴趋势和关键词优化技术。”这种精炼的提示词引导 AI 朝着更专注和 SEO 相关的内容片段，确保“AI”、“SEO 策略”和“2024 趋势”等关键词自然地包含在文本中。</p>
<h3 id="seo">SEO 中可操作的提示词工程步骤</h3>
<ol>
<li>关键词整合：从识别你的主要关键词和次要关键词开始。提示词应引导 AI 自然地在标题、子标题和整个内容中使用这些关键词，反映人类的 SEO 实践。</li>
<li>内容结构：设计你的提示词以建议一个 SEO 友好的结构。例如，在提示词中包括指示，暗示使用 H1 作为标题，使用 H2 作为主标题，等等。这可以是“以标题（H1）‘AI 在 SEO 中的未来’为引言，接着是‘关键词研究’、‘内容优化’和‘链接构建策略’等部分（H2）。”</li>
<li>参与度和可分享性：编写提示词以鼓励创建有吸引力和可分享的内容。这意味着包括促进读者互动的元素，如问题、号召行动或评论提示词。例如，“以一个引人注目的问题结束，询问读者有关 AI 在 SEO 中的经验，鼓励评论和分享。”</li>
<li>技术性 SEO 考虑：将技术性 SEO 方面纳入你的提示词工程。这包括创建引导内容具有优化的元描述、图片的替代文本和内部链接策略的提示词。例如，“包括一个总结文章关键要点的元描述，重点是 AI 在增强 SEO 策略中的作用。”</li>
</ol>
<p>这些策略确保你的内容不仅满足观众的信息需求，还符合搜索引擎的排名标准。这有助于在竞争激烈的数字环境中放大覆盖范围和参与度。</p>
<h3 id="seo">精炼的 SEO 和内容创建提示词</h3>
<p><strong>SEO 优化的博客文章提示词：</strong>“撰写一篇以战略关键词为焦点的引人入胜的博客文章。确保内容研究充分并提供真实价值。将目标关键词无缝嵌入到标题、标题和正文中。使用明确的结构和子标题及列表以便于阅读。包含号召行动以促进社交分享，并在适当时链接到 <a href="https://webtechtips.co.uk/">https://webtechtips.co.uk/</a>。”</p>
<p><strong>六个月的 SEO 策略开发提示词：</strong>“概述一个详细的六个月 SEO 策略，重点关注技术性 SEO、内容优化和链接构建。以表格格式指定每个月的行动，目标主要和次要关键词。包括具体任务、预期结果和执行所需的工具。”</p>
<p><strong>SEO 纪录片摘要写作提示词：</strong>“总结一部关键的 SEO 纪录片，重点介绍其最有影响力的见解。为博客发表构建你的摘要，在标题和副标题中整合 SEO 友好的关键词以增强可发现性。”</p>
<p><strong>图片生成技术提示词：</strong>“设计 DALL-E 或 Midjourney 的提示词，融合艺术创造力与技术精确性。确保提示词指定所需的情绪、艺术风格和技术细节如纵横比。目标是通过清晰和富有想象力的方式引导生成引人入胜的图像。”</p>
<p><strong>全面的 SEO 文章写作提示词：</strong>“撰写一篇关于提示词工程对 SEO 增强细微差别的详细文章。涵盖关键词选择、吸引人的标题撰写、撰写引人注目的元描述以及社交媒体参与的策略。使用 H1、H2 和 H3 标签进行清晰的层次结构排版。避免外部链接以确保内容质量。”</p>
<p><strong>超越竞争对手内容策略的提示词：</strong>“开发一篇旨在超越 <a href="https://www.freecodecamp.org/news/learn-java-object-oriented-programming/">https://www.freecodecamp.org/news/learn-java-object-oriented-programming/</a> 排名的权威文章。重点在深度、准确性和富含关键词的标题。提出通过 mermaid markdown 图表来说明一个复杂的主题，以增加价值和独特性。”</p>
<h3 id="seo">精简的内容和 SEO 策略提示词</h3>
<p><strong>驱动 SEO 的博客文章简报：</strong>“撰写一篇符合 SEO 最佳实践的关键词丰富的博客文章。自然地嵌入相关关键词，结构清晰以便于阅读，并促进读者参与和分享。适当时链接到 <a href="https://webtechtips.co.uk/">https://webtechtips.co.uk/</a>。”</p>
<p><strong>战略性六个月 SEO 计划简报：</strong>“制定一个全面的六个月 SEO 策略。包括技术调整、内容改进和外部 SEO 努力。在结构化格式中记录每个月的目标和策略，突出关键关键词。”</p>
<p><strong>图像生成任务的创意提示词开发:</strong> "为像 DALL-E 和 Midjourney 这样的图像创建工具生成详细提示词，融合艺术洞察力和技术精确性。专注于独特描述，并指定视觉和技术参数。"</p>
<p><strong>关于提示词工程的 SEO 文章创作:</strong> "撰写一篇全面且符合 SEO 优化的指南，介绍如何创建有效的提示词。包括关键词整合、吸引人的标题制定以及最大限度提高在线可见度的策略。按照清晰、有层次的标题结构内容。"</p>
<p><strong>超越竞争对手的文章创作任务:</strong> "撰写一篇全面、结构良好的文章，旨在超越特定竞争对手的内容。专注于提供更丰富、更详细的信息，并结合战略性的、以关键词为重点的标题。建议使用像 markdown 图表这样的创新视觉效果以增强清晰度。"</p>
<p>优化您的提示词工程工作以用于 SEO 和社交媒体不仅仅是为了覆盖更广泛的受众——更重要的是以有意义的方式吸引他们。</p>
<p>通过应用本章概述的策略，您可以确保您的内容不仅能激发读者的想象力，还能在搜索结果中有好的排名，将您的创意愿景带给更广泛的受众。</p>
<h2 id="the-prompt-engineers-toolkit-must-have-resources">12. 提示词工程师的工具包：必备资源</h2>
<p>提示词工程的精髓在于将复杂的人类意图翻译成 AI 不仅能理解而且能有效执行的语言。</p>
<p>随着我们深入本章的探讨，我们将专注于为您，这位提示词工程师，提供一系列不可或缺的工具和资源。</p>
<h3 id="">了解您的工具</h3>
<p>在我们探讨提示词工程师可用的大量资源之前，建立一个基础是至关重要的。</p>
<p>提示词工程的艺术在于进行对话，每一个输入都经过精心设计，以引出最准确和最相关的输出。这种精细工程要求对您所使用的 AI 模型以及您旨在实现的目标有深刻的理解。</p>
<h3 id="3">顶级提升提示词的 3 个提示词</h3>
<h4 id="1">1. "像专家一样行动在 ...":</h4>
<ul>
<li><strong>原理及其工作原理</strong>：这个提示词通过引导 AI 采取权威的语气和在特定学科中的深度，模拟了专业领域的专业知识。它鼓励 AI 利用庞大的知识数据库，以展示对主题的深刻理解的方式呈现信息。</li>
<li><strong>使用时机</strong>：在旨在建立思想领导力的内容创建或希望与受众建立信任时理想。在专业知识是关键区分因素的行业，如医疗保健、金融、技术和艺术中尤其有效。</li>
<li><strong>达成效果</strong>：生成的不仅是教育读者的内容，还通过使用相关关键词和结构化内容提升网站的 SEO 排名。它将内容创作者或品牌定位为其领域内可靠的信息来源。</li>
</ul>
<h4 id="2x">2. "我们想谈论 [话题]，我们的目标是 [x]":</h4>
<ul>
<li><strong>原理及其工作原理</strong>：此提示词清晰地定义了内容的焦点和目标，确保生成的材料直接与用户需求和兴趣对齐。它有助于根据目的创建内容，无论是为了告知、说服、教育或娱乐。</li>
<li><strong>使用时机</strong>：这个提示词具有多功能性，可以在明确内容目标时使用。特别适用于特定活动内容、教育文章、产品发布或热点话题的讨论。</li>
<li><strong>达成效果</strong>：通过集中于特定的话题和目标，内容变得对受众更加有针对性和相关性。这种相关性不仅增加用户的参与度，还通过紧密匹配用户查询和意图提升内容在搜索引擎中的表现。</li>
</ul>
<h4 id="310">3. "你可以问我 10 个问题以明确你的答案":</h4>
<ul>
<li><strong>原理及其工作原理</strong>：此提示词鼓励对主题进行深入探讨，促使 AI 探索各种方面并提供全面的见解。它模拟了一个对话风格，问题引导至详细的答案，类似于专家在问答环节中的解释。</li>
<li><strong>使用时机</strong>：最适用于创建旨在彻底覆盖某一主题的内容或探讨需要详细检查的复杂主题时。此外，它在创建 FAQ 部分、专注于详细分析的博客文章或全面指南时也很有效。</li>
<li><strong>达成效果</strong>：生成的内容不仅在各种相关关键词上排名靠前，而且为读者提供了实质性的价值。这种方法通过自然地结合与主题相关的各种关键词和短语增强内容的 SEO 价值。此外，通过从多个角度覆盖主题，这种方法增加了满足用户搜索意图的可能性。</li>
</ul>
<p>在这些指导原则的基础上，让我们探索每个提示词工程师都应该掌握的必备工具。</p>
<h4 id="1chatgptaiprm">1. ChatGPT 的 AIPRM</h4>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-7.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>AIPRM 是一个强大的浏览器扩展，旨在通过提供适用于各种任务的精心设计的提示词库来增强 ChatGPT 用户的能力。它是提示词工程师、内容创作者、营销人员以及任何希望在工作流程中充分利用 AI 潜力的人的宝贵资源。</p>
<p>通过提供广泛的预设计提示词，AIPRM 简化了提示词工程的过程，使用户能够轻松生成高质量的 AI 驱动内容。其直观的界面便于快速访问各种提示词集合，确保用户能够找到或定制与其具体需求完美匹配的提示词。</p>
<p>无论是撰写电子邮件、创建内容、生成代码还是从数据中提取见解，AIPRM 都能帮助用户更高效地实现目标，使其成为 AI 驱动的内容创建和问题解决领域不可或缺的工具。</p>
<h4 id="2promptomania">2. Promptomania</h4>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-8.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>对于那些涉足 Midjourney 和 Stable Diffusion 等文字到图像扩散模型领域的人来说，Promptomania 是一个宝库。它提供了一个复杂的提示词生成器，允许定制基础图像、风格和元素，使工程师能够突破创造力的边界。</p>
<p>这个工具对于制作精细的提示词以精确和独特的方式实现艺术愿景至关重要。</p>
<h4 id="3templateprompts">3. Template Prompts</h4>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-9.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>提示词工程中的效率至关重要，Template Prompts 用优雅的方式满足了这一需求。通过允许创建和存储带有变量的可重用提示词模板，它可以快速定制和扩展。</p>
<p>这个工具对于希望优化提示词创建流程的工程师来说是不可或缺的，提供了一种结合一致性和适应性的解决方案。</p>
<h4 id="">发现更多提示词生成工具：</h4>
<ol>
<li><strong>ChatGPT Prompt Generator (Top AI Tools)</strong>：提供 70 个 ChatGPT 提示词生成 AI 工具的列表，包括 HeroGPT、GPT-Prompter 和 Prompt Genie 等。这些工具可以帮助创建引人入胜和有效的提示词，适用于各种用例。你可以在<a href="https://topai.tools/s/ChatGPT-prompt-maker">这里</a>和<a href="https://topai.tools/s/ChatGPT-prompt-generator">这里</a>了解更多。</li>
<li><strong>Hugging Face's ChatGPT Prompt Generator</strong>：Hugging Face 上的一个社区制作应用程序，允许用户生成 ChatGPT 提示词。它是更大机器学习应用程序集合的一部分。你可以在<a href="https://huggingface.co/spaces/merve/ChatGPT-prompt-generator">这里</a>了解更多。</li>
<li><strong>ML Expert's Guide on ChatGPT API with Python</strong>：提供关于使用 OpenAI 的 ChatGPT API 生成提示词响应的见解，涵盖如令牌限制和调整温度以获取更集中响应等特性。你可以在<a href="https://www.mlexpert.io/prompt-engineering/chatgpt-api">这里</a>了解更多。</li>
</ol>
<h4 id="">提示词市场</h4>
<ol>
<li><strong><a href="https://promptbase.com/">PromptBase</a></strong>：一个市场，用户可以在这里搜索并购买超过 100,000 个由顶级提示词工程师制作的，适用于各种 AI 模型（包括 ChatGPT、DALL·E 和 Midjourney）的优质 AI 提示词。它还允许用户出售自己的提示词。</li>
<li><strong><a href="https://chatx.ai/marketplace/">ChatX Marketplace</a></strong>：提供免费的平台，用于查找适用于 ChatGPT、Midjourney 和 Stable Diffusion 的合适提示词。它专为 AI 爱好者、创意专业人士、企业家和开发人员设计。</li>
<li><strong><a href="https://promptrr.io/">Promptrr.io</a></strong>：一个 AI 提示词市场，用于购买和销售适用于 Leonardo AI、Midjourney、Gemini、和 ChatGPT 的顶级提示词。它旨在使这一过程变得简单且易于访问，让创作者能够通过他们的提示词获利。</li>
</ol>
<h4 id="">其他资源</h4>
<ol>
<li><strong><a href="https://www.freecodecamp.org/news/learn-to-control-gpt-in-openai-playground/">OpenAI’s GPT Playground</a></strong>：允许用户尝试不同提示词变体并查看模型的输出，帮助微调提示词以获得最佳结果。</li>
<li><strong><a href="https://github.com/f/awesome-chatgpt-prompts/actions">Awesome ChatGPT Prompts</a></strong>：一个在线库，用户可以在这里找到并分享特定的提示词，以鼓励 ChatGPT 产生独特输出。</li>
<li><strong><a href="https://www.reddit.com/r/ChatGPTPromptGenius/comments/15y3s7u/i_made_a_free_chatgpt_prompt_generator_for_the/?rdt=48475">Reddit’s ChatGPTPromptGenius</a></strong>: 一个专注于分享高质量和标准化提示词的 subreddit，用于生成创意和引人入胜的 AI 对话。</li>
<li><strong><a href="https://www.promptingguide.ai/models/chatgpt">Prompt Engineering Guide</a> by PromptingGuide.ai</strong>：提供 ChatGPT 提示词工程的最新技术，包括提示词、应用、限制和额外的阅读材料。</li>
<li><strong>开源工具</strong>：一些用户开发了基于提示词工程最佳实践的开源工具，以自动生成提示词，如 <a href="https://www.reddit.com/r/ChatGPT/comments/144nrnf/i_built_an_opensource_tool_to_autogenerate_prompts/">PromptGPT shared on Reddit</a>。</li>
</ol>
<h2 id="ethics-in-action-responsible-prompt-crafting">13. 行为中的伦理：负责任的提示词创作</h2>
<p>AI 生成内容的兴起凸显了在数字创作中进行伦理治理的迫切需要。当你探索提示词工程的复杂性时，记住你的指导是 AI 朝着伦理健全的内容创建方向前进的指南针，这一点至关重要。</p>
<p>本章致力于展示如何轻松地将伦理考量融入提示词创作过程。这将有助于确保你创造的内容不仅符合伦理标准，还丰富了我们的数字生态系统。</p>
<h3 id="">理解伦理考量</h3>
<p>在涉及人工智能和内容创作时，伦理考量包括维护您所创建内容的完整性、公正性和隐私性。</p>
<p>生成不道德的内容可能会带来有害的影响，比如延续有害的刻板印象或对公众福祉产生不利影响。作为专业人员，您需要了解这些问题并努力减轻它们的影响。</p>
<h4 id="">提示词工程中的主要伦理原则</h4>
<ul>
<li><strong>准确性和真实</strong>：优先生成既准确又真实的内容。这涉及对事实正确性的承诺，确保您的人工智能生成的内容经得起审查，并有助于形成一个知情的公众话语环境。</li>
<li><strong>无偏见和包容性</strong>：在您的内容创作过程中拥抱多样性和包容性。这意味着要积极消除提示词中的刻板印象、偏见和歧视性内容。努力代表各种观点和经历，以确保您的内容反映我们所处的多样化世界。</li>
<li><strong>尊重隐私</strong>：通过精心设计提示词，尊重个人的隐私和尊严，避免生成可能侵犯个人隐私的内容。这包括对用于训练人工智能模型的数据保持警惕，避免无意中泄露敏感信息。</li>
<li><strong>避免伤害</strong>：做出努力，避免生成可能引起困扰、伤害或加剧社会分裂的内容。这一原则不仅仅是避免负面结果，还包括积极促进有助于社会福祉和正向发展的内容。</li>
<li><strong>完整性和真实性</strong>：确保您的内容保持高度的完整性和真实性。这涉及到对人工智能在内容创造中的角色进行透明化，避免可能误导观众有关内容性质或来源的欺骗性做法。</li>
<li><strong>问责和责任</strong>：对您生成的内容和设计的提示词承担责任。准备好为您的人工智能生成内容的结果，包括任何意想不到的后果，承担责任。这包括在必要时实施反馈和纠正机制。</li>
<li><strong>可持续性和环境考量</strong>：认识到训练大型人工智能模型的环境影响，并努力减少与人工智能生成内容相关的碳足迹。这包括考虑所使用的人工智能模型的能源效率，并探索人工智能开发和部署中的可持续实践。</li>
<li><strong>教育价值和赋能</strong>：力求设计的提示词不仅能够提供信息，还能教育和赋能您的观众。这一原则关乎利用人工智能的潜力来增强理解、促进批判性思维，并通过知识和洞察力给予个人 empowerment。</li>
</ul>
<h3 id="">伦理提示词设计中的挑战</h3>
<p>由于隐性偏见、需要平衡创造性与伦理考量以及隐私问题，您可能会发现设计符合伦理责任的提示词具有挑战性。应对这些挑战需要您的仔细关注和知情的方法。</p>
<h4 id="">伦理提示词工程的策略</h4>
<ul>
<li><strong>直接整合伦理指南</strong>：将伦理指南嵌入您的提示词设计过程的核心。这意味着在深入理解伦理影响的基础上开发提示词，确保每个通过人工智能生成的内容不仅符合其预期目的，还与更广泛的伦理价值观相一致。这涉及到尊重人类尊严、促进积极社会影响以及推广真理和准确性的承诺。</li>
<li><strong>使用检查表和框架</strong>：在日常工作中实施结构化的检查表和伦理框架。这些工具应该成为您的指南，指导符合已建立伦理标准的提示词开发。它们可以帮助系统地评估潜在的伦理问题，包括偏见、错误信息和隐私问题，确保您的内容保持负责和尊重。</li>
<li><strong>持续教育的承诺</strong>：致力于在人工智能和内容创作领域进行持续的伦理教育。技术和社会规范不断演变，需要承诺持续学习和适应。参与最新研究、讨论和论坛，保持对新兴伦理挑战和解决方案的了解。这种承诺不仅提高了您设计符合伦理原则提示词的能力，还使您成为人工智能技术负责任的管理者。</li>
<li><strong>透明和开放</strong>：在内容创作过程中促进透明度。公开人工智能在生成内容中的使用，包括它所利用的信息来源和技术的局限性。这样的透明度建立了与观众的信任，并允许对内容进行知情的消费。</li>
<li><strong>尊重知识产权</strong>：确保您的提示词尊重版权法和知识产权。这涉及到创建原创内容，或对任何衍生内容进行适当归属和引用。这关乎在创作过程中营造尊重和公平的环境。</li>
<li><strong>社会责任</strong>：认识到您创建内容的社会影响。您的提示词应该旨在建设性地参与讨论，避免激化冲突，且不利用敏感话题进行煽情。这个原则强调内容创造者在塑造社会结构中的角色。</li>
<li><strong>全球视角和文化敏感性</strong>：在提示词中融入全球视角和文化敏感性。承认并尊重可能与您的内容互动的多样化观众，避免文化挪用，并确保您的内容包容并考虑全球多样性。</li>
</ul>
<p>AI 技术的发展和使用，包括提示词工程，提出了与偏见、隐私性、透明度以及潜在滥用相关的重大伦理问题。</p>
<p>为有效应对这些挑战，已经建立了若干工具、资源和社区以促进提示词工程中的伦理实践。</p>
<p>以下是相关工具和资源的综合列表：</p>
<h4 id="">提示词工程工具</h4>
<ol>
<li><strong>Prompter</strong>：一种免费工具，使用受到用户 API 密钥的限制，旨在协助创建用于生成式 AI 平台的提示词。</li>
<li><strong>Promptmetheus</strong>：一个集成开发环境 (IDE)，专注于复杂的 LLM 提示词创作，提供提示词设计过程历史、成本估算和 AI 编程界面等功能。它支持 Claude 2、Llama 2 70B 和 Aleph Alpha Luminous Supreme 等模型，并计划引入 xAI、Hugging Face、Replicate、Azure 和 AWS Bedrock 的模型。</li>
<li><strong>FusionAI</strong>：一个提示词工程软件，旨在改善和扩展用户的提示词，通常用于创意的生成和头脑风暴。它根据用户的描述生成扩展提示词。</li>
<li><strong>Agenta</strong>：一个开放源码的平台，提供资源用于实验、评估和部署 LLM。它允许开发者探索各种版本的提示词、参数和策略。</li>
<li><strong>PromptPerfect</strong>：致力于提高提示词质量，以实现 LLM 的一致性结果，解决网页和图像搜索、网络抓取和 JavaScript 代码执行等挑战。</li>
</ol>
<h4 id="">缓解提示词注入风险的资源</h4>
<ol>
<li><strong>Ben Lorica 的 LinkedIn 文章</strong>：讨论了缓解提示词注入风险的关键因素，以保护 AI 系统免受不断演变的威胁。</li>
</ol>
<h4 id="">在线提示词工程师社区</h4>
<ol>
<li><strong>The Hive Index</strong>：列出了 2024 年加入的 21 个最佳提示词工程社区，包括 Civitai、Midjourney、Project AI、r/ChatGPTPromptGenius 等论坛和平台。这些社区为提示词工程师提供了一个分享知识、讨论伦理问题和探索最新研究的空间。</li>
</ol>
<h4 id="">提示词工程中的伦理考量</h4>
<ol>
<li><strong><a href="https://clp.law.harvard.edu/knowledge-hub/magazine/issues/generative-ai-in-the-legal-profession/ethical-prompts/">哈佛法学院法律专业中心</a></strong>：强调了在法律职业中使用生成式 AI 的伦理提示词和考量，强调与广泛的社区互动以定义风险和讨论界限的重要性。</li>
<li><strong><a href="https://www.promptingguide.ai/risks">提示词工程指南</a></strong>：关注 LLM 的风险和滥用行为，通过有效的提示词技术和 moderation API 等工具来缓解这些问题。</li>
<li><strong><a href="https://community.openai.com/t/prompt-engineering-help/30428">OpenAI 开发者论坛</a></strong>：提供了一个讨论提示词工程挑战和分享伦理和有效提示词创作见解的平台。</li>
<li><strong><a href="https://www.linkedin.com/pulse/ethics-ai-prompt-engineering-governance-adam-m-victor-gshqc?trk=article-ssr-frontend-pulse_more-articles_related-content-card">Adam M. Victor 的 LinkedIn 文章</a></strong>：讨论了 AI 提示词工程和治理中的伦理重要性，强调准确、最新和伦理指导的重要性。</li>
<li><strong><a href="https://navveenbalani.dev/index.php/articles/ethical-prompt-engineering-a-pathway-to-responsible-ai-usage/">Navveen Balani 的文章</a></strong>：探讨了作为负责任 AI 使用之路的伦理提示词工程，提供了关于伦理开发和部署 AI 系统的实际指导。</li>
</ol>
<p>这些工具、资源和社区在促进提示词工程中的伦理实践、确保 AI 技术被负责任和有效地开发和使用方面发挥了重要作用。</p>
<h4 id="">在工作流程中实施伦理实践</h4>
<p>要将伦理融入您的日常工作，请考虑：</p>
<ul>
<li><strong>定期的提示词伦理审计</strong>：将定期审查您的提示词是否存在任何潜在的伦理问题作为标准实践。这可能涉及评估提示词的偏见、准确性、隐私尊重和潜在的危害。在每个项目结束时或按设定的时间表建立例行检查，以确保您的提示词不会无意中推动不道德的结果。</li>
<li><strong>持续改进反馈机制</strong>：实现反馈机制，以根据伦理考量对提示词进行批评和改进。这可能涉及同侪评审、外部伦理专家的反馈，甚至是用户对生成内容的反馈。利用这些反馈来改进您的提示词并增强其伦理对齐。</li>
<li><strong>与行业标准的伦理基准对比</strong>：了解行业标准和伦理 AI 使用的最佳实践。将您的实践与这些标准进行对比，确保不仅满足基本要求，还争取在伦理内容创作上卓越表现。参与行业论坛、讲习班和专注于伦理 AI 的研讨会，以保持您的实践与时俱进。</li>
</ul>
<h3 id="">伦理提示词工程的未来</h3>
<p>随着 AI 技术的演进，新的伦理挑战将出现。保持信息灵通和适应能力是主动解决这些挑战的关键，政策和法规可能会发挥更重要的作用。</p>
<p>伦理是 AI 驱动内容创作的基础，而不仅是可选的附加项。通过优先考虑伦理问题，您确保您的工作对数字环境产生积极影响，贡献于更安全和包容的在线环境。</p>
<h2 id="impact-analysis-how-to-tell-if-your-prompts-are-working">影响分析：如何判断你的提示词是否有效</h2>
<p>在这一切之后，你会希望能够评估你的提示词在实现预期结果方面的有效性。影响分析是这一评估的基石，使你能够优化和提升你所生产内容的质量和相关性。</p>
<p>本章探讨了将影响分析集成到工作流程中的方法和实践，确保你的 AI 生成内容不仅符合而且超越交付价值的标准。</p>
<h3 id="ai">如何定义 AI 生成内容的成功</h3>
<p>AI 生成内容的成功是一个复杂的多方面的任务，它不仅仅是内容创作，还包括针对受众和更广泛数字生态系统量身定制的各种指标和目标。</p>
<p>从根本上说，这种成功涉及关键指标，如受众参与度、内容相关性以及内容与 SEO 策略的对齐和增强能力。每一个指标都提供了一种独特的视角，通过它可以衡量和理解内容的影响。</p>
<h4 id="">受众参与度</h4>
<p>这个关键指标表明你的内容与目标受众的共鸣程度。它包括以下各项指标：</p>
<ul>
<li>点击率，揭示了你的内容在促使用户采取行动方面的效果</li>
<li>页面停留时间，衡量受众与内容互动的深度</li>
<li>社交分享，信号内容的吸引力，促使用户在其网络中的分享</li>
</ul>
<p>监测这些指标有助于理解你的内容吸引受众并鼓励他们更深入互动的各个方面。</p>
<h4 id="">内容相关性</h4>
<p>内容的相关性是成功的另一个重要维度。它涉及创造不仅满足受众当前兴趣和需求，还能预见未来趋势和问题的内容。</p>
<p>这需要对受众的人口统计、偏好和搜索行为有敏锐的理解。内容相关性与受众从内容中获得的价值密切相关，这反过来会影响到参与度和忠诚度。</p>
<h4 id="seo">与 SEO 策略的一致性</h4>
<p>AI 生成内容的成功也受到其与 SEO 策略整合和一致性的显著影响。这包括通过相关关键词优化内容，确保其在搜索引擎结果中良好排名，从而增加自然搜索的可见性。</p>
<p>有效的一致性意味着你的内容不仅能被目标受众找到，而且还要在搜索结果中具有竞争力，推动自然流量到你的网站。</p>
<p>为了驾驭成功的这些多方面内容，必须建立明确、可实现的目标，这些目标要基于行业基准。这些目标提供了一个结构化框架，用于评估你的内容表现，从而进行有针对性的改进。</p>
<p>例如，设定一个在特定时间范围内提升参与率的目标为你的内容策略提供了一个明确的导向。同样，通过提高关键词排名或增加内容的反向链接来增强自然搜索可见性的目标，设定了一个符合 SEO 最佳实践的可衡量目标。</p>
<p>在设定这些目标时，必须考虑受众的独特特征和行业的竞争格局。目标应该既富有挑战性又切实可行，在推动内容策略边界的同时保持可实现性。</p>
<p>通过清晰地表达这些目标并监测你的进展，你可以逐步优化 AI 生成内容的策略，确保其不仅符合而且超越今天数字内容生态系统中的成功基准。</p>
<h4 id="">测量影响的工具和技术</h4>
<p>利用合适的工具对于有效评估 AI 生成内容的影响至关重要。虽然分析平台和 SEO 工具有提供必要数据的能力，扩展你的工具包可以提供更广泛的内容表现见解。</p>
<p><strong>分析平台</strong>：</p>
<ul>
<li><strong>Google Analytics</strong>：跟踪用户参与度指标，如页面浏览量和跳出率。</li>
<li><strong>Adobe Analytics</strong>：提供深入的客户旅程洞察，帮助详细了解用户行为。</li>
<li><strong>Mixpanel</strong>：专注于用户互动，提供用户如何与内容互动的数据。</li>
</ul>
<p><strong>SEO 工具</strong>：</p>
<ul>
<li><strong>SEMrush</strong>：提供全面的 SEO 分析，包括关键词排名和流量洞察。</li>
<li><strong>Ahrefs</strong>：以其反向链接分析能力和关键词跟踪著称。</li>
<li><strong>Moz Pro</strong>：提供 SEO 见解，包括网站审核和关键词研究工具。</li>
<li><strong>Ubersuggest</strong>：Neil Patel 的工具，提供关键词建议、内容创意和 SEO 洞察。</li>
</ul>
<p><strong>社交媒体分析</strong>：</p>
<ul>
<li>
<p><strong>Hootsuite Analytics</strong>：提供社交媒体表现和参与度见解。</p>
</li>
<li>
<p><strong>Sprout Social</strong>：提供关于社交媒体互动和受众增长的详细分析。</p>
</li>
<li>
<p><strong>Buffer Analyze</strong>：帮助跟踪社交媒体表现，提供参与度和覆盖范围的报告。</p>
</li>
<li>
<p><strong>Hotjar</strong>: 使用热图和反馈投票来可视化网站上的用户行为。</p>
</li>
<li>
<p><strong>SurveyMonkey</strong>: 通过可定制的调查问卷收集用户反馈。</p>
</li>
<li>
<p><strong>UserTesting</strong>: 提供真实用户与您的内容互动的见解，并提供视频反馈。</p>
</li>
</ul>
<p><strong>内容效果工具</strong>：</p>
<ul>
<li><strong>BuzzSumo</strong>: 分析整个网络上的内容表现，跟踪分享和互动。</li>
<li><strong>ContentSquare</strong>: 通过用户旅程跟踪提供用户体验见解和内容效果分析。</li>
</ul>
<h4 id="">分析受众互动</h4>
<p>有效地与受众互动是内容成功的基石。为了衡量您的内容与受众的连接情况，关注关键的互动指标。以下是一些设计用于捕捉和分析这些关键数据点的工具：</p>
<ul>
<li><strong>Google Analytics</strong>: 提供页面浏览量、平均会话时长和跳出率的见解，帮助您评估观众对您内容的兴趣和互动情况。</li>
<li><strong>BuzzSumo</strong>: 能够分析社交媒体互动和内容分享，清晰地展示您的内容在社交平台上的表现。</li>
<li><strong>Hotjar</strong>: 通过热图可视化用户行为，并记录实际的用户会话，展示访客如何与您的内容互动。</li>
<li><strong>Clicky</strong>: 提供实时分析，包括个别访客行动，使了解即时互动变得更容易。</li>
<li><strong>Social Mention</strong>: 监控和分析社交媒体提及，以衡量您的内容在社交网络上的存在感和影响力。</li>
<li><strong>Sprinklr</strong>: 提供全面的社交媒体管理和分析，帮助您理解互动趋势和受众情绪。</li>
<li><strong>Mailchimp</strong>: 对于电子邮件内容，Mailchimp 提供详细的打开率和点击率报告，指示您的新闻简报是否具有吸引力。</li>
</ul>
<p>通过利用这些工具，您可以获得跨各种渠道的受众互动的全面视图。这些见解允许您优化内容策略，确保您的内容不仅被看到，而且真正引起并吸引目标受众的注意。</p>
<h4 id="">内容质量评估</h4>
<p>有影响力的内容的核心在于其质量。评估您的AI生成内容的准确性、可读性和相关性。</p>
<p>同行评审和用户反馈是评估内容质量的宝贵工具，提供可以突出改进领域的观点。</p>
<p>定期收集和采取这些反馈确保您的内容保持高质量。</p>
<h4 id="seo">SEO 效果分析</h4>
<p>优化您的内容以适应搜索引擎对于提高其可见性和确保其到达正确的受众至关重要。</p>
<p>为了准确评估您的SEO策略的效果，关注关键指标，如关键词排名、有机流量量和反向链接资料的强度和质量。</p>
<p>一套SEO工具可以提供此分析所需的见解，使您能够精细调整内容创建方法，以更好地满足搜索引擎标准和用户搜索意图。</p>
<p>考虑将以下工具整合到您的SEO效果评估过程中：</p>
<ul>
<li><strong>Google Search Console</strong>: 对监控您网站在Google搜索结果中的表现至关重要，包括展示次数、点击次数和关键词的平均排名。</li>
<li><strong>SEMrush</strong>: 提供全套SEO工具，包括关键词研究、网站审核和竞争对手分析，帮助您了解并改善网站的搜索可见性。</li>
<li><strong>Ahrefs</strong>: 以其强大的反向链接分析能力而闻名，还提供关键词排名、有机搜索流量和SEO健康状况的见解。</li>
<li><strong>Moz Pro</strong>: 拥有多种SEO工具，包括关键词研究、网站审核和页面优化建议，以增强您网站的SEO策略。</li>
<li><strong>Ubersuggest</strong>: 提供关键词建议、SEO指标和内容创意，以帮助您吸引更多流量。</li>
<li><strong>Screaming Frog SEO Spider</strong>: 一款桌面程序，爬取网站URLs以审核和分析站内SEO，帮助您识别改进领域。</li>
<li><strong>Majestic</strong>: 专注于反向链接分析，提供指向您站点的反向链接类型和质量的详细见解。</li>
</ul>
<p>通过使用这些工具，您可以详细了解您的SEO努力在何处取得成功以及在哪些方面可以改进。这种数据驱动的方法允许您针对性地调整提示词和内容策略，确保您的内容不仅高质量，而且优化适合搜索引擎，并符合目标受众的需求。</p>
<h4 id="">影响分析中的伦理考虑</h4>
<p>伦理是负责任内容创作的基础，指导您制作尊重公平性、准确性、隐私和受众福祉的材料。在分析内容的影响时，整合伦理准则确保您的创作对数字生态系统做出积极贡献。</p>
<p>为了保持和加强内容的伦理标准，考虑使用设计用于突出和解决潜在伦理问题的工具和资源。</p>
<ul>
<li><strong>内容真实性倡议工具</strong>: 使用内容真实性倡议开发的工具，提供有关内容来源和历史的透明度，帮助对抗虚假信息。</li>
<li><strong>Grammarly</strong>: 尽管主要是一个语法检查工具，但Grammarly可以帮助确保您的内容保持尊重所有读者的语气，避免无意的偏见或有害语言。</li>
<li><strong>注重隐私的分析平台</strong>: 像Fathom和Simple Analytics这样的平台在不妥协用户隐私的情况下提供网站分析，确保您的内容影响分析尊重访客数据。</li>
<li><strong>人工智能伦理检查清单和指南</strong>: 像圣克拉拉原则或IEEE的《伦理对齐设计》这样的资源提供框架，以根据伦理标准评估您的内容，突出需要改进的领域。</li>
<li><strong>多样性和包容性（D&amp;I）软件</strong>: 像Textio这样的工具帮助分析您的内容是否具有包容性，确保它面向多样化的受众而不延续刻板印象。</li>
<li><strong>反馈平台</strong>: 像SurveyMonkey或UserVoice这样的服务允许您直接从受众那里收集关于您内容伦理影响的反馈，提供需要改进领域的见解。</li>
</ul>
<p>积极使用这些工具和实践来进行影响分析和内容创建过程，不仅有助于识别伦理问题，还提供了有效解决这些问题的途径。</p>
<p>这样做，不仅强调了您致力于制作不仅吸引和告知且维护最高伦理责任标准的内容。这一对伦理的承诺不仅增强了受众的信任和忠诚度，还为数字内容领域树立了诚信的标杆。</p>
<h4 id="">利用反馈进行持续改进</h4>
<p>来自受众的反馈是提升内容质量和相关性的宝贵资源。通过积极征求和整合用户反馈到您的内容创建和优化过程，您将发现显著改进的机会。</p>
<p>这种收集反馈、分析并应用见解的迭代过程，可以显著转变内容的有效性，提高内容质量和受众参与度。</p>
<p>以下是一些有效利用用户反馈的策略和工具：</p>
<ul>
<li><strong>在线调查和投票</strong>: 类似SurveyMonkey和Google Forms的工具允许您创建详细的调查或快速投票，以收集受众对特定内容方面的有针对性的反馈。</li>
<li><strong>评论区和社交媒体</strong>: 鼓励网站和社交媒体平台上的评论和讨论。Disqus或像WordPress内置的评论系统，以及在Twitter或Facebook上的直接互动，可以提供及时且坦诚的反馈。</li>
<li><strong>用户测试平台</strong>: 像UserTesting这样的平台提供观看真实用户与您的内容互动的能力，提供关于用户体验和内容接受度的直观见解。</li>
<li><strong>电子邮件反馈请求</strong>: 使用Mailchimp或其他电子邮件营销服务发送直接的反馈请求给您的订阅者，可以获得最积极用户的详细回复。</li>
<li><strong>参与度分析</strong>: 使用Google Analytics监测反映用户反馈的行为指标，如跳出率和平均会话时长，指导需要改进的内容领域。</li>
</ul>
<p>将这些工具和实践纳入您的反馈环节，不仅为您提供可操作的见解，还通过展示您重视他们的意见并致力于满足他们的需求，加强了您与受众的联系。</p>
<p>现实世界中的品牌和创作者通过利用用户反馈优化内容策略的案例研究，揭示了这种互动的变革性影响。它们展示了基于反馈的调整如何提升内容质量、增加用户满意度和加强参与度指标。</p>
<p>将反馈作为内容策略的基石，确保了一种动态和响应性的内容创建方法，营造了持续改进的环境。</p>
<p>这种对用户反馈的重视不仅提升了内容的有效性，还巩固了您作为优先考虑受众需求并重视其贡献的创作者的声誉。</p>
<h4 id="">利用数据进行战略调整</h4>
<p>在战略内容创建领域，采用数据驱动的方法是不可或缺的。今天内容创作者可用的庞大数据提供了无与伦比的洞察机会，允许基于坚实的证据微调内容策略和提示词设计。</p>
<p>这种积极的方法确保了您的内容不仅保持相关性，还不断适应用户需求和偏好的变化。以下是如何有效利用数据进行战略内容创作：</p>
<ul>
<li><strong>内容表现指标</strong>: 使用像Google Analytics和Adobe Analytics这样的平台深入了解您的内容表现。查看页面浏览量、参与率和转化率等指标，了解什么内容与受众产生共鸣。</li>
<li><strong>SEO分析工具</strong>: Ahrefs、SEMrush和Moz等工具提供关于您的内容在搜索引擎中排名、驱动流量的关键词以及SEO努力改进领域的关键见解。</li>
<li><strong>社交媒体分析</strong>: Sprout Social、Buffer和Hootsuite这样的平台提供您内容在社交网络表现的详细分析，使您能够评估其覆盖范围、参与度和分享性。</li>
<li><strong>用户行为分析工具</strong>: Hotjar和Crazy Egg提供热图、会话记录等工具，分析用户如何与您的内容互动，提供如何提升用户体验的线索。</li>
<li><strong>A/B测试平台</strong>: Optimizely和VWO允许您测试内容的不同版本，查看哪一个表现最佳，提供实证数据基于哪些内容决策。</li>
</ul>
<p>数据驱动的决策将您的内容战略从一组静态假设转变为一个动态、不断发展的框架。它使您能够预测用户行为的变化，适应新趋势，并持续提供吸引、告知和满足观众的内容。</p>
<h4 id="ab">A/B 测试在精炼提示词中的作用</h4>
<p>A/B 测试是完善您的内容创作过程中的基石技术。通过对不同提示词变体的有意比较，这一策略揭示了带来有影响力和引人入胜内容的最有效提示词。</p>
<p>以下是如何巧妙地应用 A/B 测试以提升您的内容策略的分解：</p>
<ul>
<li><strong>识别变量</strong>：首先确定提示词中您认为可能影响内容效果的特定元素。这可以包括提示词的语气、使用的特定关键词以及请求的复杂性。</li>
<li><strong>设计测试</strong>：创建两个（或更多）提示词版本，每个版本基于识别出的变量略有不同。确保每个版本的设计仅测试单个变量，以保持发现的清晰度。</li>
<li><strong>同时部署</strong>：利用您的内容创作平台同时部署这些变体。这确保了影响内容参与的外部因素在测试中保持不变。</li>
<li><strong>收集和分析数据</strong>：使用分析工具测量每个提示词变体生成的内容的表现。关注的指标包括用户参与率、转化率或任何与您的内容目标一致的其他相关关键绩效指标（KPI）。</li>
<li><strong>做出明智的调整</strong>：分析数据以确定哪个提示词变体表现更好。通过这种分析获得的见解应指导您改进提示词设计，选择已被证明能推动更好内容参与和效果的结构和元素。</li>
<li><strong>迭代</strong>：A/B 测试不是一次性事件，而是一个持续优化的过程。定期对提示词的不同方面进行 A/B 测试，确保您的内容始终动态地与受众偏好和数字趋势保持一致。</li>
</ul>
<p>将 A/B 测试作为内容策略的常规组成部分，确保您的方法是数据驱动和经验可靠的。这种方法的精细优化过程不仅提升了内容的效果，还加深了您对观众共鸣内容的理解。</p>
<h3 id="">影响分析的未来趋势</h3>
<p>人工智能和机器学习技术的发展轨迹将重新定义内容创作中影响分析的格局。每一次进步都会产生新的方法，为评价内容表现提供前所未有的精度和深度。</p>
<p>以下是如何在这一动态环境中保持领先：</p>
<ul>
<li><strong>持续学习</strong>：致力于保持最新的人工智能和机器学习进展。在线课程、网络研讨会和行业会议都是理解新技术及其在内容表现分析中的应用的宝贵资源。</li>
<li><strong>采用创新工具</strong>：寻找利用人工智能和机器学习深入了解内容影响的前沿工具和平台。早期采用可以为您提供竞争优势，使您能够利用复杂的分析进行战略性内容优化。</li>
<li><strong>建立协作网络</strong>：与专注于人工智能、机器学习和内容战略的专业网络和在线社区互动。这些论坛可以是了解新兴趋势和技术的丰富信息源，提供集体智慧来应对不断变化的环境。</li>
<li><strong>进行实验</strong>：在您的内容策略实践中拥抱实验文化。试点新技术和方法在影响分析中的应用，以了解它们的潜在益处和局限性。通过这种实践方法，确保您能够准备好将有效创新整合到工作流程中。</li>
<li><strong>实行战略灵活性</strong>：制定适应性强的内容策略，准备随新分析方法的出现而演变。这种灵活性确保您的内容创作和影响分析方法保持相关性和有效性，即使数字环境发生变化。</li>
<li><strong>践行道德方法</strong>：随着人工智能和机器学习技术的进步，道德考虑的复杂性也在增加。确保您的新技术采用方法包含强有力的道德框架，以负责任地指导其应用。</li>
</ul>
<p>通过积极参与人工智能和机器学习的进步，您将自己置于内容战略创新的前沿。这种积极的态度不仅使您能够利用新兴技术进行增强的影响分析，还确保您的内容战略保持动态、响应迅速，并有效应对数字时代的挑战。</p>
<h2 id="conclusion">15. 总结</h2>
<p>在这本提示词工程手册中，我们探讨了可以帮助您利用生成性人工智能模型（如 GPT-3 和 4）的关键概念和技术，以增强您的内容创作过程。通过利用精心设计的提示词的潜力，您可以实现更准确和期望的输出，最终将您的内容提升到新的高度。</p>
<h3 id="">理解用户意图</h3>
<p>通过仔细分析用户在所需内容生成背后的意图，您可以创建与其特定需求和期望相符的提示词。这种深刻的理解确保了 AI 模型生成的内容能够引起目标受众的共鸣。</p>
<h3 id="">制作多样化提示词</h3>
<p>尝试使用多种提示词可能会产生不同的视角和结果。尝试使用集中在主题不同方面的提示词，改变语调和风格，甚至使用思维链提示词以启动连续的思路流。这种方法有助于生成多样化的内容，以适应不同读者的需求。</p>
<h3 id="">构建提示词库</h3>
<p>作为内容创作者，拥有一个预先定义提示词的存储库可以显著加快内容生成过程。精心收集整理在过去生成满意结果的有效提示词，根据特定的内容类型或主题进行分类。这个提示词库可以作为一个宝贵的工具来简化工作流程，并确保内容创作的一致性。</p>
<h3 id="">利用标注示例</h3>
<p>通过在提示词工程工作中结合标注示例，可以提高生成式 AI 模型的性能。通过提供包含明确指示和示例的少量样本或零样本提示词，您可以引导模型生成与您预期更好对齐的结果。</p>
<h3 id="">精炼与迭代</h3>
<p>提示词工程是一个迭代过程。不要害怕进行试验、微调您的提示词，并批判性地分析输出结果。通过不断评估和精炼提示词工程技术，可以实现最高质量的内容输出。</p>
<p>通过本指南，我们探讨了如何通过提示词工程来增强使用生成式 AI 工具的内容创作过程。通过接受这一宝贵技术，内容创作者、营销人员甚至小企业主都可以解锁人工智能的潜力，有效地吸引和参与其目标受众。</p>
<h3 id=""><strong>资源</strong></h3>
<p>通过我们的专业项目开始您的技术之旅，深入了解人工智能（AI）和机器学习。该计划旨在培养您的编程专长，并辅以专门的指导和职业建议，为您在科技行业铺平道路。</p>
<p>为了丰富您的学习体验，以下是一些有用的目标资源：</p>
<ul>
<li><a href="https://downloads.tatevaslanyan.com/six-figure-data-science-ebook">如何在2024年进入生成AI领域：</a> 本指南分解了新兴AI技术的要点，并为您准备未来趋势。</li>
<li><a href="https://join.lunartech.ai/software-engineering-internship">找到并获得软件工程实习机会：</a> 本资源提供了逐步指南，帮助您找到并获得有价值的软件工程实习机会，使您具有竞争优势。</li>
<li><a href="https://join.lunartech.ai/machine-learning-fundamentals--3f64f">机器学习基础电子书：</a> 通过这本电子书，开始您的机器学习探索之旅，该书提供了核心原理和技术的简明概述。</li>
</ul>
<p>要访问这些资源及我们项目的详细信息，请访问 LunarTech 的网站。通过 LunarTech 提供的正确工具和支持，开启您的技术职业道路。</p>
<h3 id=""><strong>与我联系</strong></h3>
<ul>
<li><a href="https://ca.linkedin.com/in/vahe-aslanyan">在 LinkedIn 上关注我，获取大量免费关于计算机科学、机器学习和 AI 的资源</a></li>
<li><a href="https://vaheaslanyan.com/">访问我的个人网站</a></li>
<li>订阅我的 <a href="https://tatevaslanyan.substack.com/">数据科学和 AI 新闻通讯</a></li>
</ul>
<h3 id=""><strong>关于作者</strong></h3>
<p>我是 Vahe Aslanyan，专注于计算机科学、数据科学及人工智能领域。访问我的作品：<a href="https://www.vaheaslanyan.com/">vaheaslanyan.com</a>。我的专长包括稳健的全栈开发和 AI 产品的战略增强，专注于创造性问题解决。</p>
<p><a href="https://www.vaheaslanyan.com/">https://www.vaheaslanyan.com/</a></p>
<p>我的经验包括领导推出一个著名的数据科学训练营，这一举措使我站在行业创新的前沿。我一直致力于革命性地改变技术教育，努力设定一个新的全球标准。</p>
<p>随着本手册的结束，我衷心感谢您的专心参与。通过这本书传授我的专业见解是一段职业反思的旅程。您的参与是无价的。我希望这些分享的经验将极大地促进您在动态技术领域的成长。</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 低代码与大语言模型的探索实践 ]]>
                </title>
                <description>
                    <![CDATA[ 前言 ChatGPT，作为一个先进的自然语言处理工具，可以理解和生成人类语言，提供智能编程建议，自动化代码生成，以及提供交互式编程教学。这些功能为开发者提供了前所未有的便利，大大减少了编程的时间和复杂性。 低代码平台则允许用户通过图形界面来构建应用，减少了对专业编程知识的依赖，在特定业务场景下 能够提升开发效率。用户可以通过拖放组件和模型驱动的逻辑来快速地创建应用程序，而无需编写大量代码。 如果可以把 ChatGPT 和低代码平台结合起来使用，那么用户就可以通过对话来快速地创建应用程序，从而简化了搭建应用程序的过程，并且提升了用户体验。 可行性 低代码平台通常使用 JSON 格式的 DSL（领域特定语言 domain-specific language 指的是专注于某个应用程序领域的计算机语言） 来描述一个页面。用户拖拽组件、编辑页面，实际上是在和页面的 JSON 在进行交互。低代码平台通过渲染引擎把 JSON 数据渲染成为页面，至于页面要渲染成为 Vue、React 或者是纯粹的 HTML 页面，就得看各个低代码平台自己的实现了。一个应用程序一般会包含多个页面，然后通过路由来决 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/exploration-and-practices-for-low-code-and-llms/</link>
                <guid isPermaLink="false">6690f22edd1680043183e203</guid>
                
                    <category>
                        <![CDATA[ 人工智能 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ woai3c ]]>
                </dc:creator>
                <pubDate>Fri, 12 Jul 2024 03:40:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2024/07/low-code.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <h2 id="-">前言</h2><p>ChatGPT，作为一个先进的自然语言处理工具，可以理解和生成人类语言，提供智能编程建议，自动化代码生成，以及提供交互式编程教学。这些功能为开发者提供了前所未有的便利，大大减少了编程的时间和复杂性。</p><p>低代码平台则允许用户通过图形界面来构建应用，减少了对专业编程知识的依赖，在<strong>特定业务场景下</strong>能够提升开发效率。用户可以通过拖放组件和模型驱动的逻辑来快速地创建应用程序，而无需编写大量代码。</p><p>如果可以把 ChatGPT 和低代码平台结合起来使用，那么用户就可以通过对话来快速地创建应用程序，从而简化了搭建应用程序的过程，并且提升了用户体验。</p><h3 id="--1">可行性</h3><p>低代码平台通常使用 JSON 格式的 DSL（领域特定语言 domain-specific language 指的是专注于某个应用程序领域的计算机语言） 来描述一个页面。用户拖拽组件、编辑页面，实际上是在和页面的 JSON 在进行交互。低代码平台通过渲染引擎把 JSON 数据渲染成为页面，至于页面要渲染成为 Vue、React 或者是纯粹的 HTML 页面，就得看各个低代码平台自己的实现了。一个应用程序一般会包含多个页面，然后通过路由来决定各个页面的跳转逻辑。</p><p>因此，我们可以向 ChatGPT 提出生成页面的需求，ChatGPT 再根据我们提供的 prompt 来生成一份符合低代码平台数据格式的 JSON。理论上，这是可行的，现在来看一下怎么实现这个功能。</p><h2 id="-chatgpt-">使用 ChatGPT 进行页面生成</h2><p>首先，我们需要注册一个 OpenAI 或者 Azure 账号，在上面开通 API 服务（如何申请账号请自行搜索，网上有很多教程）。然后就可以使用这个 API &nbsp;来和 ChatGPT 进行交互了。</p><p>另外，我们还需要一个低代码平台，因为生成的 JSON 需要一个低代码平台来验证生成 JSON 是否真实可用。刚好前几年我写了一个<a href="https://github.com/woai3c/visual-drag-demo">低代码平台教学项目</a>，现在刚好可以用上。</p><h3 id="-dsl">低代码平台组件 DSL</h3><p>首先，我们要知道每一个组件的 DSL 描述，下面的代码是一个文本组件的 DSL 描述：</p><pre><code class="language-js">{
    "animations": [], // 动画属性
    "events": {}, // 事件
    "groupStyle": {}, // 组合组件样式
    "isLock": false, // 是否锁定
    "collapseName": "style",
    "linkage": { // 联动组件
        "duration": 0,
        "data": [
            {
                "id": "",
                "label": "",
                "event": "",
                "style": [
                    {
                        "key": "",
                        "value": ""
                    }
                ]
            }
        ]
    },
    "component": "VText", // 组件类型
    "label": "文字", // 组件名称
    "propValue": "双击编辑文字", // 组件值
    "icon": "wenben", // 组件图标
    "request": { // 组件 API 请求
        "method": "GET",
        "data": [],
        "url": "",
        "series": false,
        "time": 1000,
        "paramType": "",
        "requestCount": 0
    },
    "style": { // 组件样式
        "rotate": 0,
        "opacity": 1,
        "width": 200,
        "height": 28,
        "fontSize": "",
        "fontWeight": 400,
        "lineHeight": "",
        "letterSpacing": 0,
        "textAlign": "",
        "color": "",
        "top": 157,
        "left": 272
    },
    "id": "07l4byRWvsphAPo2uatxy" // 组件唯一 id
}
</code></pre><p>每一个组件就是一个 JSON 数据，那么整个页面就是一个 JSON 数组，里面包含了多个组件：</p><pre><code class="language-js">// 页面 JSON
[
 { ... }, // 组件1
 { ... }, // 组件2
 { ... }, // 组件3
]
</code></pre><h3 id="prompt-">prompt 编写</h3><p>要让 ChatGPT 来生成页面，那么我们要让 ChatGPT 知道页面、组件的数据结构，并且要给它提供示例。然后再向它提出页面生成的需求，从而为我们生成符合要求的页面。这个 prompt 的格式如下：</p><pre><code class="language-markdown">我有一个低代码平台项目，它可以根据符合规范的 JSON 数据生成页面，这个 JSON 数据是一个数组，里面的每一项都是一个 JSON 对象，每个 JSON 对象都对应着一个组件。
下面用 ### 包括起来的代码就是所有的组件列表。

###
---所有组件的 JSON 数据结构---
###

如果一个页面包含了一个文本和按钮组件，那么这个页面的 JSON 代码如下：
###
---示例页面 JSON 数据结构---
###

你作为一个技术专家，现在需要按照上面的规则来为我生成页面，并且生成的页面中每一个组件的属性都不能忽略，也不需要解释，只需要返回 JSON 数据即可。要注意的是，有些数值的单位是没有 px 的。

现在我需要生成一个海报页面，主要用于宣传编程有什么用。

</code></pre><p>由于篇幅有限，上面只展示了这个 prompt 的大纲，JSON 数据都省略了。完整的 prompt 请在 <a href="https://github.com/woai3c/lowcode-llm-demo/blob/main/prompts/prompt.md">lowcode-llm-demo</a> 上查看。</p><p>prompt 准备好了，现在我们需要调用 ChatGPT 的 API 来生成页面，示例代码如下：</p><pre><code class="language-js">import { AzureChatOpenAI } from '@langchain/azure-openai'
import 'dotenv/config'
import { readFileSync } from 'fs'
import { resolve, dirname } from 'path'
import { fileURLToPath } from 'url'

const model = new AzureChatOpenAI({
    modelName: process.env.AZURE_OPENAI_API_MODEL_NAME,
    azureOpenAIEndpoint: process.env.AZURE_OPENAI_API_ENDPOINT,
    azureOpenAIApiKey: process.env.AZURE_OPENAI_API_KEY,
    azureOpenAIEmbeddingsApiDeploymentName: process.env.AZURE_OPENAI_API_EMBEDDING_DEPLOYMENT_NAME,
    azureOpenAIApiVersion: process.env.AZURE_OPENAI_API_VERSION,
})

const dirName = dirname(fileURLToPath(import.meta.url))
const prompt = readFileSync(resolve(dirName, '../prompts/prompt-compress.md'), 'utf-8')
const response = await model.invoke(prompt)
console.log(JSON.stringify(response)) // 返回 ChatGPT 的结果
</code></pre><p>上面的代码执行后就能得到 ChatGPT 返回来的页面 JSON 数据。不过这个数据不能直接使用，还需要额外写点代码处理一下才能使用。下面的代码就是处理后的页面 JSON 数据结构：</p><pre><code class="language-js">[
    {
        "animations": [],
        "events": {},
        "groupStyle": {},
        "isLock": false,
        "collapseName": "style",
        "linkage": {
            "duration": 0,
            "data": [
                {
                    "id": "",
                    "label": "",
                    "event": "",
                    "style": [
                        {
                            "key": "",
                            "value": ""
                        }
                    ]
                }
            ]
        },
        "component": "Picture",
        "label": "背景图片",
        "propValue": {
            "url": "img/programming_poster_bg.jpg" // 替换为自己的图片
        },
        "style": {
            "rotate": 0,
            "opacity": 1,
            "width": 500,
            "height": 700,
            "top": 0,
            "left": 0,
            "position": "absolute",
            "zIndex": 0
        },
        "id": "backgroundImage"
    },
    {
        "animations": [],
        "events": {},
        "groupStyle": {},
        "isLock": false,
        "collapseName": "style",
        "linkage": {
            "duration": 0,
            "data": [
                {
                    "id": "",
                    "label": "",
                    "event": "",
                    "style": [
                        {
                            "key": "",
                            "value": ""
                        }
                    ]
                }
            ]
        },
        "component": "VText",
        "label": "标题文字",
        "propValue": "编程改变世界",
        "icon": "wenben",
        "style": {
            "rotate": 0,
            "opacity": 1,
            "width": 450,
            "height": 100,
            "fontSize": "32px",
            "fontWeight": 700,
            "textAlign": "center",
            "color": "rgba(16, 15, 15, 1)",
            "top": 50,
            "left": 25,
            "position": "absolute",
            "zIndex": 10
        },
        "id": "titleText"
    },
    {
        "animations": [],
        "events": {},
        "groupStyle": {},
        "isLock": false,
        "collapseName": "style",
        "linkage": {
            "duration": 0,
            "data": [
                {
                    "id": "",
                    "label": "",
                    "event": "",
                    "style": [
                        {
                            "key": "",
                            "value": ""
                        }
                    ]
                }
            ]
        },
        "component": "VText",
        "label": "描述文字",
        "propValue": "通过编程，我们可以创建软件来解决问题、分析数据，甚至改善人们的生活。",
        "icon": "wenben",
        "style": {
            "rotate": 0,
            "opacity": 1,
            "width": 400,
            "height": 200,
            "fontSize": "18px",
            "fontWeight": 400,
            "lineHeight": "1.5",
            "textAlign": "center",
            "color": "rgba(33, 31, 31, 1)",
            "top": 180,
            "left": 50,
            "position": "absolute",
            "zIndex": 10
        },
        "id": "descriptionText"
    },
    {
        "animations": [],
        "events": {},
        "groupStyle": {},
        "isLock": false,
        "collapseName": "style",
        "linkage": {
            "duration": 0,
            "data": [
                {
                    "id": "",
                    "label": "",
                    "event": "",
                    "style": [
                        {
                            "key": "",
                            "value": ""
                        }
                    ]
                }
            ]
        },
        "component": "VButton",
        "label": "行动按钮",
        "propValue": "开始学习编程",
        "icon": "button",
        "style": {
            "rotate": 0,
            "opacity": 1,
            "width": 200,
            "height": 50,
            "borderRadius": "25px",
            "fontSize": "20px",
            "fontWeight": 500,
            "textAlign": "center",
            "color": "#FFF",
            "backgroundColor": "#f44336",
            "top": 420,
            "left": 150,
            "position": "absolute",
            "zIndex": 10
        },
        "id": "actionButton"
    }
]
</code></pre><p>将 JSON 导入到<a href="https://woai3c.github.io/visual-drag-demo/" rel="nofollow">低代码平台</a>后，生成的页面如下所示：</p><figure class="kg-card kg-image-card"><img src="https://camo.githubusercontent.com/01f26873c8ae94d334d6fc3242d30c652d9e47a2c63e2af7d19c4249bdfbaf16/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f6469726563742f65383561613164646337383134363731386234353630343565656165303932362e706e67" class="kg-image" alt="在这里插入图片描述" width="600" height="400" loading="lazy"></figure><p><br>可以看到 ChatGPT 输出了一个半成品页面，背景图片的地址需要我们手动修改。ChatGPT 每次输出的页面都是随机的，下面是生成的另外一个页面。</p><figure class="kg-card kg-image-card"><img src="https://camo.githubusercontent.com/9136fff3c3f2469d3e990d80c823b482b07289814f7d8b179a99fb405ddeabe7/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f6469726563742f34383738363064306233333234303461616662363632663336366366383936342e706e67" class="kg-image" alt="在这里插入图片描述" width="600" height="400" loading="lazy"></figure><h3 id="--2">节省成本</h3><p>ChatGPT 很好用，但是有一个缺点，太贵了。所以我们需要想一些办法来降低成本，下面是几个比较可行的办法：</p><ol><li>精简 prompt</li><li>微调（Fine-tuning）</li><li>使用模板、分类标签</li></ol><h4 id="-prompt">精简 prompt</h4><p>ChatGPT 的 API &nbsp;是通过 token 来收费的，所以最简单直接的方法就是优化 prompt。下面是一个未优化的 prompt 示例：</p><blockquote>我需要一个用户管理系统的页面。在页面顶部，我需要一个添加用户的按钮。下面是一个表格，列出了所有用户的姓名、邮箱和注册日期。点击任何一个用户，将会打开一个包含完整用户信息的新页面，其中包含姓名、邮箱、注册日期、最后登录时间和用户角色。还需要有一个搜索栏，可以通过姓名或邮箱搜索用户。请基于这些要求为我的低代码平台生成代码。</blockquote><p>现在将这个 prompt 优化一下：</p><blockquote>生成页面：用户管理<br>组件：添加按钮，用户表格（姓名，邮箱，注册日期），用户详情（姓名，邮箱，注册日期，最后登录，角色），搜索栏（姓名，邮箱）</blockquote><p>在这个例子中，我们简化了描述页面的需求，从而减少了 token 的数量。</p><h4 id="-fine-tuning-">微调（Fine-tuning）</h4><p>在文章的开头，我展示了一个生成页面的 prompt 示例，并且可以看到这个 prompt 消耗的 token 数量非常大，因为它需要告诉 ChatGPT 每个组件的 JSON 数据结构是什么，以及一个完整的示例页面 JSON 数据结构是什么样的，这些示例都需要消耗大量的 token。</p><p>为了精简 prompt，同时又能达到未精简前的效果，这可以使用微调来实现。</p><blockquote>微调是一种机器学习技术，它可以让你自定义机器学习模型以适应特定的任务或数据集。通过微调，您可以在一个预训练的模型（如ChatGPT）的基础上进一步训练它，使其更好地理解和执行特定的任务。这样，您可以创建一个专门为您的低代码平台生成页面的模型。</blockquote><p>我们可以给 ChatGPT 提供大量的数据集进行微调训练，比如大量的低代码页面示例。这样你再让它生成一个“用于宣传编程的海报页面”，就不需要提供每个组件的数据结构了，因为这些数据 ChatGPT 已经通过微调学会了。</p><p>现在来看一下用于微调训练的数据集是什么样的：</p><pre><code class="language-json">{"prompt": "&lt;prompt text&gt;", "completion": "&lt;ideal generated text&gt;"}
{"prompt": "&lt;prompt text&gt;", "completion": "&lt;ideal generated text&gt;"}
{"prompt": "&lt;prompt text&gt;", "completion": "&lt;ideal generated text&gt;"}
</code></pre><p>上面是数据集的格式，现在我要提供大量的低代码平台数据集：</p><pre><code class="language-json">{"prompt":"生成一个带有矩形组件的页面","completion": "[{\"animations\":[],\"events\":{},\"groupStyle\":{},\"isLock\":false,\"collapseName\":\"style\",\"linkage\":{\"duration\":0,\"data\":[{\"id\":\"\",\"label\":\"\",\"event\":\"\",\"style\":[{\"key\":\"\",\"value\":\"\"}]}]},\"component\":\"RectShape\",\"label\":\"矩形\",\"propValue\":\"矩形\",\"icon\":\"juxing\",\"style\":{\"rotate\":0,\"opacity\":1,\"width\":200,\"height\":200,\"fontSize\":\"\",\"fontWeight\":400,\"lineHeight\":\"\",\"letterSpacing\":0,\"textAlign\":\"center\",\"color\":\"\",\"borderColor\":\"#000\",\"borderWidth\":1,\"backgroundColor\":\"\",\"borderStyle\":\"solid\",\"borderRadius\":\"\",\"verticalAlign\":\"middle\",\"top\":143,\"left\":379},\"id\":\"j3i41NnZw8Zcxu3BfbXwv\"}]"}
{"prompt":"生成一个带有文本组件的页面","completion": "[{\"animations\":[],\"events\":{},\"groupStyle\":{},\"isLock\":false,\"collapseName\":\"style\",\"linkage\":{\"duration\":0,\"data\":[{\"id\":\"\",\"label\":\"\",\"event\":\"\",\"style\":[{\"key\":\"\",\"value\":\"\"}]}]},\"component\":\"VText\",\"label\":\"文字\",\"propValue\":\"双击编辑文字\",\"icon\":\"wenben\",\"request\":{\"method\":\"GET\",\"data\":[],\"url\":\"\",\"series\":false,\"time\":1000,\"paramType\":\"\",\"requestCount\":0},\"style\":{\"rotate\":0,\"opacity\":1,\"width\":200,\"height\":28,\"fontSize\":\"\",\"fontWeight\":400,\"lineHeight\":\"\",\"letterSpacing\":0,\"textAlign\":\"\",\"color\":\"\",\"top\":145.3333282470703,\"left\":195},\"id\":\"WKqULBX4bKcmREgPJef3D\"}]"}
{"prompt":"生成一个带有按钮组件的页面","completion": "[{\"animations\":[],\"events\":{},\"groupStyle\":{},\"isLock\":false,\"collapseName\":\"style\",\"linkage\":{\"duration\":0,\"data\":[{\"id\":\"\",\"label\":\"\",\"event\":\"\",\"style\":[{\"key\":\"\",\"value\":\"\"}]}]},\"component\":\"VButton\",\"label\":\"按钮\",\"propValue\":\"按钮\",\"icon\":\"button\",\"style\":{\"rotate\":0,\"opacity\":1,\"width\":100,\"height\":34,\"borderWidth\":1,\"borderColor\":\"\",\"borderRadius\":\"\",\"fontSize\":\"\",\"fontWeight\":400,\"lineHeight\":\"\",\"letterSpacing\":0,\"textAlign\":\"\",\"color\":\"\",\"backgroundColor\":\"\",\"top\":126.33332824707031,\"left\":224},\"id\":\"6wgvR1wyRyNqIl37qs1iS\"}]"}
...
</code></pre><p>通过微调训练后，ChatGPT 就变成了一个专门的低代码模型，它会更好地理解低代码的需求。后面我们再让 ChatGPT 生成页面就不需要大量的 prompt 了，可以直接让它生成一个“用于宣传编程的海报页面”。记住，<strong>微调是一个需要精心设计和执行的过程，需要我们不停的校正，才能达到最好的效果</strong>。</p><h4 id="--3">使用模板、分类标签</h4><p>一个成功的低代码平台，一定会内置大量的模板，包括但不限于页面模板、应用模板等等。其实在大多数时候，用户提出生成页面的需求时，我们可以提取关键词，根据关键词找到符合用户需求的模板，再展示给用户选择。如果没有找到符合要求的模板，才使用 ChatGPT 来生成页面，这样不仅能节省成本，还避免了 ChatGPT 随机生成页面并且有可能生成错误页面的弊端。</p><p>现在我们来看看怎么做。首先，除了给模板命名，还需要给模板归类，比如打上几个类似于“医疗”、“后台管理系统”之类的标签。</p><p>当用户提出一个“生成用于宣传编程的页面”需求时，我们可以使用自然语言处理（NLP）库，如 <code>natural</code> 或者 <code>compromise</code> 进行关键词提取，然后再通过 <code>Elasticsearch</code> 来进行搜索，最后把搜索到的模板返回给用户。下面是代码示例：</p><pre><code class="language-js">const { Client } = require('@elastic/elasticsearch');
const { NlpManager } = require('node-nlp');

// 初始化Elasticsearch客户端
const client = new Client({ node: 'http://localhost:9200' });

// 初始化NLP管理器
const nlpManager = new NlpManager({ languages: ['en'], nlu: { useNoneFeature: false } });

// 假设我们有一些模板数据
const templates = [
    { name: 'Medical Service Promotion Page', tags: ['medical', 'promotion'] },
    { name: 'Programming Education Poster', tags: ['education', 'programming', 'poster'] },
    { name: 'Backend Management System Dashboard', tags: ['backend', 'management', 'system'] }
];

// 创建Elasticsearch索引
async function createIndex(indexName) {
    // 省略创建索引代码
}

// 索引模板数据到Elasticsearch
async function indexTemplates(indexName, templates) {
    // 省略索引数据代码
}

// 提取关键词
async function extractKeywords(text) {
    const result = await nlpManager.extractEntities(text);
    const keywords = result.entities.map(entity =&gt; entity.option || entity.utteranceText);
    return keywords;
}

// 使用Elasticsearch进行搜索
async function searchTemplates(indexName, keywords) {
    const { body } = await client.search({
        index: indexName,
        body: {
            query: {
                bool: {
                    should: [
                        { match: { name: { query: keywords.join(' '), boost: 2 } } },
                        { terms: { tags: keywords } }
                    ]
                }
            }
        }
    });

    return body.hits.hits.map(hit =&gt; hit._source);
}

// 主程序
async function main() {
    const indexName = 'templates';

    // 创建索引并索引数据
    await createIndex(indexName);
    await indexTemplates(indexName, templates);

    // 用户输入
    const userInput = "I want to create a poster page for programming promotion";

    // 提取关键词
    const keywords = await extractKeywords(userInput);

    // 执行搜索
    const results = await searchTemplates(indexName, keywords);

    // 输出结果
    console.log(results);
}

main().catch(console.error);
</code></pre><h2 id="-chatglm-6b-">使用开源大语言模型 ChatGLM-6B 进行页面生成</h2><p>对于无法使用外网或预算有限的项目，我们可以考虑使用开源的大语言模型。本文选了 <a href="https://github.com/THUDM/ChatGLM-6B">ChatGLM-6B</a> 开源模型来做演示。</p><h3 id="--4">安装</h3><p>ChatGLM-6B 本地部署的教程网上有很多，由于我的电脑是 Windows，并且没有 N 卡，所以我参考了这篇文章<a href="https://zhuanlan.zhihu.com/p/620455056" rel="nofollow">手把手教你本地部署清华大学 KEG 的 ChatGLM-6B 模型</a>来部署 ChatGLM-6B。</p><p>这篇文章讲得很细致，按照流程走下来只出现了两个小问题，解决后就跑通了。这里也记录一下这两个问题及相应的解决办法。</p><h4 id="tdm-gcc-">TDM-GCC 编译错误</h4><p>按照文章中的要求安装了 TDM-GCC 后发现编译 <code>quantization_kernels_parallel.c</code> 文件错误，卸载 TDM-GCC 后换了 <a href="https://www.mingw-w64.org/downloads/" rel="nofollow">MinGW-w64</a> 就好了，编译顺利通过。</p><h4 id="-python-">执行 python 脚本偶尔没反应</h4><p>这个问题排查了很久，经过不断的调试和重启，最后发现是系统资源不足（我的电脑 CPU 是 6800H，32G 内存，没有显卡）。在关掉无关程序后，只保留一个终端用于启动脚本后，就没有问题了。</p><h3 id="--5">使用</h3><p>ChatGLM-6B 的相关代码已经上传到了 <a href="https://github.com/woai3c/lowcode-llm-demo">GitHub </a>，大家可以把项目下载下来，然后按照仓库文档中的说明修改目录位置后，就可以执行 <code>cli-demo.py</code> 或者 <code>web-demo.py</code> 脚本和 ChatGLM-6B 进行交互了。下面的几张图片就是部署在我电脑上的 ChatGLM-6B 使用示例：</p><figure class="kg-card kg-image-card"><img src="https://camo.githubusercontent.com/20eaeef47be86fbb1d20d356202e4fe8cbe2cf5a4cf53b8ddda59ba9d37b39f7/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f6469726563742f37653262363530333432333334656633623731373236633166646362653632372e706e67" class="kg-image" alt="在这里插入图片描述" width="600" height="400" loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="https://camo.githubusercontent.com/05f851eb4ddc05e40223cbdf24abc447e1c716f98c80c0f3ad04dd7cf2f79e48/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f6469726563742f62393237326130626561333134316339623566636263386336623161653336622e706e67" class="kg-image" alt="在这里插入图片描述" width="600" height="400" loading="lazy"></figure><p>由于电脑配置不是特别好，ChatGLM-6B 在我电脑上运行起来比较慢，一个问题回答起来要花几分钟。像生成低代码页面的这个需求，就跑了十几分钟，最后程序直接崩了，只给我输出了一半的 JSON，不过数据结构是对的，所以换个好点的显卡后应该不是问题。</p><h2 id="--6">总结</h2><p>其实，大语言模型不仅能和低代码领域配合使用，经过训练后的模型可以和任何领域结合，从而生成该领域的专门模型。例如 Figma、即时设计、MasterGo 这种设计工具，它们存储的也是一份 JSON 数据。所以理论上也可以通过对话来生成设计页面。</p><p>还有其他的类似于 AI 客服、催收机器人都可以通过这种方法训练出来。</p><h3 id="--7">参考资料</h3><ul><li><a href="https://zhuanlan.zhihu.com/p/620455056" rel="nofollow">手把手教你本地部署清华大学 KEG 的 ChatGLM-6B 模型</a></li><li><a href="https://github.com/THUDM/ChatGLM-6B">ChatGLM-6B</a></li></ul><h3 id="--8">低代码系列文章</h3><ul><li><a href="https://github.com/woai3c/Front-end-articles/issues/19">可视化拖拽组件库一些技术要点原理分析</a></li><li><a href="https://github.com/woai3c/Front-end-articles/issues/20">可视化拖拽组件库一些技术要点原理分析（二）</a></li><li><a href="https://github.com/woai3c/Front-end-articles/issues/21">可视化拖拽组件库一些技术要点原理分析（三）</a></li><li><a href="https://github.com/woai3c/Front-end-articles/issues/33">可视化拖拽组件库一些技术要点原理分析（四）</a></li><li><a href="https://github.com/woai3c/Front-end-articles/issues/45">低代码与大语言模型的探索实践</a></li></ul><h3 id="--9">低代码相关仓库</h3><ul><li><a href="https://github.com/woai3c/visual-drag-demo">一个低代码（可视化拖拽）教学项目</a></li><li><a href="https://github.com/woai3c/lowcode-llm-demo/tree/main">低代码与大语言模型的结合实践 demo</a></li></ul> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 如何使用 OpenAI Whisper 将音频转换为文本 ]]>
                </title>
                <description>
                    <![CDATA[ 你知道 OpenAI Whisper 是什么吗？它是 OpenAI 最新推出的人工智能模型，可以帮助你自动将语音转换为文本。 有了 OpenAI Whisper，将音频转换成文本变得更简单、更准确。 本文将指导你使用 Whisper 将口语转换成书面形式，为任何希望利用人工智能实现高效转录的人提供一种直接的方法。 OpenAI Whisper 简介 OpenAI Whisper [https://platform.openai.com/docs/guides/speech-to-text]  是一个人工智能模型，旨在理解和转录口语。它是一个自动语音识别（ASR）系统，旨在将口语转换为书面文本。 它为各行各业开辟了广泛的用例。无论你是开发人员、内容创作者，还是对人工智能着迷的人，Whisper 都能满足你的需求。 让我们来了解一下它的一些主要功能：  1. 转录服务：Whisper 可以实时或根据录音转录音频和视频内容，这使它在生成准确的会议记录、访谈、讲座以及任何需要以文本形式记录的口语内容时非常有用。  2. 字幕和隐藏式字幕：它可以为视频自动生成字幕和隐藏式字幕，为聋人 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/how-to-turn-audio-to-text-using-openai-whisper/</link>
                <guid isPermaLink="false">667e13e8e2419d0432ac0007</guid>
                
                    <category>
                        <![CDATA[ 人工智能 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Miya Liu ]]>
                </dc:creator>
                <pubDate>Fri, 28 Jun 2024 03:11:12 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2024/06/Untitled-design-26-1068x601.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/how-to-turn-audio-to-text-using-openai-whisper/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Turn Audio to Text using OpenAI Whisper</a>
      </p><p>你知道 OpenAI Whisper 是什么吗？它是 OpenAI 最新推出的人工智能模型，可以帮助你自动将语音转换为文本。</p><p>有了 OpenAI Whisper，将音频转换成文本变得更简单、更准确。</p><p>本文将指导你使用 Whisper 将口语转换成书面形式，为任何希望利用人工智能实现高效转录的人提供一种直接的方法。</p><h1 id="openai-whisper-">OpenAI Whisper 简介</h1><p><a href="https://platform.openai.com/docs/guides/speech-to-text" rel="noopener ugc nofollow">OpenAI Whisper</a> 是一个人工智能模型，旨在理解和转录口语。它是一个自动语音识别（ASR）系统，旨在将口语转换为书面文本。</p><p>它为各行各业开辟了广泛的用例。无论你是开发人员、内容创作者，还是对人工智能着迷的人，Whisper 都能满足你的需求。</p><p>让我们来了解一下它的一些主要功能：</p><ol><li><strong>转录服务：</strong>Whisper 可以实时或根据录音转录音频和视频内容，这使它在生成准确的会议记录、访谈、讲座以及任何需要以文本形式记录的口语内容时非常有用。</li><li>字幕和隐藏式字幕：它可以为视频自动生成字幕和隐藏式字幕，为聋人和重听群体以及喜欢观看带文字视频的观众提供更好的无障碍功能。</li><li><strong>语言学习和翻译：</strong>Whisper 的多语言转录能力支持语言学习应用，有助于发音练习和听力理解。结合翻译模型，它还能促进实时跨语言交流。</li><li><strong>无障碍工具：</strong>除了字幕之外，Whisper 还可以集成到辅助技术中，帮助有语言障碍的人或依赖文本交流的人。它可以将口语命令或查询转换成文本，以便进一步处理，从而提高设备和软件的可用性。</li><li><strong>内容可搜索性：</strong>通过将音频和视频内容转录为文本，Whisper 可以搜索海量的多媒体数据。这一功能对于需要高效查找特定信息的媒体公司、教育机构和法律专业人士来说至关重要。</li><li><strong>声控应用：</strong>Whisper 可作为开发声控应用和设备的支柱。它能让用户通过自然语音应用技术。这包括从智能家居设备到复杂工业机械的一切。</li><li><strong>客户支持自动化：</strong>在客户服务方面，Whisper 可以实时转录呼叫。它允许自动化系统进行即时分析和响应。这可以提高响应时间、处理询问的准确性和整体客户满意度。</li><li><strong>播客和新闻报道：</strong>对于播客和新闻记者来说，Whisper 提供了一种快速的方式，可以为文章、博客和社交媒体帖子转录采访和音频内容，从而简化内容创建并方便更多受众访问。</li></ol><p>OpenAI Whisper 代表着语音识别技术的重大进步。</p><p>它的应用案例横跨增强无障碍性、简化工作流程和促进技术创新应用等多个领域，是构建现代应用的强大工具。</p><h2 id="-whisper">如何使用 Whisper</h2><p>现在让我们来看一个简单的代码示例，使用 OpenAI Whisper 将音频文件转换为文本。我建议使用 <a href="https://colab.research.google.com/" rel="noopener ugc nofollow">Google Collab notebook</a>。</p><p>在深入学习代码之前，你需要两样东西：</p><ul><li><a href="https://platform.openai.com/api-keys">OpenAI API 密钥</a></li><li><a href="https://audio-samples.github.io/">样本音频文件</a></li></ul><p>首先，安装 OpenAI 库（仅在笔记本上安装时使用 <code>!</code>）：</p><pre><code>!pip install openai</code></pre><p>现在，让我们编写代码，将示例语音文件转录为文本：</p><pre><code>#Import the openai Library
from openai import OpenAI

# Create an api client
client = OpenAI(api_key="YOUR_KEY_HERE")

# Load audio file
audio_file= open("AUDIO_FILE_PATH", "rb")

# Transcribe
transcription = client.audio.transcriptions.create(
  model="whisper-1", 
  file=audio_file
)
# Print the transcribed text
print(transcription.text)</code></pre><p>这个脚本展示了使用 OpenAI Whisper 转录音频文件的简单方法。使用 Python 运行此脚本后，你将看到指定音频文件的转录结果被打印到控制台。</p><p>你可以尝试使用不同的音频文件，并探索 <a href="https://platform.openai.com/docs/guides/speech-to-text">Whisper 库</a>提供的其他选项，以便根据自己的需要定制转录过程。</p><h2 id="-">获得更好的转录的技巧</h2><p>Whisper 功能强大，但有一些方法可以让它获得更好的效果。以下是一些技巧：</p><ul><li><strong>清晰的音频：</strong>音频文件越清晰，转录效果越好。尽量使用背景噪音最小的文件。</li><li><strong>语言选择：</strong>Whisper 支持多种语言。如果你的音频不是英语，请务必指定语言，以提高准确性。</li><li><strong>自定义输出：</strong>Whisper 提供自定义输出选项。你可以要求它包含时间戳、置信度分数等。请浏览文档了解更多信息。</li></ul><h2 id="--1">高级功能</h2><p>Whisper 不仅仅适用于简单的转录。它具有满足更高级需求的功能：</p><ul><li><strong>实时转录：</strong>你可以设置 Whisper 实时转录音频。这非常适合现场活动或流媒体。</li><li><strong>多语言支持：</strong>Whisper 可以处理同一音频文件中的多种语言。这非常适合多语言会议或访谈。</li><li><strong>微调：</strong>如果你有特殊需求，可以微调 Whisper 的模型，使其更适合你的音频需求。这需要更多的技术能力，但可以大大提高效果。</li></ul><h2 id="--2">总结</h2><p>使用 OpenAI Whisper 开启了一个充满可能性的世界。它不仅能转录音频，还能让信息更易于访问，让流程更有效率。</p><p>无论你是为研究项目转录访谈，还是通过转录使你的播客更易于访问，抑或是探索应用技术互动的新方式，Whisper 都能满足你的需求。</p><p>希望你喜欢这篇文章。<a href="https://www.turingtalks.ai/">访问 turingtalks.ai</a> 可获取人工智能教程。</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 播客 Ep. 17 余琦：保持好奇心，在技术领域不断“刷油漆” ]]>
                </title>
                <description>
                    <![CDATA[ 我们的生活中可能都会有这样的朋友：在各种活动中他不是最引人关注的那一个，合影也很少站 C 位，喜欢自己探索，偶然发一个作品出来，令人感觉惊艳。 这期节目的嘉宾余琦给我的印象就是这样一位朋友。 余琦 他很早就对电子产品感兴趣，在中学时开始学习编程，大学时是电子竞技校队的成员。大学毕业后，他本来有一份在很多人眼里稳定的工作，因为对软件开发更感兴趣，他在学习和职业发展路上做更多探索，例如在 freeCodeCamp 学习前端开发、加入 K12 编程教育创业公司。现在他是 ThoughtWorks 的专家级咨询师，最近在研究 AI 新技术。 在节目中，他分享了自己的这些经历，以及对他很有启发的“油漆滴”模型。我们还聊到他组织文言文编程工作坊的时候，写的那篇让我觉得惊艳的文章。 如果他保持好奇心、透明做自己的状态也能给你一些启发和动力，请把这期节目分享给更多朋友。也欢迎你发邮件分享自己的故事，也许我们会邀请你作为 freeCodeCamp 播客的嘉宾。你可以在这篇文章 [https://www.freecodecamp.org/chinese/news/freecodecamp-podc ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/interview-yu-qi-stay-curious-and-keep-painting-in-the-tech-field/</link>
                <guid isPermaLink="false">654d083ae0668103ebf81a78</guid>
                
                    <category>
                        <![CDATA[ 播客 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ AI ]]>
                    </category>
                
                    <category>
                        <![CDATA[ 前端开发 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ 人工智能 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Miya Liu ]]>
                </dc:creator>
                <pubDate>Thu, 09 Nov 2023 13:00:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2023/11/Chinese-1.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>我们的生活中可能都会有这样的朋友：在各种活动中他不是最引人关注的那一个，合影也很少站 C 位，喜欢自己探索，偶然发一个作品出来，令人感觉惊艳。</p><p>这期节目的嘉宾余琦给我的印象就是这样一位朋友。</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://chinese.freecodecamp.org/news/content/images/2023/11/yuqi.jpeg" class="kg-image" alt="yuqi" srcset="https://chinese.freecodecamp.org/news/content/images/size/w600/2023/11/yuqi.jpeg 600w, https://chinese.freecodecamp.org/news/content/images/size/w1000/2023/11/yuqi.jpeg 1000w, https://chinese.freecodecamp.org/news/content/images/size/w1600/2023/11/yuqi.jpeg 1600w, https://chinese.freecodecamp.org/news/content/images/2023/11/yuqi.jpeg 1776w" sizes="(min-width: 720px) 720px" width="1776" height="1184" loading="lazy"><figcaption>余琦</figcaption></figure><!--kg-card-begin: html--><iframe width="100%" height="180" frameborder="no" scrolling="no" seamless="" src="https://share.transistor.fm/e/200b830c" title="嵌入内容" loading="lazy"></iframe><!--kg-card-end: html--><p>他很早就对电子产品感兴趣，在中学时开始学习编程，大学时是电子竞技校队的成员。大学毕业后，他本来有一份在很多人眼里稳定的工作，因为对软件开发更感兴趣，他在学习和职业发展路上做更多探索，例如在 freeCodeCamp 学习前端开发、加入 K12 编程教育创业公司。现在他是 ThoughtWorks 的专家级咨询师，最近在研究 AI 新技术。</p><p>在节目中，他分享了自己的这些经历，以及对他很有启发的“油漆滴”模型。我们还聊到他组织文言文编程工作坊的时候，写的那篇让我觉得惊艳的文章。</p><p>如果他保持好奇心、透明做自己的状态也能给你一些启发和动力，请把这期节目分享给更多朋友。也欢迎你发邮件分享自己的故事，也许我们会邀请你作为 freeCodeCamp 播客的嘉宾。你可以在<a href="https://www.freecodecamp.org/chinese/news/freecodecamp-podcast-in-chinese/">这篇文章</a>中找到邮箱地址。</p><p>欢迎在 <a href="https://chinese.freecodecamp.org/">https://chinese.freecodecamp.org/</a> 查看更多免费的编程学习资源。</p><p>注：29:16 DEI 是 Diversity、Equity、Inclusion 三个词的缩写。</p><h2 id="-"><strong><strong>主要话题</strong></strong></h2><ul><li>03:19 编程和游戏</li><li>11:26 成为前端开发者</li><li>17:52 青少年编程教育</li><li>28:25 ThoughtWorks 企业文化</li><li>38:00 在 ThoughtWorks 的工作内容</li><li>49:41 开发者如何提升综合能力</li><li>50:58 文言文编程</li><li>56:20 参与帮助孕妇的项目</li><li>59:16 在 TEDxChengdu 协作</li><li>1:03:53 对 AI 新技术的观察和思考</li><li>1:10:24 保持好奇心</li></ul><h2 id="--1"><strong><strong>提到的资源</strong></strong></h2><ul><li><a href="https://chinese.freecodecamp.org/learn">freeCodeCamp 课程</a></li><li><a href="https://ed.ted.com/ted_ed_collections/think-like-a-coder">TEDEd《像程序员一样思考》</a></li><li><a href="https://code.org/">编程一小时</a></li><li><a href="https://www.codingame.com/start/">CodinGame</a></li><li><a href="https://zhuanlan.zhihu.com/p/102594855">文言文编程工作坊</a></li><li><a href="https://www.notion.so/6865246e82984627938cff4256507692?pvs=21">油漆滴模型</a></li></ul> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ LangChain 教程——如何构建自定义知识聊天机器人 ]]>
                </title>
                <description>
                    <![CDATA[ 你可能已经了解到过去几个月中发布的大量人工智能应用程序。你甚至可能已经开始使用其中的一些。 ChatPDF [https://www.chatpdf.com/] 和 CustomGPT AI [https://customgpt.ai/use-cases/] 等人工智能工具对人们非常有用，这是有道理的。你需要翻阅长达 50 页的文档才能找到一个简单答案的时代已经一去不复返了。取而代之的是，你可以依靠人工智能来完成繁重的工作。 但是，这些开发人员究竟是如何创建和使用这些工具的呢？他们中的许多人都在使用一个名为 LangChain 的开源框架。 在本文中，我将向你介绍 LangChain，并向你展示如何将其与 OpenAI 的 API 结合使用，以创建这些改变游戏规则的工具。希望我的介绍能激发你们的灵感，创造出属于自己的工具。那么，让我们开始吧！ 什么是 LangChain LangChain [https://github.com/hwchase17/langchain/]是一个开源框架，允许人工智能开发人员将 GPT-4 等大型语言模型（LLM）与外部数据相结合。它提供 P ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/langchain-how-to-create-custom-knowledge-chatbots/</link>
                <guid isPermaLink="false">652ce3d97452bd03fdf58d3c</guid>
                
                    <category>
                        <![CDATA[ 人工智能 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ AI ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ luojiyin ]]>
                </dc:creator>
                <pubDate>Mon, 16 Oct 2023 07:25:04 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2023/10/ThumbnailArticle--1-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/langchain-how-to-create-custom-knowledge-chatbots/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">LangChain Tutorial – How to Build a Custom-Knowledge Chatbot</a>
      </p><!--kg-card-begin: markdown--><p>你可能已经了解到过去几个月中发布的大量人工智能应用程序。你甚至可能已经开始使用其中的一些。</p>
<p><a href="https://www.chatpdf.com/">ChatPDF</a> 和 <a href="https://customgpt.ai/use-cases/">CustomGPT AI</a> 等人工智能工具对人们非常有用，这是有道理的。你需要翻阅长达 50 页的文档才能找到一个简单答案的时代已经一去不复返了。取而代之的是，你可以依靠人工智能来完成繁重的工作。</p>
<p>但是，这些开发人员究竟是如何创建和使用这些工具的呢？他们中的许多人都在使用一个名为 LangChain 的开源框架。</p>
<p>在本文中，我将向你介绍 LangChain，并向你展示如何将其与 OpenAI 的 API 结合使用，以创建这些改变游戏规则的工具。希望我的介绍能激发你们的灵感，创造出属于自己的工具。那么，让我们开始吧！</p>
<h2 id="langchain">什么是 LangChain</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/Screenshot-2023-05-29-at-5.40.38-PM.png" alt="Screenshot-2023-05-29-at-5.40.38-PM" width="600" height="400" loading="lazy"></p>
<p><a href="https://github.com/hwchase17/langchain/">LangChain</a>是一个开源框架，允许人工智能开发人员将 GPT-4 等大型语言模型（LLM）与外部数据相结合。它提供 Python 或 JavaScript（TypeScript）包。</p>
<p>大家可能知道，GPT 模型是在 2021 年之前的数据上训练出来的，这可能是一个很大的局限。虽然这些模型的常识很不错，但如果能将它们与自定义数据和计算连接起来，就会打开很多大门。这正是 LangChain 所要做的。</p>
<p>从本质上讲，它可以让你的 LLM 在得出答案时参考整个数据库。因此，你现在可以让你的 GPT 模型访问报告、文档和网站信息等形式的最新数据。</p>
<p>最近，LangChain 的受欢迎程度大幅上升，尤其是在三月份推出 GPT-4 之后。这要归功于它的多功能性，以及与功能强大的 LLM 配合后所带来的多种可能性。</p>
<h2 id="langchain">LangChain 是怎样工作的</h2>
<p>可能会觉得 LangChain 听起来很复杂，但实际上它非常容易上手。</p>
<p>简而言之，LangChain 就是将大量数据组成一个 LLM 可以轻松引用的数据链，而且计算能力越低越好。它的工作原理是将大量数据（例如 50 页的 PDF 文件）分解成 <code>块(chunks)</code>，然后将这些 <code>块(chunks)</code> 嵌入到 向量存储(Vector Store) 中。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/------LangChain.png" alt="------LangChain" width="600" height="400" loading="lazy"></p>
<p>以上是创建向量存储(Vector Store) 的简单示意图。</p>
<p>现在，我们已经有了大型文档的向量化表示，可以将其与 LLM 结合使用，在创建 提示-完成对<br>
(prompt-completion pair) 时，只检索我们需要引用的信息。</p>
<p>当我们在新聊天机器人中插入 提示(prompt) 时，LangChain 会查询 向量存储库(Vector Store) 以获取相关信息。把它想象成你文档的迷你谷歌。一旦检索到相关信息，我们就会将其与 提示(prompt ) 信息一起输入 LLM，生成我们的答案。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/ByteSizedThumbnail--1200---800-px---10-.png" alt="ByteSizedThumbnail--1200---800-px---10-" width="600" height="400" loading="lazy"></p>
<p>以上展示了 LangChain 如何与 OpenAI 的 LLM 协同工作。</p>
<p>LangChain 还允许你创建可以执行操作的应用程序，例如上网、发送电子邮件和完成其他与 API 相关的任务。请查看 <a href="https://Agentsgpt.reworkd.ai/">AgentsGPT</a>，这就是一个很好的例子。</p>
<p>这有很多可能的用例，以下是我想到的几个：</p>
<ul>
<li>个人 AI 电子邮件助理</li>
<li>人工智能学习伙伴</li>
<li>人工智能数据分析</li>
<li>定制公司客户服务聊天机器人</li>
<li>社交媒体内容创建助手</li>
</ul>
<p>还有更多。我将在今后的文章中介绍正确的构建教程，敬请期待。</p>
<h2 id="langchain">怎样开始使用 LangChain</h2>
<p>LangChain 应用程序由 5 个主要部分组成：</p>
<ol>
<li>Models (LLM Wrappers)</li>
<li>Prompts</li>
<li>Chains</li>
<li>Embeddings and Vector Stores</li>
<li>Agents</li>
</ol>
<p>我将为你逐一介绍，以便你对 LangChain 的工作原理有一个高层次的了解。接下来，你应该能够应用这些概念，开始制作自己的用例并创建自己的应用程序。</p>
<p>我将用 Rabbitmetrics 的简短代码片段（<a href="https://github.com/rabbitmetrics/langchain-13-min/blob/main/notebooks/langchain-13-min.ipynb">Github</a>）来解释一切。他就这一主题提供了很好的教程。通过这些代码片段，你可以完成所有设置并准备使用 LangChain。</p>
<p>首先，我们来设置环境。你可以用 pip 安装 3 个需要的库：</p>
<pre><code class="language-shell">pip install -r requirements.txt
</code></pre>
<pre><code class="language-requirements.txt">python-dotenv==1.0.0
langchain==0.0.137
pinecone-client==2.2.1
</code></pre>
<p><a href="https://www.pinecone.io/">Pinecone</a>是我们将与 LangChain 结合使用的向量存储。使用这些工具时，请确保将 OpenAI、Pinecone Environment 和 Pinecone API 的 API 密钥存储到环境文件中。你可以在它们各自的网站上找到这些信息。然后，我们只需在环境文件中加载以下内容即可：</p>
<pre><code class="language-Python"># Load environment variables

from dotenv import load_dotenv,find_dotenv
load_dotenv(find_dotenv())
</code></pre>
<p>现在，我们可以开始了！</p>
<h3 id="modelsllmwrappers">Models（LLM Wrappers）</h3>
<p>为了与我们的 LLM 进行交互，我们将为 OpenAI 的 GPT 模型实例化一个封装器。在本例中，我们将使用 OpenAI 的 GPT-3.5-turbo，因为它最具性价比。但如果你有授权，也可以使用功能更强大的 GPT4。</p>
<pre><code class="language-Python"># import schema for chat messages and ChatOpenAI in order to query chatmodels GPT-3.5-turbo or GPT-4

from langchain.schema import (
    AIMessage,
    HumanMessage,
    SystemMessage
)
from langchain.chat_models import ChatOpenAI
     

chat = ChatOpenAI(model_name="gpt-3.5-turbo",temperature=0.3)
messages = [
    SystemMessage(content="You are an expert data scientist"),
    HumanMessage(content="Write a Python script that trains a neural network on simulated data ")
]
response=chat(messages)

print(response.content,end='\n')
     
</code></pre>
<p>本质上，<code>SystemMessage</code> 为 GPT-3.5-turbo 模块提供了上下文，它将为每个提示-完成对引用该模块。 HumanMessage 指的是你在 ChatGPT 界面中输入的内容(你的提示)。</p>
<p>但对于定制知识聊天机器人，我们经常抽象出 提示（prompt）中的重复组件。例如，如果我正在创建一个推文生成器应用程序，我不想继续输入<code>给我写一条关于...的推文</code>。其实，<a href="https://ilampadman.com/best-ai-writer-best-ai-copywriter">AI 写作工具</a> 就是这么简单开发出来的！</p>
<p>那么让我们看看如何使用 提示模板(prompt templates) 将其抽象出来。</p>
<h3 id="prompts">Prompts（提示）</h3>
<p>LangChain 提供 PromptTemplates，允许你根据用户输入动态更改提示，类似于使用正则表达式。</p>
<pre><code class="language-Python"># Import prompt and define PromptTemplate

from langchain import PromptTemplate

template = """
You are an expert data scientist with an expertise in building deep learning models. 
Explain the concept of {concept} in a couple of lines
"""

prompt = PromptTemplate(
    input_variables=["concept"],
    template=template,
)
     

# Run LLM with PromptTemplate

llm(prompt.format(concept="autoencoder"))
llm(prompt.format(concept="regularization"))
</code></pre>
<p>你可以通过不同的方式改变它们以适合你的用例。 如果你熟悉使用 ChatGPT，这对你来说应该很舒服。</p>
<h3 id="chains">Chains（链）</h3>
<p>链（Chains）允许你采用简单的 PromptTemplates 并在它们之上构建功能。本质上，链就像 <a href="https://www.freecodecamp.org/news/function-composition-in-javascript/">复合函数(composite functions)</a>，允许你将 PromptTemplates 和 LLM 集成在一起。</p>
<p>使用之前的装饰器(wrappers) 和 PromptTemplates，我们可以使用单个链运行相同的提示，该链采用 PromptTemplate 并将其与 LLM 组合：</p>
<pre><code class="language-Python"># Import LLMChain and define chain with language model and prompt as arguments.

from langchain.chains import LLMChain
chain = LLMChain(llm=llm, prompt=prompt)

# Run the chain only specifying the input variable.
print(chain.run("autoencoder"))
     
</code></pre>
<p>最重要的是，顾名思义，我们可以将它们链接在一起以创建更大的作品。</p>
<p>例如，我可以从一个链中获取结果并将其传递到另一个链中。 在此片段中，Rabbitmetrics 从第一个链中获取补全内容，并将其传递到第二个链中，以便向 5 岁的孩子解释。</p>
<p>然后，你可以将这些链组合成一个更大的链并运行它。</p>
<pre><code class="language-Python"># Define a second prompt 

second_prompt = PromptTemplate(
    input_variables=["ml_concept"],
    template="Turn the concept description of {ml_concept} and explain it to me like I'm five in 500 words",
)
chain_two = LLMChain(llm=llm, prompt=second_prompt)

# Define a sequential chain using the two chains above: the second chain takes the output of the first chain as input

from langchain.chains import SimpleSequentialChain
overall_chain = SimpleSequentialChain(chains=[chain, chain_two], verbose=True)

# Run the chain specifying only the input variable for the first chain.
explanation = overall_chain.run("autoencoder")
print(explanation)
</code></pre>
<p>通过链，你可以创建大量的功能，这就是 LangChain 如此多功能的原因。 但它真正的亮点在于将其与前面讨论的向量存储结合使用。 我们来介绍一下这个组件。</p>
<h3 id="embeddingsvectorstores">Embeddings（嵌入）和 Vector Stores（向量存储）</h3>
<p>这就是我们整合 LangChain 的自定义数据方面的地方。 如前所述，嵌入(embeddings) 和向量存储背后的想法是将大数据分成块并在相关时存储要查询的数据。</p>
<p>LangChain 有一个文本分割器函数(text splitter function) 可以做到这一点：</p>
<pre><code class="language-Python"># Import utility for splitting up texts and split up the explanation given above into document chunks

from langchain.text_splitter import RecursiveCharacterTextSplitter

text_splitter = RecursiveCharacterTextSplitter(
    chunk_size = 100,
    chunk_overlap  = 0,
)

texts = text_splitter.create_documents([explanation])
</code></pre>
<p>分割文本需要两个参数：块有多大 (chunk_size) 以及每个块重叠的程度 (chunk_overlap)。 每个块之间的重叠对于帮助识别相关的相邻块非常重要。</p>
<p>每个块都可以这样检索：</p>
<pre><code class="language-Python">texts[0].page_content
</code></pre>
<p>获得这些块后，我们需要将它们转化为嵌入(embeddings)。这允许向量存储在查询时查找并返回每个块。我们将使用 OpenAI 的 嵌入模型(embedding model) 来完成此操作。</p>
<pre><code class="language-Python"># Import and instantiate OpenAI embeddings

from langchain.embeddings import OpenAIEmbeddings

embeddings = OpenAIEmbeddings(model_name="ada")
     

# Turn the first text chunk into a vector with the embedding

query_result = embeddings.embed_query(texts[0].page_content)
print(query_result)
</code></pre>
<p>最后，我们需要有一个地方来存储这些 矢量化嵌入(vectorized embeddings)。如前所述，我们将为此使用 Pinecone。使用之前环境文件中的 API key，我们可以初始化 Pinecone 来存储我们的嵌入。</p>
<pre><code class="language-Python"># Import and initialize Pinecone client

import os
import pinecone
from langchain.vectorstores import Pinecone


pinecone.init(
    api_key=os.getenv('PINECONE_API_KEY'),  
    environment=os.getenv('PINECONE_ENV')  
)
     

# Upload vectors to Pinecone

index_name = "langchain-quickstart"
search = Pinecone.from_documents(texts, embeddings, index_name=index_name)
     

# Do a simple vector similarity search

query = "What is magical about an autoencoder?"
result = search.similarity_search(query)

print(result)
</code></pre>
<p>现在，我们能够从 Pinecone 向量存储中查询相关信息了！剩下要做的就是把我们学到的知识结合起来，创建我们的特定用例。这就是我们的专业人工智能 <code>Agents</code>。</p>
<h3 id="agents">Agents</h3>
<p>Agents 本质上是一种自主的人工智能，它接收输入并按顺序完成这些任务，直至达到最终目标。这就需要我们的人工智能使用其他应用程序接口，从而完成发送电子邮件或做数学题等任务。结合我们的 LLM + 提示链(prompt chains)，我们可以串联起一个合适的人工智能应用程序。</p>
<p>现在，要解释这部分内容会很费劲，因此这里有一个简单的例子，说明如何在 LangChain 中使用 Python Agents 来解决一个简单的数学问题。本例中的 Agents 通过连接我们的 LLM 来运行 Python 代码，并使用 NumPy 求根来解决问题：</p>
<pre><code class="language-Python"># Import Python REPL tool and instantiate Python Agents

from langchain.Agents.Agents_toolkits import create_python_Agents
from langchain.tools.python.tool import PythonREPLTool
from langchain.python import PythonREPL
from langchain.llms.openai import OpenAI

Agents_executor = create_python_Agents(
    llm=OpenAI(temperature=0, max_tokens=1000),
    tool=PythonREPLTool(),
    verbose=True
)
     

# Execute the Python Agents

Agents_executor.run("Find the roots (zeros) if the quadratic function 3 * x**2 + 2*x -1")
</code></pre>
<p>定制知识聊天机器人本质上是一个 Agents，它可以将查询向量化存储的 提示(prompts) 和操作串联起来，获取结果，并将其与原始问题串联起来！</p>
<p>如果你想了解更多关于人工智能 Agents 的信息，<a href="https://lablab.ai/t/ai-Agents-tutorial-how-to-use-and-create-them">这个</a> 是一个很好的资源。</p>
<h2 id="">别的因素</h2>
<p>即使你刚刚对 LangChain 的功能有了基本的了解，我相信你此时也会有很多想法。</p>
<p>但到目前为止，我们只研究了一个 OpenAI 模型，那就是基于文本的 GPT-3.5-turbo。OpenAI 有一系列模型可供 LangChain 使用，包括使用 Dall-E 生成图像。应用我们讨论过的相同概念，我们可以创建 <a href="https://julianlankstead.com/ai-nft-art-generator">人工智能艺术生成器</a> 代理、网站生成器代理等。</p>
<p>花点时间探索一下人工智能领域，我相信你会有越来越多的想法。</p>
<h2 id="">总结</h2>
<p>我希望你已经对所有这些新人工智能工具的幕后工作有了更多了解。作为一名程序员，了解 LangChain 的工作原理是一项宝贵的技能，它可以为你的人工智能开发带来无限可能。</p>
<p>如果你喜欢这篇文章，并想了解更多有关人工智能创造者们正在构建的新工具的信息，你可以通过我的 <a href="https://bytesizedai.beehiiv.com/subscribe">Byte-Sized AI Newsletter</a> 随时了解最新信息。我希望你能加入我们的社区。</p>
<p>你也可以在<a href="https://twitter.com/Shuggggan">Twitter</a> 上关注我，我们也可以在那里保持联系。</p>
<p>除此之外，请开始尝试使用 LangChain 并创建一些有趣的人工智能项目。</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 如何使用 LangChain 创建人工智能推文生成器 ]]>
                </title>
                <description>
                    <![CDATA[ 今天我给大家带来了一个有趣的教程。如果你读过我上一篇关于使用 LangChain 构建自定义知识聊天机器人 [/news/langchain-how-to-create-custom-knowledge-chatbots/] 的文章，那么你一定对自己可以创建的伟大项目充满了想法。 好的，我想鼓励你的创造力，并举例说明使用 LangChain 和大型语言模型（LLM）可以创建什么。虽然听起来有点吓人，但实际上实现起来非常简单。 今天，我们将使用 LangChain 和 OpenAI 的 LLM 创建一个 AI Tweet 生成器。这是一个简单的项目，它接收一个 Tweet 主题并输出相关的 Tweet。 这有什么特别的？有趣的是，我们将使用 LangChain 通过维基百科上的最新信息。这让我们克服了 ChatGPT 的训练数据限制，因为它只能在 2021 年之前的数据上进行训练。 这就是我们要做的： 请看下面我们的推特所引用的信息。它使用了维基百科关于微软在 2023 年对 OpenAI 进行投资的信息。因此，现在你不必担心你的人工智能所引用的数据会过时了。 如果你 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/create-an-ai-tweet-generator-openai-langchain/</link>
                <guid isPermaLink="false">6525fbf3c8bb7703fa0287e1</guid>
                
                    <category>
                        <![CDATA[ 人工智能 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ AI ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ luojiyin ]]>
                </dc:creator>
                <pubDate>Tue, 10 Oct 2023 01:43:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2023/10/cover.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/create-an-ai-tweet-generator-openai-langchain/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Create an AI Tweet Generator Using LangChain</a>
      </p><!--kg-card-begin: markdown--><p>今天我给大家带来了一个有趣的教程。如果你读过我上一篇关于使用 LangChain 构建<a href="https://chinese.freecodecamp.org/news/langchain-how-to-create-custom-knowledge-chatbots/">自定义知识聊天机器人</a>的文章，那么你一定对自己可以创建的伟大项目充满了想法。</p>
<p>好的，我想鼓励你的创造力，并举例说明使用 LangChain 和大型语言模型（LLM）可以创建什么。虽然听起来有点吓人，但实际上实现起来非常简单。</p>
<p>今天，我们将使用 LangChain 和 OpenAI 的 LLM 创建一个 AI Tweet 生成器。这是一个简单的项目，它接收一个 Tweet 主题并输出相关的 Tweet。</p>
<p>这有什么特别的？有趣的是，我们将使用 LangChain 通过维基百科上的最新信息。这让我们克服了 ChatGPT 的训练数据限制，因为它只能在 2021 年之前的数据上进行训练。</p>
<p>这就是我们要做的：</p>
<p><img src="https://lh4.googleusercontent.com/B-AqnuHPFtkT010tllL0VZlbZRK-wasEjUwl8a5yzDRCuG3VYRt8hz1QPC3tz1F_vnDSXwHM8gJNIbM9jFcGbnz1uu4OSQB-hTVSuDYULlfVRWlQfewvFpS4-XF8pkMn37Gu5Au4liSxujehfV7uCWg" alt="B-AqnuHPFtkT010tllL0VZlbZRK-wasEjUwl8a5yzDRCuG3VYRt8hz1QPC3tz1F_vnDSXwHM8gJNIbM9jFcGbnz1uu4OSQB-hTVSuDYULlfVRWlQfewvFpS4-XF8pkMn37Gu5Au4liSxujehfV7uCWg" width="600" height="400" loading="lazy"></p>
<p>请看下面我们的推特所引用的信息。它使用了维基百科关于微软在 <strong>2023 年</strong>对 OpenAI 进行投资的信息。因此，现在你不必担心你的人工智能所引用的数据会过时了。</p>
<p><img src="https://lh6.googleusercontent.com/r5CxHduLOViifkCaI2R84nl-n26rGVHnJCOa3Rgpt_WqXlyL9O7Hnar52p0yGLhKNhe3F5F3X6CNM98-0oJBeBXQ8IvQvNgTZirblgs5lSU4j8G9X_X1ROgoPd06vIGhLd_mdmWyEZzAtrC5ESSXvZA" alt="r5CxHduLOViifkCaI2R84nl-n26rGVHnJCOa3Rgpt_WqXlyL9O7Hnar52p0yGLhKNhe3F5F3X6CNM98-0oJBeBXQ8IvQvNgTZirblgs5lSU4j8G9X_X1ROgoPd06vIGhLd_mdmWyEZzAtrC5ESSXvZA" width="600" height="400" loading="lazy"></p>
<p>如果你觉得听起来不错，那我们就开始吧。</p>
<h2 id="">如何设置项目</h2>
<p>虽然这个项目需要多个组件，但实际上所有内容都可以很好地整合到一个 app.py 文件中，该文件只需将多个 API 整合在一起即可。</p>
<p>在结构上，我们只需创建 app.py 文件和 apikey.py 文件来存储 API key（主要用于 <a href="https://openai.com/blog/openai-api">OpenAI</a>）。</p>
<p>此外，我们还要安装的库。以下是我们将在本项目中使用的库列表：</p>
<ul>
<li><strong>Streamlit</strong> – Used to build the app（用于构建应用程序）</li>
<li><strong>LangChain</strong> – Used to build LLM workflow（用于建立 LLM 工作流程）</li>
<li><strong>OpenAI</strong> – For using OpenAI GPT（调用 OpenAI GPT 接口）</li>
<li><strong>Wikipedia</strong> – Used to connect GPT to WIKIPEDIA（用于连接 GPT 和 WIKIPEDIA）</li>
<li><strong>ChromaDB</strong> – Vector storage（向量存储)）</li>
<li><strong>Tiktoken</strong> – Backend tokenizer for OpenAI（OpenAI 的后台令牌生成器）</li>
</ul>
<p>要安装这些软件，请在终端运行以下命令：</p>
<pre><code class="language-shell">pip install streamlit langchain openai wikipedia chromadb tiktoken
</code></pre>
<p>如果你的系统已经包含其中一些服务，则可以逐一安装。此外，我们还将为该环境配置 API Key 变量。将这些内容导入 app.py 文件后，我们就可以开始了。</p>
<pre><code class="language-Python">import os 
from apikey import apikey 

import streamlit as st 
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain, SequentialChain 
from langchain.memory import ConversationBufferMemory
from langchain.utilities import WikipediaAPIWrapper

os.environ['OPENAI_API_KEY'] = apikey
</code></pre>
<h2 id="">如何实现用户界面</h2>
<p>现在，我们要创建的应用程序相当简单。因此，我决定尽可能简化用户界面，只使用一个标题和文本输入框。对于这个 Tweet 生成器来说，这已经达到了目的。</p>
<pre><code class="language-Python"># Creating the title and input field
st.title('🦜🔗 Tweet Generator')
prompt = st.text_input('Tweet topic: ')
</code></pre>
<p>稍后，我们将添加功能来显示我们的话题历史、推特历史，以及最重要的，我们引用的维基百科数据。现在，这就是我们要使用的用户界面：</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/06/Screenshot-2023-06-21-at-4.38.00-PM.png" alt="Screenshot-2023-06-21-at-4.38.00-PM" width="600" height="400" loading="lazy"></p>
<h2 id="">如何包含提示模板</h2>
<p>现在，我们将进入 LangChain 领域。在这一点上，如果你对 LangChain 不熟悉，也没有阅读过我关于 LangChain 的 <a href="https://www.freecodecamp.org/news/langchain-how-to-create-custom-knowledge-chatbots/">上一篇文章</a>，我强烈建议你阅读一下，以便更好地了解接下来的步骤。</p>
<p>我们要做的第一件事就是介绍 PromptTemplates。概括地说，PromptTemplates 是提示语的封装器，可以通过多种操作将它们串联起来，这也是 LangChain 的基础。</p>
<p>此外，我们还将为维基百科应用程序接口（Wikipedia API）提供一个封装，以便在链式执行中包含数据。</p>
<pre><code class="language-Python"># template for the title
title_template = PromptTemplate(
    input_variables = ['topic'], 
    template='write me a tweet about {topic}'
)

# template for the tweet
tweet_template = PromptTemplate(
    input_variables = ['title', 'wikipedia_research'], 
    template='write me a tweet on this title TITLE: {title} while leveraging this wikipedia reserch:{wikipedia_research} '
)

# wrapper for Wikipedia data
wiki = WikipediaAPIWrapper()
</code></pre>
<p>在这个例子中，我还创建了一个 标题提示（title prompt），为我们的推文主题提供一个总标题。至于实际的提示，如果你一直在使用 ChatGPT，它的概念基本相同，只是现在我们引入了变量（推特话题）。</p>
<p>这样我们就可以避免每次输入时都输入 <code>给我写一条关于...的推文</code>。相反，我们只需插入话题即可。说完这些，让我们开始介绍实际的 OpenAI LLM。</p>
<h2 id="introducingopenaisllms">Introducing OpenAI's LLMs</h2>
<p>有几种方法可以做到这一点，你可以选择自己认为合适的模式。在上一篇文章中，我使用了 GPT-3.5-turbo <a href="https://python.langchain.com/docs/modules/model_io/models/chat/integrations/openai">chat model</a>，代码如下：</p>
<pre><code class="language-Python">chat = ChatOpenAI(model_name="gpt-3.5-turbo",temperature=0.3)
messages = [
    SystemMessage(content="You are an expert data scientist"),
    HumanMessage(content="Write a Python script that trains a neural network on simulated data ")
]
</code></pre>
<p>不过，你可以根据自己的 API 密钥决定使用哪个模块，然后按照 <a href="https://python.langchain.com/docs/modules/model_io/models/llms/integrations/openai">LangChain 文档</a> 进行设置即可。</p>
<p>今天，我们将使用 "text-davinci-003 "模型，它与 ChatGPT 早期的 GPT-3 模型基本相同。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/06/Screenshot-2023-06-22-at-12.17.17-PM.png" alt="Screenshot-2023-06-22-at-12.17.17-PM" width="600" height="400" loading="lazy"></p>
<p>上图是 OpenAI 的各种模型（见其<a href="https://platform.openai.com/docs/models/overview">网站</a>）。</p>
<p>你可以随意尝试使用这些模型，看看哪种推文能产生最好的结果。你甚至可以尝试功能更强大（也更昂贵）的 GPT-4，但对于像推文生成器这样简单的提示完成案例，可能就没有必要了。</p>
<pre><code class="language-Python">llm = OpenAI(model_name="text-davinci-003", temperature=0.9) 
title_chain = LLMChain(llm=llm, prompt=title_template, verbose=True, output_key='title', memory=title_memory)
script_chain = LLMChain(llm=llm, prompt=script_template, verbose=True, output_key='script', memory=script_memory)
</code></pre>
<p>我还决定将 <code>temperature</code> 设定为 0.9，以便让模型发表更有创意的推文。<code>temperature</code> 可以衡量模型回复的随机性和创造性，0 代表简单明了，1 代表随机性极强。如果你希望你的回应更符合事实和确定性，只需调低 <code>temperature</code> 即可。</p>
<p><code>temperature</code> 将是我们进行这项工作所需的唯一变量。如果你想了解其他字段，请花些时间阅读文档，了解它们的含义。</p>
<p>例如，我们可以指定令牌限制(token limits)，以确保不会得到冗长的响应，但使用我们当前的 tweet 提示模板应该不成问题。</p>
<h2 id="tweet">如何跟踪你的 Tweet 生成历史</h2>
<p>这是一个可选部分，但可为应用程序提供额外功能。如果你想跟踪应用程序活动的历史记录，包括以前的标题或推文等信息，则只需包含以下步骤即可：</p>
<pre><code class="language-Python"># Memory 
title_memory = ConversationBufferMemory(input_key='topic', memory_key='chat_history')
script_memory = ConversationBufferMemory(input_key='title', memory_key='chat_history')
</code></pre>
<p>在上面的代码中，我们创建了两个不同的内存变量：<code>title_memory</code> 和 <code>script_memory</code>。<code>title_memory</code> 保存推文主题的历史记录，<code>script_memory</code> 保存推文的历史记录。</p>
<p><a href="https://python.langchain.com/docs/modules/memory/how_to/buffer">ConversationBufferMemory</a> 是 LangChain 的一项功能，它允许你跟踪迄今为止的输入和输出（在本例中，这只是我们之前生成的话题和推文）。</p>
<h2 id="">如何将组件串联起来</h2>
<p>现在，我们已经对应用程序的所有组件（用户界面、提示模板和维基百科封装器）进行了分类，可以将它们组合在一起执行了。这正是 LangChain 的价值所在。</p>
<p>标准程序中的 复合函数（composite functions）就是一个很好的类比。只不过，这里的函数是 PromptTemplates、LLMs 和 Wikipedia 数据。使用之前的封装器，我们只需决定执行顺序（就像一个链条），就能获得我们想要的输出。</p>
<p>在本例中，首先从我们的主题中获取标题，然后使用维基百科对该主题的相关研究创建 Tweet，最后使用 Streamlit 显示这些内容。</p>
<pre><code class="language-Python">if prompt: 
    title = title_chain.run(prompt)  # Running the title prompt
    wiki_research = wiki.run(prompt)  # Performing wikipedia research
    script = script_chain.run(title=title, wikipedia_research=wiki_research) # Creating the tweet

    st.write(title)  # Show the topic/title of the tweet
    st.write(script)  # Show the generated tweet

    with st.expander('Title History'): 
        st.info(title_memory.buffer)   # Storing the topic of the tweet to the history

    with st.expander('Tweet History'): 
        st.info(script_memory.buffer)  # Storing the tweet to the history

    with st.expander('Wikipedia Research'): 
        st.info(wiki_research)  # Storing the Wikipedia Research on the topic to the history
</code></pre>
<p>当我们运行 这些链（those chain）时，基本上是从用户界面获取话题，然后将其插入到与 LLM 相连的 PromptTemplate 中。推文 PromptTemplate 也会从维基百科中获取数据，并输入到 LLM 中。</p>
<p>最后，是时候检查我们的应用程序了。使用以下命令运行它：</p>
<pre><code class="language-shell">streamlit run app.py
</code></pre>
<h2 id="">最终代码和下一步行动</h2>
<p>其结果是能够克服 ChatGPT 过时的信息限制，并创建相关推文。如果你觉得难以理解，下面是我们目前掌握的情况：</p>
<pre><code class="language-Python"># Importing necessary packages, files and services
import os 
from apikey import apikey 

import streamlit as st 
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain, SequentialChain 
from langchain.memory import ConversationBufferMemory
from langchain.utilities import WikipediaAPIWrapper

os.environ['OPENAI_API_KEY'] = apikey

# App UI framework
st.title('🦜🔗 Tweet Generator')
prompt = st.text_input('Tweet topic: ') 

# Prompt templates
title_template = PromptTemplate(
    input_variables = ['topic'], 
    template='write me a tweet about {topic}'
)

tweet_template = PromptTemplate(
    input_variables = ['title', 'wikipedia_research'], 
    template='write me a tweet on this title TITLE: {title} while leveraging this wikipedia reserch:{wikipedia_research} '
)

# Wikipedia data
wiki = WikipediaAPIWrapper()

# Memory 
title_memory = ConversationBufferMemory(input_key='topic', memory_key='chat_history')
tweet_memory = ConversationBufferMemory(input_key='title', memory_key='chat_history')


# Llms
llm = OpenAI(model_name="text-davinci-003", temperature=0.9) 
title_chain = LLMChain(llm=llm, prompt=title_template, verbose=True, output_key='title', memory=title_memory)
tweet_chain = LLMChain(llm=llm, prompt=tweet_template, verbose=True, output_key='script', memory=tweet_memory)

# Chaining the components and displaying outputs
if prompt: 
    title = title_chain.run(prompt)
    wiki_research = wiki.run(prompt) 
    tweet = tweet_chain.run(title=title, wikipedia_research=wiki_research)

    st.write(title) 
    st.write(tweet) 

    with st.expander('Title History'): 
        st.info(title_memory.buffer)

    with st.expander('Tweet History'): 
        st.info(tweet_memory.buffer)

    with st.expander('Wikipedia Research'): 
        st.info(wiki_research)
</code></pre>
<p>当然，Tweet 生成器只是 LangChain 和 LLMs 的一个简单示例。例如，你还可以应用相同的流程创建 YouTube 脚本生成器或社交媒体内容日历助手，无限可能。</p>
<h2 id="">总结</h2>
<p>希望你喜欢这个有趣的教程！LangChain 最近非常流行，这是有原因的--它的用途非常广泛。我强烈推荐你去看看。</p>
<p>如果你喜欢这篇文章，并想了解更多关于人工智能创造者正在开发的新工具的信息，你可以通过我的<a href="https://bytesizedai.beehiiv.com/subscribe"><strong>字节大小的人工智能通讯</strong></a>了解最新信息。这里有大量关于人工智能领域的精彩故事，我希望你能加入我们的社区。</p>
<p>我也会定期在 <a href="https://www.linkedin.com/in/shanepduggan/">Linkedin</a> 上发帖，我很乐意与你联系！除此之外，祝大家享受创建项目的过程，我很期待看到你们分享的项目。</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 脑启发式人工智能方法——面向开发人员的介绍 ]]>
                </title>
                <description>
                    <![CDATA[ > “我们的智慧是使我们成为人类的原因，而人工智能是这种品质的延伸。” – 杨立昆（Yann LeCun） 自从神经网络（也被称为人工神经网络）出现以来，人工智能行业取得了无与伦比的成功。神经网络是现代人工智能系统背后的驱动力并且它们是以人脑为模型的。 现代人工智能研究涉及创建和实施旨在模仿人脑神经过程的算法。他们的目标是创造出与人类相似的学习和行动方式的系统。 在这篇文章中，我们将试图了解构建人工智能系统的大脑启发方法。 下面是我们要讲的内容：  1. 我们将如何处理这个问题            2. [大脑启发式人工智能方法的历史](#The-history-of-the-brain-inspired-approach toai)            3. [人脑如何工作以及它与人工智能系统的关系](#How-the-human-brain-works and how-it-s related     toai-systems)    ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/the-brain-inspired-approach-to-ai/</link>
                <guid isPermaLink="false">64859f403c820a06f4b65a5d</guid>
                
                    <category>
                        <![CDATA[ 人工智能 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp.org ]]>
                </dc:creator>
                <pubDate>Fri, 09 Jun 2023 04:30:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2023/06/pexels-tara-winstead-8386365.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/the-brain-inspired-approach-to-ai/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">The Brain-Inspired Approach to AI – Explained for Developers</a>
      </p><!--kg-card-begin: markdown--><blockquote>
<p>“我们的智慧是使我们成为人类的原因，而人工智能是这种品质的延伸。” – 杨立昆（Yann LeCun）</p>
</blockquote>
<p>自从神经网络（也被称为人工神经网络）出现以来，人工智能行业取得了无与伦比的成功。神经网络是现代人工智能系统背后的驱动力并且它们是以人脑为模型的。</p>
<p>现代人工智能研究涉及创建和实施旨在模仿人脑神经过程的算法。他们的目标是创造出与人类相似的学习和行动方式的系统。</p>
<p>在这篇文章中，我们将试图了解构建人工智能系统的大脑启发方法。</p>
<p>下面是我们要讲的内容：</p>
<ol>
<li>
<p><a href="#How-we-ll-approach-this">我们将如何处理这个问题</a></p>
</li>
<li>
<p>[大脑启发式人工智能方法的历史](#The-history-of-the-brain-inspired-approach toai)</p>
</li>
<li>
<p>[人脑如何工作以及它与人工智能系统的关系](#How-the-human-brain-works and how-it-s related toai-systems)</p>
</li>
<li>
<p>[大脑启发式人工智能方法背后的核心原则](#core-principles-behind-the-brain-inspired-approach toai)</p>
</li>
<li>
<p><a href="#challenges-in-building-brain-inspired-ai-systems">构建大脑启发式人工智能系统的挑战</a></p>
</li>
<li>
<p><a href="#summary">总结</a></p>
</li>
</ol>
<h2 id="How-we-ll-approach-this">我们将如何处理这个问题</h2>
<p>本文将首先介绍研究人员如何开始模拟人工智能以模仿人脑的背景历史，最后讨论研究人员目前在试图模仿人脑时面临的挑战。下面是对每一节内容的深入描述。</p>
<p>值得注意的是，虽然这个话题本身是一个广泛的话题，但我将尽量简短扼要，以使读者能够理解。我计划将那些有更多复杂的子分支的子课题作为独立的文章来处理。我还会在文章末尾留下参考文献。</p>
<p>以下是我们将涵盖的内容的一个简要概要：</p>
<p><strong>大脑启发的人工智能方法的历史：</strong> 这里我们将讨论科学家诺曼-韦纳和沃伦-麦库洛赫（Norman Weiner and Warren McCulloch）是如何实现神经科学和计算机科学的融合的。我们还将讨论弗兰克-罗森布拉特（Frank Rosenblatt）的感知器（Perceptron）是如何首次真正尝试模仿人类智能的。我们将了解它的失败如何带来了开创性的工作，这些工作将成为神经网络的平台。</p>
<p><strong>人脑是如何工作的，以及它与人工智能系统的关系：</strong> 在这一节中，我们将深入探讨人工智能的大脑启发方法的生物学基础。我们将讨论人脑的基本结构和功能，了解其核心构件--神经元，以及它们如何共同处理信息并实现复杂的行动。</p>
<p><strong>大脑启发式人工智能方法背后的核心原则：</strong> 这里我们将讨论大脑启发式人工智能方法背后的基本概念。我们将解释诸如神经网络、分层处理和可塑性等概念。我们还将学习并行处理、分布式表征和递归反馈等技术如何帮助人工智能模仿大脑的运作。</p>
<p><strong>以人脑为模型构建人工智能系统的挑战：</strong> 在此我们将谈论试图构建模仿人脑的系统所固有的挑战和限制。诸如大脑的复杂性，以及缺乏统一的认知理论等挑战，我们将探讨这些挑战和限制的解决方式。</p>
<p>让我们开始吧！</p>
<h2 id="The-history-of-the-brain-inspired-approach toai">大脑启发的人工智能方法的历史</h2>
<p>建造能够进行智能行为的机器的动力要归功于麻省理工学院教授<a href="https://en.wikipedia.org/wiki/Norbert_Wiener">诺伯特-韦纳（Norbert Weiner）</a>的启发。诺伯特-韦纳是个神童，三岁就能阅读。他在数学、神经生理学、医学和物理学等各个领域都有广泛的知识。</p>
<p>诺伯特-韦纳认为，科学的主要机会在于探索他所称的_边界区域_。这些研究领域并不明显属于某个学科，而是各种学科的混合体，比如医学和工程学的研究走到一起，形成了医学工程领域。引用他的话说就是：</p>
<blockquote>
<p>“如果一个生理学问题的难点本质上是数学问题，那么十个不懂数学的生理学家与一个不懂数学的生理学家在这个问题上的研究深度是一样的。”</p>
</blockquote>
<p>1934年，韦纳和其他几位学者每月聚会，讨论涉及边界区域科学的论文。</p>
<p><img src="https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc008a7-d0e0-4d6f-83ed-ab2a320263e0_2048x1251.jpeg" alt="https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc008a7-d0e0-4d6f-83ed-ab2a320263e0_2048x1251" width="600" height="400" loading="lazy"></p>
<p>他将其描述为“对半生不熟的想法、不充分的自我批评、夸大的自信和浮夸的完美宣泄”。</p>
<p>从这些会议和他自己的个人研究中，韦纳了解到关于生物神经系统的新研究，以及关于电子计算机的先驱工作。</p>
<p>他的自然倾向是融合这两个领域，因此形成了神经科学和计算机科学之间的关系。这种关系成为创造我们所知道的人工智能的基石。</p>
<p>二战后，维纳开始形成关于人类和机器智能的理论，这个新领域被命名为 <a href="https://en.wikipedia.org/wiki/Cybernetics"><em>Cybernetics</em></a>。维纳对控制论的探索成功地让科学家们讨论了生物学与工程学融合的可能性。</p>
<p>其中一位科学家是一位名叫 <a href="https://en.wikipedia.org/wiki/Warren_Sturgis_McCulloch">Warren McCulloch</a> 的神经生理学家。他从哈弗福德大学退学，去耶鲁大学学习哲学和心理学。在纽约参加一个科学会议时，他发现了同事写的关于生物反馈机制的论文。</p>
<p>其中一位科学家是一位名叫 <a href="https://en.wikipedia.org/wiki/Warren_Sturgis_McCulloch">Warren McCulloch</a> 的神经生理学家。他从哈弗福德大学退学，去耶鲁大学学习哲学和心理学。在纽约参加一个科学会议时，他发现了同事写的关于生物反馈机制的论文。</p>
<p>第二年，麦考洛克与他18岁的天才门生沃尔特-皮茨（Walter Pitts）合作，提出了一个关于大脑如何工作的理论。这一理论将有助于培养一种广泛的观念，即计算机和大脑的运作方式基本相同。</p>
<p>他们的结论是基于麦库洛赫对神经元处理二进制数的可能性的研究（计算机通过二进制数进行通信）。这一理论成为第一个人工神经网络模型的基础，该模型被命名为McCulloch-Pitts神经元（MCP）。</p>
<p>MCP成为创建第一个神经网络的基础，被称为<a href="https://edemgold.substack.com/p/the-history-of-ai">感知器</a>。感知器是由心理学家<a href="https://en.wikipedia.org/wiki/Frank_Rosenblatt">弗兰克-罗森布拉特</a>创造的。受大脑中突触的启发，他决定，既然人脑可以通过突触（神经元之间的交流）来处理和分类信息，那么数字计算机或许也可以通过神经网络做同样的事情。</p>
<p>感知器本质上将MCP神经元从一个人工神经元扩展为一个神经元网络。但不幸的是，感知器有一些技术挑战，限制了它的实际应用。这些限制中最明显的是它不能进行复杂的操作（比如在一个以上的项目之间进行分类--例如，感知器不能在猫、狗和鸟之间进行分类）。</p>
<p>1969年，<a href="https://en.wikipedia.org/wiki/Marvin_Minsky">Marvin Minsky</a> 和 <a href="https://en.wikipedia.org/wiki/Seymour_Papert">Seymour Papert</a> 出版了一本名为_Perceptron_的书，详细阐述了Perceptron的缺陷。正因为如此，人工神经网络的研究停滞不前，直到<a href="https://en.wikipedia.org/wiki/Paul_Werbos">Paul Werbos</a>提出了反向传播法。</p>
<p>逆向传播希望能够解决当时阻碍神经网络工业应用的复杂数据分类问题。它的灵感来自于突触可塑性--大脑修改神经元之间连接强度的方式，从而提高性能。</p>
<p>反向传播的设计是为了模仿大脑中通过一个称为权重调整的过程加强神经元之间的连接。</p>
<p>尽管Paul Werbos提出了早期的建议，但反向传播的概念只是在<a href="https://en.wikipedia.org/wiki/David_Rumelhart">David Rumelheart</a>、<a href="https://en.wikipedia.org/wiki/Geoffrey_Hinton">Geoffrey Hinton</a>和<a href="https://en.wikipedia.org/wiki/Ronald_J._Williams">Ronald Williams</a>等研究人员发表论文证明其对训练神经网络的有效性后才得到广泛的采纳。</p>
<p>反向传播的实施导致了深度学习的产生，它为世界上大多数的人工智能系统提供了动力。</p>
<blockquote>
<p>“人比今天的计算机更聪明，因为大脑采用了一种基本的计算架构，更适合处理人们擅长的自然信息处理任务的核心方面。” - 并行分布式处理</p>
</blockquote>
<h2 id="How-the-human-brain-works and how-it-s related toai-systems">人脑如何工作以及它与人工智能系统的关系</h2>
<figure class="kg-card kg-card-image kg-card-hascaption">
    <img src="https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8360703d-bbe7-4637-ba4a-5e898d5e3110_602x376.png" alt="大脑细胞如何处理信息的图解" class="kg-image" width="600" height="400" loading="lazy">
    <figcaption>大脑细胞如何处理信息的图解</figcaption>
</figure>
<p>我们已经讨论了研究人员如何开始对人工智能进行建模以模仿人脑。现在让我们来看看大脑是如何工作的，并定义大脑和人工智能系统之间的关系。</p>
<h3 id="">大脑如何工作--简化描述</h3>
<p>人类的大脑基本上是通过使用神经元来处理思想。一个神经元由3个核心部分组成：树突、轴突和躯干。</p>
<p>树突负责接收来自其他神经元的信号。躯干负责处理从树突收到的信息，而轴突负责将处理过的信息传递给下一个树突。</p>
<p>为了掌握大脑如何处理思维，想象一下你看到一辆汽车向你驶来。你的眼睛立即通过光神经向你的大脑发送电信号。然后大脑形成一个神经元链，对传入的信号进行理解。</p>
<p>因此，链条上的第一个神经元通过它的<strong>树突收集信号，并将其发送到</strong>体细胞来处理信号。体细胞完成任务后，它将信号发送到**轴突，然后将其发送到链中下一个神经元的树突。</p>
<p>轴突和树突在传递信息时的连接被称为突触。因此，整个过程一直持续到大脑找到一个突触输入（这是科学术语，指大脑继续处理，直到它找到对发送到它的信号的最佳反应）。然后它向必要的效应器发送信号，例如你的腿，然后大脑向你的腿发送信号，让你从迎面而来的汽车中跑开。</p>
<h3 id="">大脑和人工智能系统之间的关系</h3>
<p>大脑和人工智能之间的关系在很大程度上是互利的。大脑是人工智能系统设计和人工智能进展背后的主要灵感来源，使人们更好地了解大脑和它的工作方式。</p>
<p>当涉及到大脑和人工智能时，存在着知识和想法的互惠交流。有几个例子可以证明这种关系的积极共生性质：</p>
<ul>
<li>
<p><strong>神经网络：</strong> 可以说，人脑对人工智能领域产生的最重大影响是神经网络的产生。从本质上讲，神经网络是模仿生物神经元功能和结构的计算模型。神经网络的架构及其学习算法在很大程度上受到大脑中神经元互动和适应方式的启发。</p>
</li>
<li>
<p><strong>大脑模拟：</strong> 人工智能系统已被用于<a href="https://www.frontiersin.org/articles/10.3389/fncom.2020.00016/full">模拟</a>人脑，研究其与物理世界的互动。例如，研究人员利用机器学习技术来模拟参与视觉处理的生物神经元的活动。其结果使人们对大脑如何处理视觉信息有了深入了解。</p>
</li>
<li>
<p><strong>对大脑的见解：</strong> 研究人员已经开始使用机器学习算法来分析和获得对大脑数据和fMRI扫描的见解。这些洞察力有助于识别模式和关系，否则这些模式和关系将被隐藏起来。这些见解可以帮助我们了解内部认知功能、记忆和决策。它们还有助于治疗大脑原生疾病，如阿尔茨海默氏症。</p>
</li>
</ul>
<h2 id="core-principles-behind-the-brain-inspired-approach toai">大脑启发的人工智能方法背后的核心原则</h2>
<p>在这里，我们将讨论帮助人工智能模仿人脑运作方式的几个概念。这些概念帮助人工智能研究人员创造了更强大的智能系统，能够执行复杂的任务。</p>
<h3 id="">神经网络</h3>
<p>如前所述，神经网络可以说是从人脑中获得了最重要的灵感，并对人工智能领域产生了最大的影响。</p>
<p>从本质上讲，神经网络是模仿生物神经元功能和结构的计算模型。这些网络是由各层相互连接的节点组成的，这些节点被称为人工神经元，有助于信息的处理和传输。这类似于生物神经网络中的树突、体节和轴突所做的事情。</p>
<p>神经网络的架构是为了从过去的经验中学习，与大脑的方式相同。</p>
<h3 id="">分布式表征</h3>
<p>分布式表征只是将神经网络中的概念或想法作为一种模式，沿着网络中的几个节点进行编码，以便形成一种模式。</p>
<p>例如，吸烟的概念可以用神经网络中的某一组节点来表示（编码）。因此，如果一个网络遇到一个人吸烟的图像，它就会使用这些选定的节点来理解这个图像（它比这复杂得多，但为了简单起见，我们就不说了）。</p>
<p>这种技术有助于人工智能系统记住复杂的概念或概念之间的关系，与大脑识别和记住复杂刺激的方式相同。</p>
<h3 id="">循环反馈</h3>
<p>这是一种用于训练人工智能模型的技术，神经网络的输出被作为输入返回，以允许网络在训练中整合其输出作为额外的数据输入。这类似于大脑如何利用反馈环路，以便根据以前的经验调整其模型。</p>
<h3 id="">并行处理</h3>
<p>并行处理包括将复杂的计算任务分解成更小的比特，以便在另一个处理器上处理这些更小的比特，从而提高速度。这种方法使人工智能系统能够更快地处理更多的输入数据，类似于大脑能够在同一时间执行不同的任务（多任务）。</p>
<h3 id="">注意机制</h3>
<p>这是一种用于使人工智能模型专注于输入数据的特定部分的技术。它通常被用于自然语言处理等部门，其中包含复杂和繁琐的数据。</p>
<p>它的灵感来自于大脑的能力，即只关注大部分分散注意力的环境中的特定部分--就像你在嘈杂的对话中调整到一个对话并进行互动的能力。</p>
<h3 id="">强化学习</h3>
<p>强化学习是一种用于训练人工智能系统的技术。它的灵感来自于人类如何通过试验和错误学习技能。它涉及到一个人工智能代理根据其行动接受奖励或惩罚。这使代理人能够从其错误中学习，并在其未来的行动中更有效率（这种技术通常用于创建游戏）。</p>
<h3 id="">无监督学习</h3>
<p>大脑不断接收新的数据流，其形式包括声音、视觉内容、皮肤的感觉等等。它必须对这一切进行理解，并试图对所有这些看似不相干的事件如何影响其物理状态形成一个连贯的、符合逻辑的理解。</p>
<p>以这个比喻为例：你感觉到水滴在你的皮肤上，你听到水滴在屋顶上迅速下降的声音，你感觉到你的衣服越来越重，在那一瞬间，你知道雨正在下降。</p>
<p>然后你搜索你的记忆库，确定你是否带了一把伞。如果你带了，你就没事，否则你就检查一下从你现在的位置到你的家的距离。如果很近，你就没事，否则你就试着估量一下雨势会有多大。如果是小雨，你可以尝试继续回你的家，但如果雨势越来越大，那么你就必须找到避难所。</p>
<p>对看似不同的数据点（水、声音、感觉、距离）进行理解的能力在人工智能中以一种叫做无监督学习的技术形式实现。这是一种人工智能训练技术，在这种技术中，人工智能系统被教导对原始的、非结构化的数据进行理解，而没有明确的标签（没有人告诉你雨在落下，对吗？）</p>
<h2 id="challenges-in-building-brain-inspired-ai-systems">构建大脑启发的人工智能系统所面临的挑战</h2>
<p>到目前为止，你已经了解了研究人员是如何利用大脑作为人工智能系统的灵感的。我们还讨论了大脑与人工智能的关系，以及大脑启发的人工智能背后的核心原则。</p>
<p>在这一节中，我们将讨论在建立以人脑为模型的人工智能系统中所固有的一些技术和概念挑战。</p>
<h3 id="">复杂度</h3>
<p>这是一个相当艰巨的挑战。大脑启发式人工智能的方法是基于对大脑的建模，并根据该模型构建人工智能系统。但人脑是一个固有的复杂系统，有1000亿个神经元和大约600万亿个突触连接（每个神经元平均有10000个与其他神经元的突触连接）。这些突触不断地以动态和不可预知的方式进行互动。</p>
<p>建立旨在模仿甚至超越这种复杂性的人工智能系统本身就是一个挑战，需要同样复杂的统计模型。</p>
<h3 id="">训练大型模型的数据要求</h3>
<p>Open AI的GPT 4，目前是基于文本的AI模型的最前沿，需要47G字节的数据。相比之下，其前身GPT3是在17千兆字节的数据上训练的，大约低了3个数量级。想象一下，GPT5将在多少数据上进行训练。</p>
<p>为了获得可接受的结果，大脑启发的人工智能系统需要大量的任务数据，特别是听觉和视觉任务。这就对数据收集管道的建立给予了很大的重视。例如，特斯拉有7.8亿英里的驾驶数据，其数据收集管道每10小时就会增加一百万英里。</p>
<h3 id="">能源效率</h3>
<p>建立模仿大脑能效的大脑启发式人工智能系统是一个巨大的挑战。人类的大脑大约消耗20瓦特的能量。相比之下，特斯拉的自动驾驶仪，在专门的芯片上，每秒消耗约2500瓦，<a href="https://ts2.space/en/exploring-the-environmental-footprint-of-gpt-4-energy-consumption-and-sustainability/#:~:text=The%20paper%20found%20the,hours%20(MWh)%20%20energy%E3%80%82">它需要大约</a> 7.5兆瓦时（MWh）来训练一个ChatGPT大小的人工智能模型。</p>
<h3 id="">可解释性问题</h3>
<p>开发可以被用户信任的大脑启发的人工智能系统，对于人工智能的发展和采用至关重要--但问题就在这里。</p>
<p>人工智能系统所要模仿的大脑，本质上是一个黑盒子。大脑的内部运作并不容易理解，部分原因是缺乏围绕大脑如何处理思维的信息。</p>
<p>对人脑的生物结构并不缺乏研究，但对大脑的功能特质--即思维是如何形成的，似曾相识是如何发生的，等等--缺乏一定的经验信息。这导致了构建大脑启发式人工智能系统的问题。</p>
<h3 id="">跨学科的要求</h3>
<p>构建大脑启发式人工智能系统的行为需要不同领域的专家的知识，如神经科学、计算机科学、工程、哲学和心理学。</p>
<p>但这也带来了挑战，包括调配上的和根本的挑战：从不同领域找专家在经济上很昂贵。此外，还有知识冲突的问题--让工程师关心他们正在建造的东西的心理影响真的很困难，更不用说碰撞自我的问题了。</p>
<h2 id="summary">总结</h2>
<p>虽然大脑启发的方法似乎是构建人工智能系统的明显途径，但它也有其挑战。但我们可以着眼于未来，希望正在努力解决这些问题。</p>
<h2 id="">参考文献</h2>
<ul>
<li><a href="https://www.freecodecamp.org/learn/machine-learning-with-python">freeCode Camp Machine Learning certification</a></li>
<li><a href="https://www.tesla.com/VehicleSafetyReport#:~:text=Because%20every%20Tesla%20is%20connected,the%20different%20ways%20accidents%20happen.">Tesla's Vehicle Safety Report</a></li>
<li><a href="https://arxiv.org/abs/1906.01703">Basic Neural Units of the Brain: Neurons, Synapses and Action Potential</a></li>
<li><a href="https://arxiv.org/pdf/2303.15935.pdf">When Brain-inspired AI meets AGI</a></li>
<li><a href="https://towardsdatascience.com/perceptron-the-artificial-neuron-4d8c70d5cc8d">Perceptron: The artificial Neuron (An Essential Upgrade To The McCulloch-Pitts Neuron)</a></li>
<li><a href="https://medium.com/towards-data-science/mcculloch-pitts-model-5fdf65ac5dd1">McCulloch-Pitts Neuron — Mankind’s First Mathematical Model Of A Biological Neuron</a></li>
<li><a href="https://axon.cs.byu.edu/Dan/678/papers/Recurrent/Werbos.pdf">BackPropagation through Time: What it does and How to do it</a></li>
<li><a href="https://edemgold.substack.com/p/the-history-of-ai">The History of AI</a></li>
<li><a href="https://www.frontiersin.org/articles/10.3389/fncom.2020.00016/full">BrainOS: A Novel Artificial Brain-Alike Automatic Machine Learning Framework</a></li>
</ul>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 如何为双人回合制游戏创建 AI ]]>
                </title>
                <description>
                    <![CDATA[ 双人回合制游戏是指两个玩家对弈，多个回合，直到其中一人获胜。这类游戏的例子有井字游戏、西洋双陆棋、曼卡拉、国际象棋和 Connect 4 四子棋。 在本教程中，我们将学习 Minimax  算法。它是一种用于决策和博弈论的回溯算法。它为棋手找到最优棋步，假设他们的对手也以最优方式下棋。它被广泛用于双人回合制游戏中。 你将学会如何创建自己的人工智能，玩上述任何游戏或其他类似游戏。另外，为了尽可能使其容易理解，我将把该算法应用于 Tic-Tac-Toe 井字游戏。 我们将不涉及创建游戏的整个过程，而只涉及与人工智能有关的部分，因为这是我们的主题。如果你对游戏创建过程感兴趣，你可以在 GitHub [https://github.com/HousseinBadra/BadraAI.github.io.git] 上查看这个使用人工智能的井字游戏 [https://housseinbadra.github.io/BadraAI.github.io/] 及其源代码。这是我很久以前做的一个项目，它仍然是我的最爱之一。 目录  * Minimax 算法是如何运行的  * Minimax 算法的 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/build-an-ai-for-two-player-turn-based-games/</link>
                <guid isPermaLink="false">63b7b39381727e0763145bf6</guid>
                
                    <category>
                        <![CDATA[ 算法 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ 人工智能 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ AI ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Chengjun.L ]]>
                </dc:creator>
                <pubDate>Fri, 06 Jan 2023 04:29:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2023/01/2825132-637490944552534550-16x9-1.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/build-an-ai-for-two-player-turn-based-games/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Build an AI for Two-Player Turn-based Games</a>
      </p><p>双人回合制游戏是指两个玩家对弈，多个回合，直到其中一人获胜。这类游戏的例子有井字游戏、西洋双陆棋、曼卡拉、国际象棋和 Connect 4 四子棋。</p><p>在本教程中，我们将学习 <strong>Minimax</strong> 算法。它是一种用于决策和博弈论的回溯算法。它为棋手找到最优棋步，假设他们的对手也以最优方式下棋。它被广泛用于双人回合制游戏中。</p><p>你将学会如何创建自己的人工智能，玩上述任何游戏或其他类似游戏。另外，为了尽可能使其容易理解，我将把该算法应用于 <strong>Tic-Tac-Toe 井字游戏</strong>。</p><p>我们将不涉及创建游戏的整个过程，而只涉及与人工智能有关的部分，因为这是我们的主题。如果你对游戏创建过程感兴趣，你可以在 <a href="https://github.com/HousseinBadra/BadraAI.github.io.git"><strong><strong>GitHub</strong></strong></a> 上查看这个<strong><a href="https://housseinbadra.github.io/BadraAI.github.io/">使用人工智能的井字游戏</a></strong>及其源代码。这是我很久以前做的一个项目，它仍然是我的最爱之一。</p><h3 id="-"><strong>目录</strong></h3><ul><li>Minimax 算法是如何运行的</li><li>Minimax 算法的局限性</li><li>如何提高该算法的时间复杂度</li><li>井字游戏 AI 代码</li><li>总结</li></ul><h2 id="minimax-">Minimax 算法是如何运行的</h2><p>Minimax 算法的方法非常简单。首先，它从一个给定的位置检查所有可能的组合。然后，假设双方都发挥得很好，它就会选择使获胜机会最大化的最佳棋步。</p><p>为了说明这一点，让我们考虑一个井字游戏，使之更有说服力。正如你可能知道的，在这个游戏中，有 2 个玩家和 9 个空位。所以我们可以用一个长度为 9 的数组来表示一个游戏。</p><p>现在让我们以这个棋盘为例：正如你所看到的，一个游戏棋盘是一个长度为 9 的数组，其值可以是 <strong>X</strong>、<strong>O</strong> 或空字符串。一个空字符串意味着这个位置仍然可用。</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2022/12/new1.jpg" class="kg-image" alt="new1" width="600" height="400" loading="lazy"><figcaption>棋盘数组到游戏棋盘</figcaption></figure><p>现在轮到 <strong>X</strong> 了。Minimax 算法将从这个位置开始尝试所有的游戏组合。然后，它将从所产生的子位置尝试所有的游戏组合，直到达到一个位置，游戏结束时，要么是 X 赢，要么是 O 赢，要么是平局（当棋盘满了，没有人赢）。</p><p>这张图说明了这是如何运行的：</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2022/12/new2.jpg" class="kg-image" alt="new2" width="600" height="400" loading="lazy"><figcaption>所有游戏组合的演示</figcaption></figure><p>我们可以使用递归来实现这一点。我将在最后展示代码，但现在，让我们专注于理解如何处理游戏组合以获得最佳棋步。我们将考虑这些情况：</p><ul><li>棋盘上有一个 X 的获胜位置，等于 <strong>1 分</strong></li><li>棋盘上有一个 O 的获胜位置，等于 <strong>-1 分</strong></li><li>棋盘上有一个平局的位置，等于 <strong>0 分</strong></li></ul><p>如果我们要为 X 找到最佳棋步，我们应该找到分数最多的棋盘。但是如果一个棋盘还没有完成呢？那么我们应该根据它的子棋盘来选择棋盘——但我们该选择哪一个呢？</p><p>我需要你专注于这部分，因为这是最重要的部分。当我介绍这个算法时，我说它能找到所有的游戏组合，假设双方都在采取最优的棋步。</p><p>在第一代子棋盘之后，就会轮到 O 了。假设 O 是在采取最优棋步，我们应该选择一个 O 做得最好的棋盘，也就是分数最少的棋盘之一（因为当 O 赢的时候，该棋盘会返回 -1）。</p><p>为什么我们要这样选择呢？想象一下，如果我们在轮到 O 的时候选择最大值，那么我们就会让 X 获胜。这使得该算法毫无用处，因为我们需要假设 O 以最佳棋步下棋。</p><p>对于第三代，玩家又是 X，我们将再一次选择点数最多的棋盘。</p><p>这种交替选择最大值和最小值的方法就是这个算法被称为极小化极大值算法的原因。请看这个可视化图，以进一步了解：</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://chinese.freecodecamp.org/news/content/images/2023/01/image-7.png" class="kg-image" alt="image-7" width="600" height="400" loading="lazy"><figcaption>Minimax 机制</figcaption></figure><p>这与上面的例子相同。底部的 2 个棋盘对 X 来说是赢的，所以每个棋盘都会返回 1。这里，轮到 X 了，所以我们会选择最佳值——恰好这两个棋盘的值都是 1。</p><p>正如我之前所说，如果一个棋盘不满足获胜或平局条件，我们将查看其子棋盘。这就是为什么数值为 1 的棋盘的父棋盘会有 1 的数值。</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2022/12/new4.jpg" class="kg-image" alt="new4" width="600" height="400" loading="lazy"><figcaption>Minimax 算法机制</figcaption></figure><p>这里轮到 O，所以我们将选择可能的最低值，恰好是 1。我选择这个特定的例子是为了让事情变得简单，但这在所有棋盘上都适用。</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2022/12/new5.jpg" class="kg-image" alt="new5" width="600" height="400" loading="lazy"><figcaption>Minimax 机制</figcaption></figure><p>最后又轮到了 X，我们将最大化所选棋盘的值。这就是为什么我们可以选择左边的子棋盘或右边的子棋盘或中间的子棋盘——这并不重要，因为它们的值是一样的。</p><p>最后，X 的最佳棋步是在第 7、8 或 9 位，以最大限度地提高其获胜的机会。如果你仍然不相信，可以取任何棋盘组合并画出组合树，你会得到一个满意的结果——我强烈建议在纸上画出来。</p><h2 id="minimax--1"><strong>Minimax </strong>算法的局限性</h2><p>正如你所看到的，该算法是递归的，执行次数可能会变得很大。</p><p>例如，对于井字游戏，执行次数大约为 “9！”（9 的阶乘）。原因是第一步棋有 9 种可能性，然后每一步棋有 8 种可能性，以此类推。</p><p>这对井字棋来说不是问题，但考虑一下国际象棋游戏。如果我们要写出组合的数量，整个宇宙都不够用了。所以，最小值经常被用作引擎的一部分，但它不足以满足我们的需要。</p><h2 id="--1">如何提高算法的时间复杂度</h2><p>你可能已经注意到，使用这种方法可能会导致一些重复的棋盘，我们需要多次计算它们的值。那么，为什么不在计算时存储每个棋盘的值呢？</p><p>所以现在，对于每一次迭代，我们将检查一个位置是否已经发生过。如果是的话，我们将使用它的存储值。否则，我们可以计算出位置的值，然后将其存储。</p><p>对于存储值，我们将使用一个字典，允许在 O(1) 中进行搜索。使用这种方法，我们可以降低时间复杂度——但在某些情况下，它仍然是无效的。</p><p>我曾经用这种算法做了一个四子棋游戏，它的运行时间很糟糕。因此，我没有寻找所有的组合，而是在一定的深度上停下来，这生成了一个可以提前看到 n 步的 AI。</p><p>如果你有兴趣，可以看看这个 <a href="https://github.com/HousseinBadra/badraconnect4AI.github.io.git">GitHub 仓库</a>里的四子游戏代码。我是很久以前写的，但仍然值得一看。</p><h2 id="-ai-">井字游戏 AI 代码</h2><p>现在我们先来实现一些辅助函数。我们将首先检查棋盘数组中是否有 3 个水平、垂直或对角线的非空字符串值。</p><pre><code class="language-javascript">// 棋盘数组
let xo=['','','',
        '','','',
        '','','']

// 编写这个函数时，我们需要确保相等的值不是空字符串

// 在这之前，我将写一个辅助函数来确保 3 个索引没有空字符串

function helper(index1,index2,index3){
  return xo[index1] !='' &amp;&amp; xo[index2] !='' &amp;&amp; xo[index3]!=''
}



function checkwin(){
  
   return (xo[0]==xo[1] &amp;&amp; xo[1] ==xo[2] &amp;&amp; helper(0,1,2)) ||
          (xo[3]==xo[4] &amp;&amp; xo[4] ==xo[5] &amp;&amp; helper(3,4,5)) ||
          (xo[6]==xo[7] &amp;&amp; xo[7] ==xo[8] &amp;&amp; helper(6,7,8)) ||
          (xo[0]==xo[3] &amp;&amp; xo[3] ==xo[6] &amp;&amp; helper(0,3,6)) ||
          (xo[1]==xo[4] &amp;&amp; xo[4] ==xo[7] &amp;&amp; helper(1,4,7)) || 
          (xo[2]==xo[5] &amp;&amp; xo[5] ==xo[8] &amp;&amp; helper(2,5,8)) ||
          (xo[0]==xo[4] &amp;&amp; xo[4] ==xo[8] &amp;&amp; helper(0,4,8)) ||
          (xo[2]==xo[4] &amp;&amp; xo[4] ==xo[6] &amp;&amp; helper(2,4,6))
   
}

// 最后是一个检查是否有平局的函数，它将检查所有的棋盘值是否为空字符串。这个函数只有在首先检查了没有获胜条件之后才会起作用。

function boardfull(){
  return xo.every((elem)=&gt;{
   return elem !=''
  })
}</code></pre><p>现在我们有了检查是否存在获胜状态的函数，我们最终可以像这样写出 Minimax（我在代码中添加了注释以帮助解释）。</p><pre><code class="language-javascript">// 正如我之前所说的，算法将通过 board 和 ismax 参数来检查我们是否要最大化或最小化某一个回合

function minimax(board,depth,ismax){
    
    // 这是一个递归函数，所以我们应该首先设置基本情况，这将是获得平局、胜利或达到深度。
    
    // 正如你在可视化中所看到的，当出现平局或获胜条件时，不会再产生子棋盘。因此，如果在轮到 X 的时候发生了获胜的条件。赢的是 X，这就是我返回 1 的原因，同样的逻辑也适用于 Y 赢时，我在最小化时返回 -1。
    
    if (checkwin()) return ismax ? 1 : -1
    if (boardfull()) return 0
      
    if(ismax){
        
        // 当我们进行最大化时，我们将设置一个计数器为 -Infinity，只要我们遇到一个高于计数器的棋盘值，我们就将其视为最佳棋步。
        
     let best=-Infinity
     board.forEach((elem,index)=&gt;{
         
         // 现在，为了检查所有产生的位置，我们将在棋盘上进行迭代，只要有一个可用的，我们就将其设置为 X，并在这个位置上运行 minimax。
         
     if(elem ==''){
       board[index]='X'
       let  localscores=minimax(test,depth+1,false)
       
       // 我在这里把棋盘重新设置到相同的位置
       
       board[index]=''
       best=max(best,localscores)
     }})
     return best
     }
    
 // 这里的 else 意味着我们正在最小化
    
 else{
 
     // 在这里，我们将设置我们的计数器为 + Infinity，因为我们想找到可能的最低值
     
    let best=Infinity
    board.forEach((elem,index)=&gt;{
    if(elem ==''){
     board[index]=humanicon
     let localscores=minimax(test,depth+1,true)
     board[index]=''
     best=min(best,localscores)
    }})
    return best
  }
}</code></pre><p>我们完成了！</p><h2 id="--2">总结</h2><p>在这篇文章中，我们了解了 Minimax 算法、它的机制、它的局限性，以及如何改进它。现在你可以去定制 Minimax 算法，使其在各种游戏中运行，创造一些很酷的游戏机器人。</p><p>最后，我希望你从这篇文章中学到一些新东西。</p><p>如果你觉得这篇文章很有用，并想获得更多精彩的内容，请在 LinkedIn 上关注我。这将会有很大的帮助。</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 与 ChatGPT AI 结对编程——GPT-3.5 能理解 Bash 吗？ ]]>
                </title>
                <description>
                    <![CDATA[ 在过去的几个星期，我们已经听到了很多关于人工智能和自然语言处理的消息——特别是关于 OpenAI 的最新版本 GPT。 最近发布的 GPT 3.5，特别是非常新的 ChatGPT 工具，绝对是一个巨大的飞跃。 你可能已经读到有人要求人工智能起草房地产合同和遗嘱，甚至生成编程代码。这篇文章从一个稍微不同的角度来探讨这个工具。 如果你想用视频来补充学习，你可以在这里观看这篇文章的视频版本： 用 ChatGPT 和 Bash 脚本进行实验 我决定看看 ChatGPT 是如何处理 Linux Bash 脚本的。但是（破坏者警报！）当我执行该工具的建议——包括好的代码和差的代码——我开始意识到有一个更强大的好处：有机会与一个非常有帮助的伙伴结对编程。 人工智能最终没能解决我的问题，但它失败的方式绝对是迷人的。看着人工智能寻找新的答案，绝对是疯狂的。 第一次尝试——ChatGPT 试图解决这个问题 让我们看看这一切是如何发生的。以下内容，或多或少，是我提供给人工智能的最初提示： > 给我写一个 Bash 脚本，要求输入一个 YouTube 视频的 URL，然后使用 yt-dlp 程序 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/pair-programming-with-the-chatgpt-ai-how-well-does-gpt-3-5-understand-bash/</link>
                <guid isPermaLink="false">63abb868f490ad07436267d8</guid>
                
                    <category>
                        <![CDATA[ 人工智能 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Chengjun.L ]]>
                </dc:creator>
                <pubDate>Wed, 21 Dec 2022 03:30:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2022/12/pexels-pavel-danilyuk-8438951.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/pair-programming-with-the-chatgpt-ai-how-well-does-gpt-3-5-understand-bash/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Pair Programming with the ChatGPT AI – Does GPT-3.5 Understand Bash?</a>
      </p><p>在过去的几个星期，我们已经听到了很多关于人工智能和自然语言处理的消息——特别是关于 OpenAI 的最新版本 GPT。</p><p>最近发布的 GPT 3.5，特别是非常新的 ChatGPT 工具，绝对是一个巨大的飞跃。</p><p>你可能已经读到有人要求人工智能起草房地产合同和遗嘱，甚至生成编程代码。这篇文章从一个稍微不同的角度来探讨这个工具。</p><p>如果你想用视频来补充学习，你可以在这里观看这篇文章的视频版本：</p><figure class="kg-card kg-embed-card" data-test-label="fitted">
        <div class="fluid-width-video-container">
          <div style="padding-top: 56.49999999999999%;" class="fluid-width-video-wrapper">
            <iframe width="200" height="113" src="https://www.youtube.com/embed/GxJKuINwPSw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" title="Pair Programming with the ChatGPT AI - how well does GPT-3.5 understand Bash?" name="fitvid0"></iframe>
          </div>
        </div>
      </figure><h2 id="-chatgpt-bash-">用 ChatGPT 和 Bash 脚本进行实验</h2><p>我决定看看 ChatGPT 是如何处理 Linux Bash 脚本的。但是（破坏者警报！）当我执行该工具的建议——包括好的代码和差的代码——我开始意识到有一个更强大的好处：有机会与一个非常有帮助的伙伴结对编程。</p><p>人工智能最终没能解决我的问题，但它失败的方式绝对是迷人的。看着人工智能寻找新的答案，绝对是疯狂的。</p><h3 id="-chatgpt-">第一次尝试——ChatGPT 试图解决这个问题</h3><p>让我们看看这一切是如何发生的。以下内容，或多或少，是我提供给人工智能的最初提示：</p><blockquote>给我写一个 Bash 脚本，要求输入一个 YouTube 视频的 URL，然后使用 yt-dlp 程序从该 URL 下载。脚本应该把文件名改为 “myvideo.mp4”。</blockquote><p>几秒钟后，ChatGPT 告诉了我一个脚本。代码是这样的：</p><pre><code>#!/bin/bash

# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url

# Download video from YouTube using yt-dlp
yt-dlp $url

# Get the name of the downloaded video file
yt-dlp $url

# Change the downloaded video filename to "myvideo.mkv"
mv video-filename.mp4 myvideo.mp4</code></pre><p>人工智能显然知道什么是 Bash 脚本以及如何呈现代码。它甚至对每一行代码的注释都做得很好。人工智能知道如何正确地提示用户输入，然后如何将输入的字符串导入一个叫作 <code>url</code> 的变量中。</p><p>它还知道 yt-dlp 程序以及它是如何工作的，适当地给它输入了所提供的 URL。然后它至少试图将下载的视频文件重命名为 myvideo.mp4。但是，当它假设下载的文件名是 video-filename.mp4 时，一切都崩溃了。呜呼！</p><p>无论如何，人工智能很有帮助地告诉我如何从其代码中创建脚本，然后运行它。</p><h3 id="-chatgpt--1">第二次尝试——ChatGPT 纠正了自己的错误</h3><p>我的第一个后续提示指出了明显的错误。几秒钟后，ChatGPT 承认了自己的错误，并提出了改进措施。</p><blockquote>你是对的，我提供的脚本不会像预期的那样工作，因为它假定下载的视频将被保存到一个名为 <code>video-filename.mp4</code> 的文件中。然而，这并不能保证是这样的。为了解决这个问题......</blockquote><p>在这里，人工智能是如何完全参与到这个过程中来的，真是令人震惊。它记住了它的第一个代码，倾听并理解了我的抱怨，并思考了一个解决方案。这就是第二次尝试。</p><pre><code>#!/bin/bash

# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url

# Download video from YouTube using yt-dlp
yt-dlp $url

# Get the name of the downloaded video file
filename=$(basename $url)

# Change the downloaded video filename to "myvideo.mkv"
mv $filename.mp4 myvideo.mp4</code></pre><p>好吧，解决方案看起来是对的。<code>basename</code> 是一个 Linux 工具，可以剥离文件系统的目录，只留下实际的文件名。</p><p>问题是，变量 <code>url</code> 不包含本地文件名，而是一个互联网地址。这个肯定是行不通的。</p><h3 id="-chatgpt--2">第三次尝试——ChatGPT 再次尝试</h3><p>所以我又试了一次，解释了那不是合适的工具。而 ChatGPT 又进行了一次尝试。</p><pre><code>#!/bin/bash

# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url

# Extract the filename from the URL
filename=$(basename $url)

# Download the video using the yt-dlp tool and specify the filename
yt-dlp -o $filename $url

# Change the downloaded video filename to "myvideo.mkv"
mv $filename.mp4 myvideo.mp4</code></pre><p>这一次，它显示它已经熟悉了 yt-dlp 的文档，建议我们使用 <code>-o</code> 参数给下载的视频一个名字，<code>basename</code> 现在应该对它起作用。每一次迭代，人工智能都会给我更新的代码，供我剪切和粘贴使用。</p><p>当然，这也是行不通的。在下一次尝试中，我感觉到人工智能有点绝望了。</p><h3 id="-">如果一开始你没有成功......至少你会学到一些东西</h3><p>我打算跳过接下来的一两次尝试，因为我们遇到了一个问题：来自 YouTube 的视频并不总是 MP4，它们有时是 MKV，甚至是 WEBM。这种不确定性可能会扰乱我们正在使用的文件名，所以我要求 ChatGPT 在代码中加入这个功能。</p><pre><code>#!/bin/bash

# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url

# Extract the filename from the URL
filename=$(basename $url)

# Download the video using the yt-dlp tool and specify the filename
yt-dlp -F mp4 -O $filename $url

# Change the downloaded video filename to "myvideo.mkv"
mv $filename.mp4 myvideo.mp4</code></pre><p>当我报告说这也不能工作时，人工智能开始感到困惑。首先，它告诉我，<code>-F</code> 选项期待一个有效的视频格式，但 “mp4” 并不有效。然后它又给我有效的选项，包括 “mp4”。</p><p>当人工智能建议的任何东西都不起作用时，它放弃了，建议我确保 yt-dlp 确实安装在我的机器上，并告诉我如何做到这一点。</p><p>我想这时候放弃也挺好。即使它没有解决这个问题，它的努力也令人惊讶，它确实向我展示了一些有用的语法，并让我思考。</p><p>如果你有兴趣，顺便说一下，这里是一个实际工作的脚本的样子：</p><pre><code>#!/bin/bash

# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url

# Download video from YouTube using yt-dlp
yt-dlp $url

# Get the name of the downloaded video file
original_filename=$(ls | awk '/mp4/ || /webm/ || /mkv/')

# Change the downloaded video filename to "myvideo.mkv"
mv "$original_filename" /home/ubuntu/vids/myvideo.mp4</code></pre><p>前两行代码与 ChatGPT 建议的方式相同。但我随后通过列出当前目录中的所有文件来隔离文件名，并使用 <code>awk</code> 来过滤只包含 mp4、webm 或 mkv 的文件名。（这假定在同一时间，目录中永远不会有超过一个视频文件。）</p><p>然后文件名将被写入 <code>original_filename</code> 变量中。然后，我将使用该变量作为 <code>move</code> 命令的一部分来重命名文件 <code>myvideo.mp4</code>。就我所知，无论实际发送的是什么格式，这都是可行的。</p><h2 id="--1"><strong>总结</strong></h2><p>人工智能今天可能还没有为现实世界的编程任务做好准备，但我不想赌它明天......或明年的某个时候也不能做到。</p><p>不过，在此期间，我绝对会推荐你在面临具有挑战性的编程任务时使用 ChatGPT 这样的工具。</p><p>两个头脑（几乎）总是比一个好。</p><p>除了我的 <a href="https://www.youtube.com/@davidbclinton">YouTube 频道</a>（你可以订阅），<a href="https://bootstrap-it.com/">我的网站</a>还链接到各种技术方面的好东西，如文章、书籍和课程。</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 如何使用 React 和 Dall-E 2 API 生成图像——React 和 OpenAI API 教程 ]]>
                </title>
                <description>
                    <![CDATA[ 嘿，大家好！OpenAI 刚刚发布了它的 DALL-E API，用户可以通过键入查询生成自定义图像。 在本教程中，你将学习如何集成 OpenAI DALL-E 2 API 与 React app。 但首先，Dell-E 是如何工作的呢 正如你已经知道的，你必须输入一个查询——就像 熊拿着画笔在星空里，文森特·梵高画。这里面有很多关键词，比如“画笔”、“星空”和“文森特·梵高”。 Dall-E 要做的是搜索这些与我上面提到的关键字相关的图像。然后它将使用人工智能将所有的图像合并为一个，然后提供给我们。 现在让我们学习如何将其集成到 React 应用程序中，以创建具有这些很棒的特性的应用程序。 如何创建 React 应用程序 现在，创建一个 React 应用程序。你可以使用 CRA（create-react-app）命令创建它，也可以使用 Vite。 我们需要一个文本字段和一个按钮作为 UI 组件。文本字段将用于从用户获取查询，而按钮将用于触发 API 请求。让我们同时创建一个状态来存储查询和一个函数，该函数将在单击按钮时运行。 import { useState } fro ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/generate-images-using-react-and-dall-e-api-react-and-openai-api-tutorial/</link>
                <guid isPermaLink="false">6391629a0bd1810766a86b0b</guid>
                
                    <category>
                        <![CDATA[ 人工智能 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ React ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Keren Ma ]]>
                </dc:creator>
                <pubDate>Thu, 08 Dec 2022 04:10:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2022/12/Important-Concepts-and-questions--1-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/generate-images-using-react-and-dall-e-api-react-and-openai-api-tutorial/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Generate Images using React and the Dall-E 2 API – React and OpenAI API Tutorial</a>
      </p><!--kg-card-begin: markdown--><p>嘿，大家好！OpenAI 刚刚发布了它的 DALL-E API，用户可以通过键入查询生成自定义图像。</p>
<p>在本教程中，你将学习如何集成 OpenAI DALL-E 2 API 与 React app。</p>
<h2 id="delle">但首先，Dell-E 是如何工作的呢</h2>
<p>正如你已经知道的，你必须输入一个查询——就像 <strong>熊拿着画笔在星空里，文森特·梵高画</strong>。这里面有很多关键词，比如“画笔”、“星空”和“文森特·梵高”。</p>
<p>Dall-E 要做的是搜索这些与我上面提到的关键字相关的图像。然后它将使用人工智能将所有的图像合并为一个，然后提供给我们。</p>
<p>现在让我们学习如何将其集成到 React 应用程序中，以创建具有这些很棒的特性的应用程序。</p>
<h2 id="react">如何创建 React 应用程序</h2>
<p>现在，创建一个 React 应用程序。你可以使用 CRA（create-react-app）命令创建它，也可以使用 Vite。</p>
<p>我们需要一个文本字段和一个按钮作为 UI 组件。文本字段将用于从用户获取查询，而按钮将用于触发 API 请求。让我们同时创建一个状态来存储查询和一个函数，该函数将在单击按钮时运行。</p>
<pre><code>import { useState } from "react";
import "./App.css";

function App() {
  const [prompt, setPrompt] = useState("");

  const generateImage = async () =&gt; {};

  return (
    &lt;div className="app-main"&gt;
      &lt;&gt;
        &lt;h2&gt;Generate an Image using Open AI API&lt;/h2&gt;

        &lt;textarea
          className="app-input"
          placeholder="Search Bears with Paint Brushes the Starry Night, painted by Vincent Van Gogh.."
          onChange={(e) =&gt; setPrompt(e.target.value)}
          rows="10"
          cols="40"
        /&gt;
        &lt;button onClick={generateImage}&gt;Generate an Image&lt;/button&gt;
      &lt;/&gt;
    &lt;/div&gt;
  );
}

export default App;
</code></pre>
<p>我们的输出将会像这样：</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/11/Screenshot-2022-11-05-212826.png" alt="Screenshot-2022-11-05-212826" width="600" height="400" loading="lazy"></p>
<h3 id="dalle2apireact">如何将 DALL-E 2 API 集成到 React 应用程序</h3>
<p>让我们看看如何将 DALL-E 2 API 集成到我们的应用程序中。</p>
<p>首先，我们需要访问 <a href="https://beta.openai.com">OpenAI</a>网站。你需要注册以生成一个 API 密钥。你的账户里还会有 18 美元可以使用。</p>
<p>在注册时选择创建应用程序。</p>
<p>因此，在你创建了你的账户之后，转到 View API Keys 部分，在那里你可以创建你唯一的 API 密钥。查看下面的图片作为参考。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/11/Screenshot-2022-11-05-213523.png" alt="Screenshot-2022-11-05-213523" width="600" height="400" loading="lazy"></p>
<p>现在在 React App 中，创建一个 <strong>.env</strong> 文件。这是为了存储 API 密钥。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/11/Screenshot-2022-11-05-213733.png" alt="Screenshot-2022-11-05-213733" width="600" height="400" loading="lazy"></p>
<p>在这里添加 API 密钥。请注意，在 CRA 和 Vite React App 中，从 .env 文件中获取密钥的方法是不同的。所以请记住这一点。我使用的是 Vite，所以我们是这样做的：</p>
<pre><code>VITE_Open_AI_Key = "Your API Key"
</code></pre>
<p>现在已经添加了 API 密钥，我们需要在 App.js 或 App.jsx 文件中导入一些东西，包括来自 openai SDK 的 Configuration 和 OpenAIApi。但是，我们首先需要在 React App 安装 <strong>openai SDK</strong>。</p>
<p>只需输入下面的指令安装：</p>
<pre><code>npm install openai
</code></pre>
<p>安装可能需要一些时间。然后，像这样导入我们之前提到的两个东西：</p>
<pre><code>import { Configuration, OpenAIApi } from "openai";
</code></pre>
<p>我们需要创建一个配置变量，它将从 .env 文件中获取 API 密钥。</p>
<pre><code>const configuration = new Configuration({
	apiKey: import.meta.env.VITE_Open_AI_Key,
});
</code></pre>
<p>现在，我们需要将这个配置实例传递给 OpenAIApi，并为 OpenAIApi 创建一个新实例。</p>
<pre><code>const openai = new OpenAIApi(configuration);
</code></pre>
<p>以下是到目前为止的全部代码：</p>
<pre><code>import { Configuration, OpenAIApi } from "openai";

import { useState } from "react";
import "./App.css";

function App() {
  const [prompt, setPrompt] = useState("");
  const configuration = new Configuration({
    apiKey: import.meta.env.VITE_Open_AI_Key,
  });

  const openai = new OpenAIApi(configuration);
  

  return (
    &lt;div className="app-main"&gt;
      &lt;&gt;
        &lt;h2&gt;Generate an Image using Open AI API&lt;/h2&gt;

        &lt;textarea
          className="app-input"
          placeholder="Search Bears with Paint Brushes the Starry Night, painted by Vincent Van Gogh.."
          onChange={(e) =&gt; setPrompt(e.target.value)}
          rows="10"
          cols="40"
        /&gt;
        &lt;button onClick={generateImage}&gt;Generate an Image&lt;/button&gt;
      &lt;/&gt;
    &lt;/div&gt;
  );
}

export default App;
</code></pre>
<p>现在，在 <strong>generateImage</strong> 函数中，我们需要调用之前创建的 OpenAIApi 实例。记住，功能需求是异步的。</p>
<pre><code>const generateImage = async () =&gt; {
    await openai.createImage({
      prompt: prompt,
      n: 1,
      size: "512x512",
    });
  };
</code></pre>
<p>如你所见，我们使用的是 <strong>openai.createImage</strong>。这个 API 用于使用用户查询创建图像。它还需要<strong>数量 n</strong>，这是我们希望 API 返回的图像的数量，以及<strong>图像的尺寸 size</strong>。</p>
<p>有三种不同的图像尺寸，不同的价格，如下表所示。如果你使用的是 1024x1024 大小，每张图像将花费 0.020 美元。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/11/Screenshot-2022-11-05-215314.png" alt="Screenshot-2022-11-05-215314" width="600" height="400" loading="lazy"></p>
<p>现在这个 <strong>openai.createImage</strong> 返回一些可以存储在变量中的 response 接口。然后，我们可以从 response 变量获得生成的图像链接。</p>
<pre><code>const generateImage = async () =&gt; {
    const res = await openai.createImage({
      prompt: prompt,
      n: 1,
      size: "512x512",
    });

    console.log(res.data.data[0].url);
  };
</code></pre>
<p>但我们还是别这么做了。让我们再创建一个状态来存储这个图像链接，这样我们就可以在 UI 本身中查看图像。</p>
<pre><code>const [result, setResult] = useState("");

const generateImage = async () =&gt; {
    const res = await openai.createImage({
      prompt: prompt,
      n: 1,
      size: "512x512",
    });

    setResult(res.data.data[0].url);
  };
</code></pre>
<p>现在，图像链接将存储在 <strong>result</strong> 状态中。让我们在 UI 中渲染图像。但是由于结果最初是空的，我们可以创建一个查验。我们将只看到在状态中有链接的图像标记。</p>
<pre><code>{result.length &gt; 0 ? (
          &lt;img className="result-image" src={result} alt="result" /&gt;
        ) : (
          &lt;&gt;&lt;/&gt;
        )}
</code></pre>
<p>And here's the styling too:</p>
<pre><code>.result-image {
  margin-top: 20px;
  width: 350px;
}
</code></pre>
<p>UI 现在看起来像这样：</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/11/Screenshot-2022-11-05-220108.png" alt="Screenshot-2022-11-05-220108" width="600" height="400" loading="lazy"></p>
<p>让我们输入一些东西并查看输出：</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/11/Screenshot-2022-11-05-220222.png" alt="Screenshot-2022-11-05-220222" width="600" height="400" loading="lazy"></p>
<p>在上面的例子中，我输入了<strong>一匹在红色沙滩里的马</strong>，这是结果。</p>
<p>让我们尝试一些更复杂的东西，比如<strong>熊拿着画笔在星空里，文森特·梵高画</strong></p>
<p>结果如下：</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/11/Screenshot-2022-11-05-220423.png" alt="Screenshot-2022-11-05-220423" width="600" height="400" loading="lazy"></p>
<p>以上就是你如何创建这个应用。你可以键入任何输入查询，它将通过人工智能生成该图像。</p>
<h2 id="">总结</h2>
<p>这就是所有的内容。现在你知道了如何使用 DALL-E 2 API 创建自己的 React 应用程序，以使用 AI 生成图像。你可以添加更多的功能，所以不妨尝试一下。</p>
<p>如果你想看视频版本，请点击我的视频<a href="https://youtu.be/oacBV4tnuYQ">使用 React 和 Dall-E API 生成图像——React 和 OpenAI API 教程</a> 在我的 YouTube 频道 <a href="https://www.youtube.com/c/CybernaticoByNishant">Cybernatico</a>。</p>
<p>查看代码 <a href="https://github.com/nishant-666/Dall-E-API-with-React">GitHub</a> 以供参考。</p>
<blockquote>
<p>学习快乐~</p>
</blockquote>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
