OpenAITextCompletion Class

OpenAI Text Completion class.

Initialize an OpenAITextCompletion service.

Inheritance
OpenAITextCompletion
OpenAITextCompletion

Constructor

OpenAITextCompletion(ai_model_id: str | None = None, api_key: str | None = None, org_id: str | None = None, service_id: str | None = None, default_headers: Mapping[str, str] | None = None, async_client: AsyncOpenAI | None = None, env_file_path: str | None = None, env_file_encoding: str | None = None)

Parameters

Name Description
ai_model_id
<xref:<xref:semantic_kernel.connectors.ai.open_ai.str | None>>
Default value: None
service_id
<xref:<xref:semantic_kernel.connectors.ai.open_ai.str | None>>

Service ID tied to the execution settings.

Default value: None
api_key
<xref:<xref:semantic_kernel.connectors.ai.open_ai.str | None>>

The optional API key to use. If provided will override, the env vars or .env file value.

Default value: None
org_id
<xref:<xref:semantic_kernel.connectors.ai.open_ai.str | None>>

The optional org ID to use. If provided will override, the env vars or .env file value.

Default value: None
default_headers

The default headers mapping of string keys to string values for HTTP requests. (Optional)

Default value: None
async_client
<xref:Optional>[<xref:AsyncOpenAI>]

An existing client to use. (Optional)

Default value: None
env_file_path
<xref:<xref:semantic_kernel.connectors.ai.open_ai.str | None>>

Use the environment settings file as a fallback to environment variables. (Optional)

Default value: None
env_file_encoding
<xref:<xref:semantic_kernel.connectors.ai.open_ai.str | None>>

The encoding of the environment settings file. (Optional)

Default value: None

Methods

from_dict

Initialize an Open AI service from a dictionary of settings.

from_dict

Initialize an Open AI service from a dictionary of settings.

from_dict(settings: dict[str, Any]) -> OpenAITextCompletion

Parameters

Name Description
settings
Required

A dictionary of settings for the service.

Attributes

model_computed_fields

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'populate_by_name': True, 'validate_assignment': True}

model_fields

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.fields from Pydantic V1.

model_fields: ClassVar[Dict[str, FieldInfo]] = {'ai_model_id': FieldInfo(annotation=str, required=True, metadata=[StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=None, pattern=None)]), 'ai_model_type': FieldInfo(annotation=OpenAIModelTypes, required=False, default=<OpenAIModelTypes.CHAT: 'chat'>), 'client': FieldInfo(annotation=AsyncOpenAI, required=True), 'completion_tokens': FieldInfo(annotation=int, required=False, default=0), 'prompt_tokens': FieldInfo(annotation=int, required=False, default=0), 'service_id': FieldInfo(annotation=str, required=False, default=''), 'total_tokens': FieldInfo(annotation=int, required=False, default=0)}