Skip to main content

Python client library for the Portkey API

Project description


Control Panel for AI Apps

pip install portkey-ai

Features

The Portkey SDK is built on top of the OpenAI SDK, allowing you to seamlessly integrate Portkey's advanced features while retaining full compatibility with OpenAI methods. With Portkey, you can enhance your interactions with OpenAI or any other OpenAI-like provider by leveraging robust monitoring, reliability, prompt management, and more features - without modifying much of your existing code.

AI Gateway

Unified API Signature
If you've used OpenAI, you already know how to use Portkey with any other provider.
Interoperability
Write once, run with any provider. Switch between any model from_any provider seamlessly.
Automated Fallbacks & Retries
Ensure your application remains functional even if a primary service fails.
Load Balancing
Efficiently distribute incoming requests among multiple models.
Semantic Caching
Reduce costs and latency by intelligently caching results.
Virtual Keys
Secure your LLM API keys by storing them in Portkey vault and using disposable virtual keys.
Request Timeouts
Manage unpredictable LLM latencies effectively by setting custom request timeouts on requests.

Observability

Logging
Keep track of all requests for monitoring and debugging.
Requests Tracing
Understand the journey of each request for optimization.
Custom Metadata
Segment and categorize requests for better insights.
Feedbacks
Collect and analyse weighted feedback on requests from users.
Analytics
Track your app & LLM's performance with 40+ production-critical metrics in a single place.

Usage

Prerequisites

  1. Sign up on Portkey and grab your Portkey API Key
  2. Add your OpenAI key to Portkey's Virtual Keys page and keep it handy
# Installing the SDK

$ pip install portkey-ai
$ export PORTKEY_API_KEY=PORTKEY_API_KEY

Making a Request to OpenAI

  • Portkey fully adheres to the OpenAI SDK signature. You can instantly switch to Portkey and start using our production features right out of the box.
  • Just replace from openai import OpenAI with from portkey_ai import Portkey:
from portkey_ai import Portkey

portkey = Portkey(
    api_key="PORTKEY_API_KEY",
    virtual_key="VIRTUAL_KEY"
)

chat_completion = portkey.chat.completions.create(
    messages = [{ "role": 'user', "content": 'Say this is a test' }],
    model = 'gpt-4'
)

print(chat_completion)

Async Usage

  • Use AsyncPortkey instead of Portkey with await:
import asyncio
from portkey_ai import AsyncPortkey

portkey = AsyncPortkey(
    api_key="PORTKEY_API_KEY",
    virtual_key="VIRTUAL_KEY"
)

async def main():
    chat_completion = await portkey.chat.completions.create(
        messages=[{'role': 'user', 'content': 'Say this is a test'}],
        model='gpt-4'
    )

    print(chat_completion)

asyncio.run(main())

Compatibility with OpenAI SDK

Portkey currently supports all the OpenAI methods, including the legacy ones.

Methods OpenAI
V1.26.0
Portkey
V1.3.1
Audio
Chat
Embeddings
Images
Fine-tuning
Batch
Files
Models
Moderations
Assistants
Threads
Thread - Messages
Thread - Runs
Thread - Run - Steps
Vector Store
Vector Store - Files
Vector Store - Files Batches
Generations ❌ (Deprecated)
Completions ❌ (Deprecated)

Portkey-Specific Methods

Methods Portkey
V1.3.1
Feedback
Prompts

Check out Portkey docs for the full list of supported providers

follow on Twitter Discord

Contributing

Get started by checking out Github issues. Email us at support@portkey.ai or just ping on Discord to chat.

Project details


Release history Release notifications | RSS feed

This version

1.7.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

portkey_ai-1.7.0.tar.gz (224.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

portkey_ai-1.7.0-py3-none-any.whl (405.9 kB view details)

Uploaded Python 3

File details

Details for the file portkey_ai-1.7.0.tar.gz.

File metadata

  • Download URL: portkey_ai-1.7.0.tar.gz
  • Upload date:
  • Size: 224.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for portkey_ai-1.7.0.tar.gz
Algorithm Hash digest
SHA256 454bd7d0d8555b5e80c289cdbba0dd3b9ac1e6e2af8ad2fb2599a83e251e6727
MD5 75fad75eebc4812cf547f23a6c0d1a84
BLAKE2b-256 e05d2a42b6a2e4fb0097396117c8e4239590828a8014889b3fa77e7a6215f658

See more details on using hashes here.

File details

Details for the file portkey_ai-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: portkey_ai-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 405.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for portkey_ai-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5cebd676f8fa01489d25e49a8ae69e7af23fb79ce3f61d45a071b6e21bc4ae3c
MD5 a72549f7edd93e220b31dde9885c9db6
BLAKE2b-256 3cef9773beee73ee28679e4474d1c1bb33b6961b3a9fe4073b88c3c02d74818d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page