图像生成
使用 Portkey AI 网关生成图像
Portkey 的 AI 网关 支持通过统一 API 调用多个图像模型生成图像。本笔记展示了以下功能:
通过 OpenAI 生成图像
使用相同请求通过 Stability AI 生成图像
在 OpenAI 和 Stability 之间设置负载均衡,并回退到 OpenAI 的 dall-e-2
缓存图像请求以实现超快加载
本笔记使用 OpenAI SDK 展示功能。我们使用的是 portkey.ai 上的托管 AI 网关,但您也可以将其替换为内部托管的网关。
# Constants for use later - Please enter your own
PORTKEY_API_KEY="" # Get this from your Portkey Account
OPENAI_API_KEY = "" # Your OpenAI key here
STABILITY_API_KEY = "" # Add your stability ai API key1. 使用 OpenAI 生成图像
让我们尝试通过 Portkey 向 OpenAI 发起图像生成请求。
from openai import OpenAI
from portkey_ai import PORTKEY_GATEWAY_URL, createHeaders
from IPython.display import display, Image
client = OpenAI(
api_key=OPENAI_API_KEY,
base_url=PORTKEY_GATEWAY_URL,
default_headers=createHeaders(
provider="openai",
api_key=PORTKEY_API_KEY
)
)
image = client.images.generate(
model="dall-e-3",
prompt="Lucy in the sky with diamonds",
n=1,
size="1024x1024"
)
# Display the image
display(Image(url=image.data[0].url))此请求通过 Portkey 的快速 AI 网关进行处理,并在您的 Portkey 仪表板上捕获请求信息。
2. 使用 Stability AI 生成图像
让我们尝试通过 Portkey 向 Stability 发起图像生成请求。请注意,我们将使用 OpenAI SDK 本身来调用 Stability AI。
3. 使用负载均衡和回退的配置
AI 网关允许我们创建路由配置,以提高请求的可靠性。让我们举个例子,假设我们希望在 OpenAI 的 dall-e-3 和 Stability 的 stable-diffusion-v1-6 之间均匀负载均衡,并且整体回退到 dall-e-2。
这需要我们创建一个结构如下的配置:
让我们使用 Portkey 的配置来定义这个,以实现相同的结果。您可以在 这里 找到更多关于配置的信息。
生成的图像将遵循您的回退和负载均衡配置,使您的应用程序非常具有弹性。
4. 缓存图像请求
AI 网关还支持缓存请求,使其极快。我们可以在上述配置中添加缓存,并再次尝试请求。
Last updated