OpenAI Developer Kit

class ractogateway.openai_developer_kit.OpenAIDeveloperKit(model='gpt-4o', *, api_key=None, base_url=None, embedding_model='text-embedding-3-small', default_prompt=None)[source]

Bases: object

Complete OpenAI developer kit — chat, stream, and embeddings.

Parameters:
  • model (str) – Chat model (e.g. "gpt-4o", "gpt-4o-mini").

  • api_key (str | None) – OpenAI API key. Falls back to OPENAI_API_KEY env var.

  • base_url (str | None) – Custom base URL (Azure OpenAI or proxy).

  • embedding_model (str) – Default embedding model. Defaults to "text-embedding-3-small".

  • default_prompt (RactoPrompt | None) – RACTO prompt used when ChatConfig.prompt is None.

async achat(config)[source]

Async chat completion.

Return type:

LLMResponse

async aembed(config)[source]

Async embedding.

Return type:

EmbeddingResponse

async astream(config)[source]

Async streaming — yields StreamChunk objects.

Return type:

AsyncIterator[StreamChunk]

chat(config)[source]

Synchronous chat completion.

Return type:

LLMResponse

embed(config)[source]

Synchronous embedding.

Return type:

EmbeddingResponse

provider: str = 'openai'
stream(config)[source]

Synchronous streaming — yields StreamChunk objects.

Example:

for chunk in kit.stream(config):
    print(chunk.delta.text, end="", flush=True)
    if chunk.is_final:
        print(f"\nTokens: {chunk.usage}")
Return type:

Iterator[StreamChunk]

Short alias

Chat is an alias for OpenAIDeveloperKit:

.. code-block:: python

from ractogateway import openai_developer_kit as gpt kit = gpt.Chat(model=”gpt-4o”)