Type something to search...
我将区块链和人工智能结合起来创造艺术。接下来发生了什么?

我将区块链和人工智能结合起来创造艺术。接下来发生了什么?

教程

使用 LLM 创建数据的艺术表现

观察彩虹

如果可以通过图像来可视化,区块链会是什么样子?

区块链是分布式账本的技术实现,最常与金融交易相关联。这远不是我们可能认为的美丽的东西。尤其是因为存储在区块链上的数据大多由复杂的数字、字母和与价值、发送者和接收者地址(钱包)以及元数据相关的符号组成。

然而,我之前曾致力于生成图像以表示量子计算,它与区块链类似,也由复杂的数字组成。我曾想知道是否可以结合使用AI和大型语言模型的相同可视化技术,以及提示工程,从全新的数据源生成图像。

让我们试试看!

一切都与特征有关

要从区块链生成图像,我们首先需要识别要利用的特征

一个典型的 交易 具有以下属性,这些属性识别发送方接收方金额费用唯一 ID以及其他相关的元数据

Transaction Hash
a3c26b8572447228f515e71e41ce70af93d590e48e77ff6e97d70beb7919f8da

Total Fees
0.168317 ADA

Total Output
1,307.847408 ADA

Sender
addr1_test1upm4c9yw05l0su5ygfj4a7qhxkqy2qwg5plupmradr6wnxssp8wj0

Receiver
addr1_test1uz25rnrpv5njt85h5q2c6yaj2wre0n43s3thed5syrmcdrq85p0rm

这些特征可以作为主要指标,包含在 AI 和 LLM 的提示中,以生成相应的图像。

疯狂背后的魔力

可视化过程将根据从交易中识别的特征生成图像。

我们将从区块链加载一笔交易并提取关键字段。在这种情况下,我们将使用Cardano。当然,也可以使用任何加密货币,包括比特币、以太坊和索拉纳。重要的是,我们将包括交易哈希、发送者和接收者地址的值,以及最重要的交易金额,以便以美丽而富有想象力的方式可视化数据流。

最后,我们将利用提示工程为LLM构建一个合适的提示,以生成图像。

图像生成过程

我们需要进行两个网络请求作为流程的一部分。第一个请求将检索一个事务。第二个请求将调用LLM。

此设计如以下图所示。

创建脚本

我们过程的第一步是创建一个 程序,使用 Python 从区块链加载详细信息。

我们将使用 BlockFrost API 来访问交易,这使我们能够 读取数据 而无需将 整个区块链 加载到 PC 上 (这可能非常庞大且消耗 CPU)。只要我们有交易 ID,这在 Python 中是很容易实现的。

def fetch_transaction_details(tx_id):
    tx_details = api.transaction_utxos(tx_id)
    ada_amount = sum(int(output.amount[0].quantity) for output in tx_details.outputs if not output.collateral) / 1000000  # Convert lovelace to ADA
    sender = tx_details.inputs[0].address
    receiver = tx_details.outputs[0].address
    return TransactionDetails(tx_id, ada_amount, sender, receiver)

如上面的代码示例所示,我们正在提取 交易 IDADA 数量,以及 发送者接收者 地址。这些数字和字母数字值应该足够帮助生成 AI 图像。

现在,关键数据点已经提取完毕,是时候进行一些提示工程了。

秘诀在于提示

提示工程 是生成基于原始 数值 的图像的关键力量所在。这也是我们可以在最终结果上发挥自己创造力的地方。

由于我们希望不仅可视化交易中的数值,还希望展示发送者与接收者之间 信息流动 的概念,因此我们可以将这个想法包含在提示中,让 AI 尝试可视化结果。

“根据以下交易细节生成图像:想象一个代表这些实体之间价值和连接流动的场景。包含一个草地,一个温暖而迷人的溪流。交易 ID: abc123, ADA 数量: 10.25, 发送者: addr1_testabc, 接收者: addr1_testxyz。”

当然,提示并不是像上面的例子那样完全硬编码的。相反,我们将在发送给 LLM 之前,将交易中的 变量 注入到提示中。

是时候发挥创造力了

这里是真正的魔法所在——在于提示

如上所述,我们使用一个主要是静态提示来指导LLM生成图像。然而,在提示中仍然有占位符,我们的脚本将在可视化过程中插入特征

这些特征之一是价值的数量。

将交易分组到箱中

由于我们希望用不同类型的图像来表示价值(ADA),我们将把金额分成,并从中提供不同场景的图像。

按交易金额分类的桶

  • 0–4: 小花,一棵树
  • 5–9: 一个花园,几棵树
  • 10–19: 一个公园,一个小池塘
  • 20–29: 一个草地,一个溪流
  • 30–39: 繁茂的草地,鲜花

这个桶的定义可以如下所示实现。

