使用 Poe-API-wrapper 连接 DALLE 和 ChatGPT,实现批量 AI 绘图与文字创作

作为 Poe 的忠实用户,我曾分享过我的使用体验,尽管每个月的 Poe 使用额度总是有剩余。今天,我想介绍如何通过 Poe 提供的 API 接口,结合一个实用的工具——poe-api-wrapper,来高效地完成 AI 绘图和文字创作。

Poe API 接口的整合

Poe 提供了 API 接口,可以轻松整合到自己的程序中。通过阅读官方文档,我发现了一个非常实用的工具——poe-api-wrapper。这个工具允许用户共享在 Poe 的使用额度,而无需额外收费。

poe-api-wrapper 是一个基于 Python 的 API 接口库,采用 Httpx 技术。使用它,你可以通过 API 接口免费连接到 ChatGPT、DALLE、Claude、Mistral、Gemini 等多种服务。

操作步骤

建议先运行示例代码,了解这个库的功能。

你可以通过两种方式获得 token,我使用的是后者。

运行示例后的效果如下:

在 Poe 和 GPT 平台中,DALLE 的图像生成速率存在一定限制,通常默认只生成一张图片。参考了 poe-api-wrapper 仓库,我编写了一个 Python 代码,能够连续生成多张图片。

python
from poe_api_wrapper import PoeApi
import requests
import os

初始化 PoeApi 客户端

token = “yourtoken”
client = PoeApi(token)

从文件中读取提示列表

with open(“draw-input.txt”, “r”) as file:
prompts = file.readlines()

去掉每行末尾的换行符,并过滤掉空行

prompts = [prompt.strip() for prompt in prompts if prompt.strip()]

定义保存图片的文件夹路径

save_folder = “/Users/yourpath”

确保保存图片的文件夹存在

if not os.path.exists(save_folder):
os.makedirs(save_folder)

初始化 chatCode

chatCode = None

循环遍历提示列表,并发送给 DALL-E 3

for prompt in prompts:
print(f”正在请求: {prompt}”)
for _ in range(4): # 重复生成4次图片
for chunk in client.send_message(“DALL-E-3″, prompt, chatCode=chatCode, timeout=60):
# 如果是新的对话,保存 chatCode
if not chatCode and ‘chatCode’ in chunk:
chatCode = chunk[‘chatCode’]
print(f”新对话创建 | chatCode: {chatCode}”)

        # 检查 chunk 中是否包含图片 URL
        if 'response' in chunk and chunk['response'].startswith('!['):
            image_url = chunk['response'].split('(')[1].split(')')[0]
            print(f"生成的图片 URL: {image_url}")

            # 获取图片的内容
            response = requests.get(image_url)
            if response.status_code == 200:
                # 从 URL 中提取图片文件名
                filename = os.path.basename(image_url.split('?')[0])
                # 定义图片保存路径
                file_path = os.path.join(save_folder, filename)

                # 保存图片
                with open(file_path, 'wb') as file:
                    file.write(response.content)
                print(f"图片已保存到: {file_path}")
            else:
                print(f"下载图片失败: {response.status_code}")

不久后,我便用 DALLE3 生成了 200 多张图片。

代码功能说明

  1. 在代码所在的文件夹中,创建一个名为 “draw-input.txt” 的文件,用于存放 AI 绘图的提示词。文件中的每一行代表一个独立的提示词。运行代码时,它会批量处理这些提示词,每个提示词默认生成 4 张图片。
  2. Poe 目前提供三种 AI 绘图选项。在上述代码中,“DALL-E-3”可以直接替换为“Playground-v2”或“StableDiffusionXL”,但 DALL-E-3 的生成效果通常是最佳的。

生成的部分图片

注:上图的提示词参考了相关推特博主。

连续生成对话

Poe 中的机器人种类繁多,除了官方的,我们还可以使用第三方建立的,只需设置好机器人的名字即可。

python
from poe_api_wrapper import PoeApi
import datetime

初始化 PoeApi 客户端

token = “yourtoken”
client = PoeApi(token)

bot = “Claude-2-100k”

从文件中读取消息列表

with open(“chat-input.txt”, “r”) as file:
messages = [line.strip() for line in file if line.strip()] # 过滤掉空行

初始化 chatCode

chat_code = None

创建文件用于保存结果

now = datetime.datetime.now()
timestamp = now.strftime(“%Y%m%d%H%M%S”)
result_file = open(f”/Users/yourpath/result_{timestamp}.md”, “w”)

循环发送消息

for message in messages:
if chat_code:
response_gen = client.send_message(bot, message, chatCode=chat_code)
else:
response_gen = client.send_message(bot, message)

for chunk in response_gen:
    if 'chatCode' in chunk and not chat_code:
        chat_code = chunk['chatCode']

    # 写入去除了前导空格的回应
    result_file.write(chunk["response"].lstrip())  # 使用 lstrip() 移除左侧空格
    result_file.flush()

# 在每个结果后增加一个额外的空行
result_file.write("\n\n")

关闭结果文件

result_file.close()

代码功能说明:
1. 在代码所在的文件夹中,创建一个名为 “chat-input.txt” 的文件,用于存放对话的关键词。文件中的每行包含一个独立的关键词。执行代码后,它将自动批量处理这些关键词。
2. 在代码中,设置默认机器人为 “Claude-2-100k”,但可以根据需要更换为其他机器人。

应用场景:写教程

使用 GPT 生成的大纲作为 chat-input 的输入内容,执行程序后,可以创建一个大约 30kb 的文件。

我的理解是,我们在学习时往往只关注关键点,针对性地逐个提问更为合适。

应用场景:写小说

我向 GPT 请求了一份小说大纲和 20 个小说标题。将这些标题输入到 chat-input.txt 文件后,运行程序,结果是 ChatGPT-16k 为我创作了超过 30,000 字的小说。

生成的小说质量一般,需要优化提示词。

应用场景:批量写作

想象一下,在寒假的最后一天,小朋友需要完成 30 篇作文。只需将这 30 个作文主题录入一个文本文件,运行程序,几分钟内这 30 篇作文就能完成。

应用场景:批量检索

利用我编写的代码,只需将 bot 设置为 “Web-Search”,并把想查询的问题批量输入到 chat-txt 文件中,运行程序后,它能在几分钟内完成所有搜索。

在 Poe 平台上,使用第三方机器人非常简便。例如,可以先利用特定的机器人来批量产生 AI 绘图的提示词,然后将这些提示词输入到 draw-input 文件中,接着就可以批量生成相应的图片。

poe-api-wrapper 推出的机器人群聊也很有趣。

我尝试了一下,设置了几个机器人模型,其中一个配置成了 “Web-Search” 机器人,这样在对话中就能包含搜索结果。

总结

  1. 本文深入探讨了 Poe API 的高效应用及其在各种场景下的实际价值。
  2. 通过 poe-api-wrapper,我们不仅可以批量生成 AI 绘图和文本,还能与多种 AI 模型如 ChatGPT、Claude、DALL-E 等进行交互。
  3. 实际案例涵盖了教程编写、小说创作、批量写作、批量检索等多个方面,展示了 Poe API 在提高工作效率和创意表达方面的巨大潜力。
  4. 此外,文章还探讨了 Poe 平台上第三方机器人的使用和机器人群聊的趣味性。

👉 野卡 | 一分钟注册,轻松订阅海外线上服务

(0)
上一篇 2025年6月11日
下一篇 2025年6月11日

相关推荐