Portkey provides a robust and secure gateway to facilitate the integration of various Large Language Models (LLMs) into your applications, including Workers AI.
With Portkey, you can take advantage of features like fast AI gateway access, observability, prompt management, and more, all while ensuring the secure management of your LLM API keys through a virtual key system.
To use Workers AI with Portkey, get your API key from here, then add it to Portkey to create the virtual key.
import Portkey from 'portkey-ai'const portkey = new Portkey({ apiKey: "PORTKEY_API_KEY", // defaults to process.env["PORTKEY_API_KEY"] virtualKey: "VIRTUAL_KEY" // Your Workers AI Virtual Key})
import Portkey from 'portkey-ai'const portkey = new Portkey({ apiKey: "PORTKEY_API_KEY", // defaults to process.env["PORTKEY_API_KEY"] virtualKey: "VIRTUAL_KEY" // Your Workers AI Virtual Key})
from portkey_ai import Portkeyportkey = Portkey( api_key="PORTKEY_API_KEY", # Replace with your Portkey API key virtual_key="VIRTUAL_KEY" # Replace with your virtual key for Groq)
Use the Portkey instance to send requests to Workers AI. You can also override the virtual key directly in the API call if needed.
Portkey supports the OpenAI signature to make text-to-image requests.
import Portkey from 'portkey-ai';// Initialize the Portkey clientconst portkey = new Portkey({ apiKey: "PORTKEY_API_KEY", // Replace with your Portkey API key virtualKey: "VIRTUAL_KEY" // Add your provider's virtual key});async function main() { const image = await portkey.images.generate({ model: "image_model_name", prompt: "Lucy in the sky with diamonds" }); console.log(image.data);}main();
import Portkey from 'portkey-ai';// Initialize the Portkey clientconst portkey = new Portkey({ apiKey: "PORTKEY_API_KEY", // Replace with your Portkey API key virtualKey: "VIRTUAL_KEY" // Add your provider's virtual key});async function main() { const image = await portkey.images.generate({ model: "image_model_name", prompt: "Lucy in the sky with diamonds" }); console.log(image.data);}main();
from portkey_ai import Portkeyfrom IPython.display import display, Image# Initialize the Portkey clientportkey = Portkey( api_key="PORTKEY_API_KEY", # Replace with your Portkey API key virtual_key="VIRTUAL_KEY" # Add your provider's virtual key)image = portkey.images.generate( model="image_model_name", prompt="Lucy in the sky with diamonds")# Display the imagedisplay(Image(url=image.data[0].url))
import OpenAI from 'openai'; // We're using the v4 SDKimport { PORTKEY_GATEWAY_URL, createHeaders } from 'portkey-ai'const openai = new OpenAI({ apiKey: 'WORKERS_AI_API_KEY', // defaults to process.env["WORKERS_AI_API_KEY"], baseURL: PORTKEY_GATEWAY_URL, defaultHeaders: createHeaders({ provider: "openai", apiKey: "PORTKEY_API_KEY" // defaults to process.env["PORTKEY_API_KEY"] })});async function main() { const image = await openai.images.generate({ model: "image_model_name", prompt: "Lucy in the sky with diamonds" }); console.log(image.data);}main();
from openai import OpenAIfrom portkey_ai import PORTKEY_GATEWAY_URL, createHeadersfrom IPython.display import display, Imageclient = OpenAI( api_key='WORKERS_AI_API_KEY', base_url=PORTKEY_GATEWAY_URL, default_headers=createHeaders( provider="openai", api_key="PORTKEY_API_KEY" ))image = client.images.generate( model="image_model_name", prompt="Lucy in the sky with diamonds", n=1, size="1024x1024")# Display the imagedisplay(Image(url=image.data[0].url))
curl "https://api.portkey.ai/v1/images/generations" \ -H "Content-Type: application/json" \ -H "x-portkey-api-key: $PORTKEY_API_KEY" \ -H "x-portkey-virtual-key: $WORKERS_AI_VIRTUAL_KEY" \ -d '{ "model": "image_model_name", "prompt": "Lucy in the sky with diamonds" }'
You can manage all prompts to Workers AI in the Prompt Library. All the current models of Workers AI are supported and you can easily start testing different prompts.
Once you’re ready with your prompt, you can use the portkey.prompts.completions.create interface to use the prompt in your application.
The complete list of features supported in the SDK are available on the link below.