Skip to content

prefect_openai.credentials

Module for authenticating with OpenAI.

Classes

OpenAICredentials

Bases: CredentialsBlock

Credentials used to authenticate with OpenAI.

Attributes:

Name Type Description
api_key SecretStr

The API key used to authenticate with OpenAI.

Example

Load a configured block:

from prefect_openai import OpenAICredentials

credentials = OpenAICredentials.load("BLOCK_NAME")

Get the OpenAPI client:

from prefect_openai import OpenAICredentials

credentials = OpenAICredentials.load("BLOCK_NAME")
client = credentials.get_client()

Source code in prefect_openai/credentials.py
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
class OpenAICredentials(CredentialsBlock):
    """
    Credentials used to authenticate with OpenAI.

    Attributes:
        api_key: The API key used to authenticate with OpenAI.

    Example:
        Load a configured block:
        ```python
        from prefect_openai import OpenAICredentials

        credentials = OpenAICredentials.load("BLOCK_NAME")
        ```

        Get the OpenAPI client:
        ```python
        from prefect_openai import OpenAICredentials

        credentials = OpenAICredentials.load("BLOCK_NAME")
        client = credentials.get_client()
        ```
    """

    _block_type_name = "OpenAI Credentials"
    _logo_url = "https://cdn.sanity.io/images/3ugk85nk/production/760539393a7dbf93a143fb01c2a8b0fe7157a8d8-247x250.png"  # noqa
    _documentation_url = "https://prefecthq.github.io/prefect-openai/credentials/#prefect_openai.credentials.OpenAICredentials"  # noqa

    api_key: SecretStr = Field(
        default=...,
        title="API Key",
        description="The API key used to authenticate with OpenAI.",
    )

    organization: Optional[str] = Field(
        default=None,
        title="Organization",
        description="Specify which organization is used for an API request.",
    )

    def get_client(self) -> ModuleType:
        """
        Gets the OpenAPI client.

        Returns:
            The OpenAPI client.
        """
        openai.api_key = self.api_key.get_secret_value()
        openai.organization = self.organization
        return openai

Functions

get_client

Gets the OpenAPI client.

Returns:

Type Description
ModuleType

The OpenAPI client.

Source code in prefect_openai/credentials.py
56
57
58
59
60
61
62
63
64
65
def get_client(self) -> ModuleType:
    """
    Gets the OpenAPI client.

    Returns:
        The OpenAPI client.
    """
    openai.api_key = self.api_key.get_secret_value()
    openai.organization = self.organization
    return openai