SDK
Portkey SDK 客户端以易于使用的 config-as-code 模式启用 Portkey 的各种功能。
安装 Portkey SDK
将 Portkey SDK 添加到您的应用程序中,以与 Portkey 的网关进行交互。
npm install --save portkey-aipip install portkey-ai导出 Portkey API 密钥
export PORTKEY_API_KEY=""基本客户端设置
基本的 Portkey SDK 客户端需要 2 个必需参数
Portkey 账户的 API 密钥,用于验证您的所有请求
在使用 REST API 时,通过请求头来实现。
例如,
import Portkey from 'portkey-ai';
// Construct a client with a virtual key
const portkey = new Portkey({
apiKey: "PORTKEY_API_KEY",
virtualKey: "VIRTUAL_KEY"
})
// Construct a client with a config id
const portkey = new Portkey({
apiKey: "PORTKEY_API_KEY",
config: "cf-***" // Supports a string config slug or a config object
})Find more info on what's available through configs here.
from portkey_ai import Portkey
# 使用虚拟密钥构建客户端
portkey = Portkey(
api_key="PORTKEY_API_KEY",
virtual_key="VIRTUAL_KEY"
)
# 使用提供者和提供者 API 密钥构建客户端
portkey = Portkey(
api_key="PORTKEY_API_KEY",
config="cf-***" # 支持字符串配置标识符或配置对象
)有关可用配置的更多信息,请访问 configs here.
有关可用配置的更多信息,请访问 configs here.
发起请求
您可以使用客户端进行完成和其他调用,如下所示
传递 Trace ID 或元数据
您可以选择在单个请求中覆盖配置,并将 trace id 或元数据与每个请求一起发送。
Async 使用
Portkey 的 Python SDK 支持 Async 使用 - 只需使用 AsyncPortkey 代替 Portkey 并使用 await:
参数
以下是您在创建 Portkey 客户端时可以添加的参数键。
遵循最流行的语言约定,我们使用:
camelCase 用于 Javascript 键
snake_case 用于 Python 键
hyphenated-keys 用于 headers
API Key 您的 Portkey 账户的 API Key。
apiKey
Virtual Key 从 Portkey 的保险库为特定提供商创建的虚拟密钥
virtualKey
Trace ID 您可以传递的 ID,以便稍后引用 1 个或多个请求。如果未发送,将自动为每个请求生成。
traceID
Metadata
要附加到请求的任何元数据。这些可以在分析和日志仪表板中进行过滤
可以包含 _prompt、_user、_organisation 或 _environment,这些都是 Portkey 中的特殊元数据类型。
您还可以将其他任何键作为此对象的一部分发送。
metadata
Cache Force Refresh 通过发起新调用并存储该值来强制刷新请求的缓存。
cacheForceRefresh
Cache Namespace 根据自定义字符串对缓存进行分区,忽略元数据和其他头部信息。
cacheNamespace
Custom Host 通过配置带有自定义主机的 API URL 路由到本地或私有托管的模型
customHost
Forward Headers 将敏感头部直接转发到您模型的 API,而不经过 Portkey 的任何处理。
forwardHeaders
Azure OpenAI Headers 可以单独发送的 Azure OpenAI 配置头
azureResourceName
azureDeploymentId
azureApiVersion
azureModelName
Google Vertex AI Headers 可以单独发送的 Vertex AI 配置头
vertexProjectId
vertexRegion
AWS Bedrock Headers 可以单独发送的 Bedrock 配置头
awsAccessKeyId awsSecretAccessKey awsRegion awsSessionToken
API Key 您的 Portkey 账户的 API Key。
api_key
Virtual Key 从 Portkey 的保险库为特定提供商创建的虚拟密钥
virtual_key
Trace ID 您可以传递的 ID,以便稍后引用 1 个或多个请求。如果未发送,将自动为每个请求生成。
trace_id
Metadata
要附加到请求的任何元数据。这些可以在分析和日志仪表板中进行过滤
可以包含 _prompt、_user、_organisation 或 _environment,这些都是 Portkey 中的特殊元数据类型。
您还可以将其他任何键作为此对象的一部分发送。
metadata
Cache Force Refresh 通过发起新调用并存储该值来强制刷新请求的缓存。
cache_force_refresh
Cache Namespace 根据自定义字符串对缓存进行分区,忽略元数据和其他头部信息。
cache_namespace
Custom Host 通过配置带有自定义主机的 API URL 路由到本地或私有托管的模型
custom_host
Forward Headers 将敏感头部直接转发到您模型的 API,而不经过 Portkey 的任何处理。
forward_headers
Azure OpenAI Headers 可以单独发送的 Azure OpenAI 配置头
azure_resource_name
azure_deployment_id
azure_api_version
azure_model_name
Google Vertex AI Headers 可以单独发送的 Vertex AI 配置头
vertex_project_id
vertex_region
AWS Bedrock Headers 可以单独发送的 Bedrock 配置头
aws_access_key_id
aws_secret_access_key
aws_region
aws_session_token
API Key 您的 Portkey 账户的 API Key。
x-portkey-api-key
Virtual Key 从 Portkey 的保险库为特定提供商创建的虚拟密钥
x-portkey-virtual-key
Trace ID 您可以传递的 ID,以便稍后引用 1 个或多个请求。如果未发送,将自动为每个请求生成。
x-portkey-trace-id
Metadata
要附加到请求的任何元数据。这些可以在分析和日志仪表板中进行过滤
可以包含 _prompt、_user、_organisation 或 _environment,这些都是 Portkey 中的特殊元数据类型。
您还可以将其他任何键作为此对象的一部分发送。
x-portkey-metadata
Cache Force Refresh 通过发起新调用并存储该值来强制刷新请求的缓存。
x-portkey-cache-force-refresh
Cache Namespace 根据自定义字符串对缓存进行分区,忽略元数据和其他头部信息
x-portkey-cache-namespace
Custom Host 通过配置带有自定义主机的 API URL 路由到本地或私有托管的模型
x-portkey-custom-host
Forward Headers 将敏感头部直接转发到您模型的 API,而不经过 Portkey 的任何处理。
x-portkey-forward-headers
Azure OpenAI Headers 可以单独发送的 Azure OpenAI 配置头
x-portkey-azure-resource-name
x-portkey-azure-deployment-id
x-portkey-azure-api-version
api-key
x-portkey-azure-model-name
Google Vertex AI Headers 可以单独发送的 Vertex AI 配置头
x-portkey-vertex-project-id
x-portkey-vertex-region
AWS Bedrock Headers 可以单独发送的 Bedrock 配置头
x-portkey-aws-session-token
x-portkey-aws-secret-access-key
x-portkey-aws-region
x-portkey-aws-session-token
Last updated