Milvus is an open-source vector database built for GenAI applications.
It is built to be performant and scale to tens of billions of vectors with minimal performance loss.
Portkey provides a proxy to Milvus, allowing you to use virtual keys and observability features.
Portkey SDK Integration with Milvus
Portkey provides a consistent API to interact with models from various providers. To integrate Milvus with Portkey:
1. Install the Portkey SDK
Add the Portkey SDK to your application to interact with Milvus through Portkey’s gateway.
npm install --save portkey-ai
2. Initialize Portkey with a Virtual Key
To use Milvus with Portkey, get your Milvus API key from here, then add it to Portkey to create your Milvus virtual key.
NodeJS SDK
Python SDK
OpenAI Python SDK
OpenAI Node SDK
import Portkey from 'portkey-ai'
const portkey = new Portkey({
apiKey: "PORTKEY_API_KEY", // defaults to process.env["PORTKEY_API_KEY"]
virtualKey: "VIRTUAL_KEY" // Your Milvus Virtual Key
})
from portkey_ai import Portkey
portkey = Portkey(
api_key="PORTKEY_API_KEY", # Replace with your Portkey API key
virtual_key="VIRTUAL_KEY" # Replace with your virtual key for Milvus
)
from openai import OpenAI
from portkey_ai import PORTKEY_GATEWAY_URL, createHeaders
client = OpenAI(
api_key="MILVUS_API_KEY",
base_url=PORTKEY_GATEWAY_URL,
default_headers=createHeaders(
api_key="PORTKEY_API_KEY",
provider="milvus",
custom_host="MILVUS_HOST" # Replace with your Milvus host example: https://in03-34d7b37f7ee12c7.serverless.gcp-us-west1.cloud.zilliz.com
)
)
import OpenAI from "openai";
import { PORTKEY_GATEWAY_URL, createHeaders } from "portkey-ai";
const client = new OpenAI({
apiKey: "MILVUS_API_KEY",
baseURL: PORTKEY_GATEWAY_URL,
defaultHeaders: createHeaders({
provider: "milvus",
apiKey: "PORTKEY_API_KEY",
customHost: "MILVUS_HOST" // Replace with your Milvus host example: https://in03-34d7b37f7ee12c7.serverless.gcp-us-west1.cloud.zilliz.com
}),
});
3. Use the Portkey SDK to interact with Milvus
Python
NodeJS
OpenAI NodeJS
OpenAI Python
cURL
from portkey_ai import Portkey
portkey = Portkey(
api_key="PORTKEY_API_KEY", # Replace with your Portkey API key
virtual_key="MILVUS_VIRTUAL_KEY",
custom_host="MILVUS_HOST" # Replace with your Milvus host example: https://in03-34d7b37f7ee12c7.serverless.gcp-us-west1.cloud.zilliz.com
)
response = portkey.post(
url="v2/vectordb/collections/list", # Replace with the endpoint you want to call
)
print(response)
import Portkey from 'portkey-ai';
// Initialize the Portkey client
const portkey = new Portkey({
apiKey: "PORTKEY_API_KEY", // Replace with your Portkey API key
virtualKey: "MILVUS_VIRTUAL_KEY", // Add your Milvus's virtual key
customHost="MILVUS_HOST" // Replace with your Milvus host example: https://in03-34d7b37f7ee12c7.serverless.gcp-us-west1.cloud.zilliz.com
});
response = portkey.post(
url="v2/vectordb/collections/list", # Replace with the endpoint you want to call
)
print(response)
import OpenAI from 'openai'; // We're using the v4 SDK
import { PORTKEY_GATEWAY_URL, createHeaders } from 'portkey-ai'
const openai = new OpenAI({
apiKey: 'MILVUS_API_KEY', // defaults to process.env["OPENAI_API_KEY"],
baseURL: PORTKEY_GATEWAY_URL,
defaultHeaders: createHeaders({
virtualKey: "MILVUS_VIRTUAL_KEY",
apiKey: "PORTKEY_API_KEY", // defaults to process.env["PORTKEY_API_KEY"]
customHost: "MILVUS_HOST" // Replace with your Milvus host example: https://in03-34d7b37f7ee12c7.serverless.gcp-us-west1.cloud.zilliz.com
})
});
response = openai.post(
url="v2/vectordb/collections/list", # Replace with the endpoint you want to call
)
print(response)
from openai import OpenAI
from portkey_ai import PORTKEY_GATEWAY_URL, createHeaders
openai = OpenAI(
api_key='MILVUS_API_KEY',
base_url=PORTKEY_GATEWAY_URL,
default_headers=createHeaders(
provider="milvus",
api_key="PORTKEY_API_KEY",
custom_host="MILVUS_HOST" # Replace with your Milvus host example: https://in03-34d7b37f7ee12c7.serverless.gcp-us-west1.cloud.zilliz.com
)
)
response = openai.post(
url="v2/vectordb/collections/list", # Replace with the endpoint you want to call
)
print(response)
curl --location --request POST 'https://api.portkey.ai/v1/v2/vectordb/collections/list' \
--header 'x-portkey-custom-host: https://in03-34d7b37f7de12c7.serverless.gcp-us-west1.cloud.zilliz.com' \
--header 'x-portkey-virtual-key: MILVUS_VIRTUAL_KEY' \
--header 'x-portkey-api-key: PORTKEY_API_KEY'
Last modified on January 31, 2026