def generate_prompt(tx_details):
    if ada_amount < 5:
        objects = "a small flower, a single tree"
        color_scheme = "soft pastel colors"
    elif ada_amount < 10:
        objects = "a garden, a few trees"
        color_scheme = "light and vibrant colors"
    elif ada_amount < 20:
        objects = "a park, a small pond"
        color_scheme = "bright and cheerful colors"
    elif ada_amount < 30:
        objects = "a meadow, a stream"
        color_scheme = "warm and inviting colors"
    # ...
    else:
        objects = "a vast landscape, a sunset"
        color_scheme = "dramatic and intense colors"

    prompt = f"Generate an image based on the following transaction details: \
Imagine a scene that represents the flow of value and connection between these entities. \
Include {objects} with {color_scheme}. \
Transaction ID: {tx_id}, ADA Amount: {ada_amount}, Sender: {sender}, Receiver: {receiver}."

使用条件开关结构来根据交易中的价值金额选择特定的对象色彩方案。这个列表可以根据需要变得非常长和复杂。在上面的示例中,桶的间隔为10,直到100。您甚至可以使用LLM来生成这些对象和色彩方案。

构建好提示后,LLM就该发挥作用了。

生成图像

我们将使用 Hugging Face LLM 来生成 Stable Diffusion 图像。

我们在前一步构建的提示将通过 API 发送到 Stable Diffusion 模型。这是通过一个简单的 POST 请求来完成的,传入 prompt 字符串 并等待结果。

响应是一个 字节 流,我们将其保存到图像文件中。然而,在保存图像之前,我们可以进行一些 后处理 使事情变得更加有趣!

response = requests.post(
    "https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-3.5-large",
    headers=headers,
    json={
        "inputs": prompt,
    },
)
image = Image.open(io.BytesIO(response.content))
image.save("image.png")

将交易叠加到图像上

在从LLM接收到图像后,可以对图像进行无限数量的后处理效果

为了表明该图像是由区块链交易生成的,让我们直接在图像上绘制交易ID、发送者、接收者和金额。这在图像中创建了一种签名,为最终结果增添了一种有趣的变化。

我还考虑过绘制小物体,例如与交易金额相等的硬币闪光,以进一步可视化价值。欢迎您自己尝试一下!

最后,程序执行,我们等待结果!

现实世界应用的潜力

从区块链生成视觉内容无疑是一个有趣的概念。然而,也许还有更大的潜力可以挖掘。

通过利用人类(或人工智能)的创造力,结合一些试错,这项技术可以解锁许多现实世界应用

复杂数字可视化的潜在用例示例可能包括以下任何想法:

  • 诗歌
  • 音乐
  • 图表
  • 数字艺术和NFT
  • 艺术

大型语言模型在生成各种内容方面非常强大,只要数据和创意是可获取的。

迈向下一步

我在创建这个项目时非常开心,希望它能激发你在区块链上可以做的各种可能性。完整的源代码可以在 这里 找到。

通过结合区块链和 LLM 的 前沿 技术,以及一点点 想象力,未来是无限广阔的。

Related Posts

使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
10 个强大的 Perplexity AI 提示,让您的营销任务自动化

10 个强大的 Perplexity AI 提示,让您的营销任务自动化

在当今快速变化的数字世界中,营销人员总是在寻找更智能的方法来简化他们的工作。想象一下,有一个个人助理可以为您创建受众档案,建议营销策略,甚至为您撰写广告文案。这听起来像是一个梦想? 多亏了像 Perplexity 这样的 AI 工具,这个梦想现在成为现实。通过正确的提示,您可以将 AI 转变为您的 个人营销助理。在本文中,我将分享 10 个强大的提示,帮助您自动

阅读更多
10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

人工智能技术,如机器学习、自然语言处理和数据分析,正在重新定义传统设计方法。从自动化重复任务到实现个性化用户体验,人工智能使设计师能够更加专注于战略思维和创造力。随着这一趋势的不断增长,UI/UX 设计师越来越多地采用 AI 驱动的工具来促进他们的工作。利用人工智能不仅能提供基于数据的洞察,还为满足多样化用户需求的创新设计解决方案开辟了机会。 1. 用户角色开发 目的

阅读更多
在几分钟内完成数月工作的 100 种人工智能工具

在几分钟内完成数月工作的 100 种人工智能工具

人工智能(AI)的快速发展改变了企业的运作方式,使人们能够在短短几分钟内完成曾经需要几周或几个月的任务。从内容创作到网站设计,AI工具帮助专业人士节省时间,提高生产力,专注于创造力。以下是按功能分类的100个AI工具的全面列表,以及它们在现实世界中的使用实例。 1. 研究工具 研究可能耗时,但人工智能工具使查找、分析和组织数据变得更加容易。**ChatGPT, Cop

阅读更多
你从未知道的 17 个令人惊叹的 GitHub 仓库

你从未知道的 17 个令人惊叹的 GitHub 仓库

Github 隐藏的宝石!! 立即收藏的代码库 学习编程相对简单,但掌握编写更好代码的艺术要困难得多。GitHub 是开发者的宝藏,那里“金子”是其他人分享的精心编写的代码。通过探索 GitHub,您可以发现如何编写更清晰的代码,理解高质量代码的样子,并学习成为更熟练开发者的基本步骤。 1. notwaldorf/emoji-translate *谁需

阅读更多