Convert a Phoenix prompt to a specific SDK's parameters

// Get a prompt from Phoenix, use it via openai sdk
const prompt = await getPrompt({ prompt: { name: "my-prompt" } });
const openaiParams = toSDK({ sdk: "openai", prompt });
const response = await openai.chat.completions.create(openaiParams);
// Enforce variable types via Generic argument
const prompt = await getPrompt({ prompt: { name: "my-prompt" } });
const openaiParams = toSDK<"openai", { name: string }>({ sdk: "openai", prompt, variables: { name: "John" } });
  • Type Parameters

    • T extends "anthropic" | "ai" | "openai"
    • V extends Variables = Variables

    Parameters

    • params: ToSDKParams<T, V> & SDKParams<T>

      The parameters to convert a prompt to an SDK's parameters

    Returns ReturnType<
        {
            ai: <V extends Variables>(
                __namedParameters: ToAIParams<V>,
            ) => null | PartialStreamTextParams;
            anthropic: <V extends Variables = Variables>(
                __namedParameters: ToAnthropicParams<V>,
            ) => null | MessageCreateParams;
            openai: <V extends Variables = Variables>(
                __namedParameters: ToOpenAIParams<V>,
            ) => null | ChatCompletionCreateParams;
        }[T],
    >

    The SDK's parameters