airflow.providers.openai.hooks.openai

BatchStatus

表示批处理状态的枚举。

OpenAIHook

使用 OpenAI SDK 与 OpenAI API 交互。

模块内容

class airflow.providers.openai.hooks.openai.BatchStatus[源码]

继承自: str, enum.Enum

表示批处理状态的枚举。

VALIDATING = 'validating'[源码]
FAILED = 'failed'[源码]
IN_PROGRESS = 'in_progress'[源码]
FINALIZING = 'finalizing'[源码]
COMPLETED = 'completed'[源码]
EXPIRED = 'expired'[源码]
CANCELLING = 'cancelling'[源码]
CANCELLED = 'cancelled'[源码]
__str__()[源码]

返回 str(self)。

classmethod is_in_progress(status)[源码]

检查批处理状态是否正在进行。

class airflow.providers.openai.hooks.openai.OpenAIHook(conn_id=default_conn_name, *args, **kwargs)[源码]

继承自: airflow.hooks.base.BaseHook

使用 OpenAI SDK 与 OpenAI API 交互。

参数:

conn_id (str) – OpenAI 连接 ID

conn_name_attr = 'conn_id'[源码]
default_conn_name = 'openai_default'[源码]
conn_type = 'openai'[源码]
hook_name = 'OpenAI'[源码]
conn_id = 'openai_default'[源码]
classmethod get_ui_field_behaviour()[源码]

返回自定义字段行为。

test_connection()[源码]
property conn: openai.OpenAI[源码]

返回一个 OpenAI 连接对象。

get_conn()[源码]

返回一个 OpenAI 连接对象。

create_chat_completion(messages, model='gpt-3.5-turbo', **kwargs)[源码]

为给定的聊天对话创建一个模型响应,并返回聊天完成列表。

参数:
  • messages (list[openai.types.chat.ChatCompletionSystemMessageParam | openai.types.chat.ChatCompletionUserMessageParam | openai.types.chat.ChatCompletionAssistantMessageParam | openai.types.chat.ChatCompletionToolMessageParam | openai.types.chat.ChatCompletionFunctionMessageParam]) – 包含到目前为止对话的消​​息列表

  • model (str) – 要使用的模型 ID。

create_assistant(model='gpt-3.5-turbo', **kwargs)[源码]

使用给定的模型创建一个 OpenAI 助手。

参数:

model (str) – 助手要使用的 OpenAI 模型。

get_assistant(assistant_id)[源码]

获取一个 OpenAI 助手。

参数:

assistant_id (str) – 要检索的助手 ID。

get_assistants(**kwargs)[源码]

获取 Assistant 对象列表。

modify_assistant(assistant_id, **kwargs)[源码]

修改现有 Assistant 对象。

参数:

assistant_id (str) – 要修改的助手 ID。

delete_assistant(assistant_id)[源码]

删除给定 ID 的 OpenAI 助手。

参数:

assistant_id (str) – 要删除的助手 ID。

create_thread(**kwargs)[源码]

创建一个 OpenAI 线程。

modify_thread(thread_id, metadata)[源码]

修改现有 Thread 对象。

参数:
  • thread_id (str) – 要修改的线程 ID。只能修改 metadata。

  • metadata (dict[str, Any]) – 可附加到对象上的 16 个键值对集合。

delete_thread(thread_id)[源码]

删除给定 thread_id 的 OpenAI 线程。

参数:

thread_id (str) – 要删除的线程 ID。

create_message(thread_id, role, content, **kwargs)[源码]

为给定 Thread 创建消息。

参数:
  • thread_id (str) – 要为其创建消息的线程 ID。

  • role (Literal['user', 'assistant']) – 创建消息的实体角色。允许的值包括:“user”、“assistant”。

  • content (str) – 消息内容。

get_messages(thread_id, **kwargs)[源码]

返回给定 Thread 的消息列表。

参数:

thread_id (str) – 消息所属线程的 ID。

modify_message(thread_id, message_id, **kwargs)[源码]

修改给定 Thread 的现有消息。

参数:
  • thread_id (str) – 此消息所属线程的 ID。

  • message_id – 要修改的消息 ID。

create_run(thread_id, assistant_id, **kwargs)[源码]

为给定线程和助手创建运行。

参数:
  • thread_id (str) – 要运行的线程 ID。

  • assistant_id (str) – 用于执行此运行的助手 ID。

create_run_and_poll(thread_id, assistant_id, **kwargs)[源码]

为给定线程和助手创建一个运行,然后轮询直到完成。

参数:
  • thread_id (str) – 要运行的线程 ID。

  • assistant_id (str) – 用于执行此运行的助手 ID。

返回:

一个 OpenAI Run 对象

返回类型:

openai.types.beta.threads.Run

get_run(thread_id, run_id)[源码]

检索给定线程和运行的运行。

参数:
  • thread_id (str) – 已运行线程的 ID。

  • run_id (str) – 要检索的运行 ID。

get_runs(thread_id, **kwargs)[源码]

返回属于线程的运行列表。

参数:

thread_id (str) – 运行所属线程的 ID。

modify_run(thread_id, run_id, **kwargs)[源码]

修改给定线程上的运行。

参数:
  • thread_id (str) – 已运行线程的 ID。

  • run_id (str) – 要修改的运行 ID。

create_embeddings(text, model='text-embedding-ada-002', **kwargs)[源码]

使用给定的模型为给定的文本生成嵌入。

参数:
upload_file(file, purpose)[源码]

上传一个文件,该文件可在各种端点中使用。一个组织上传的所有文件总大小可达 100 GB。

参数:
  • file (str) – 要上传的文件对象(不是文件名)。

  • purpose (Literal['fine-tune', 'assistants', 'batch']) – 上传文件的预期用途。对微调 (Fine-tuning) 使用“fine-tune”,对助手 (Assistants) 和消息 (Messages) 使用“assistants”,对批量 API (Batch API) 使用“batch”。

get_file(file_id)[源码]

返回特定文件的信息。

参数:

file_id (str) – 此请求要使用的文件 ID。

get_files()[源码]

返回属于用户组织的文件列表。

delete_file(file_id)[源码]

删除一个文件。

参数:

file_id (str) – 要删除的文件 ID。

create_vector_store(**kwargs)[源码]

创建一个向量存储。

get_vector_stores(**kwargs)[源码]

返回向量存储列表。

get_vector_store(vector_store_id)[源码]

检索一个向量存储。

参数:

vector_store_id (str) – 要检索的向量存储 ID。

modify_vector_store(vector_store_id, **kwargs)[source]

修改向量存储。

参数:

vector_store_id (str) – 要修改的向量存储的 ID。

delete_vector_store(vector_store_id)[source]

删除向量存储。

参数:

vector_store_id (str) – 要删除的向量存储的 ID。

upload_files_to_vector_store(vector_store_id, files)[source]

上传文件到向量存储并轮询直到完成。

参数:
  • vector_store_id (str) – 文件要上传到的向量存储的 ID。

  • files (list[BinaryIO]) – 要上传的二进制文件列表。

get_vector_store_files(vector_store_id)[source]

返回向量存储文件列表。

参数:

vector_store_id (str)

delete_vector_store_file(vector_store_id, file_id)[source]

删除向量存储文件。这将从向量存储中移除文件,但文件本身不会被删除。要删除文件,请使用 delete_file。

参数:
  • vector_store_id (str) – 文件所属的向量存储的 ID。

  • file_id (str) – 要删除的文件的 ID。

create_batch(file_id, endpoint, metadata=None, completion_window='24h')[source]

为给定的模型和文件创建一个批次。

参数:
  • file_id (str) – 用于此批次的文件 ID。

  • endpoint (Literal['/v1/chat/completions', '/v1/embeddings', '/v1/completions']) – 用于此批次的端点。允许的值包括:‘/v1/chat/completions’、‘/v1/embeddings’、‘/v1/completions’。

  • metadata (dict[str, str] | None) – 可以附加到对象的一组键值对。

  • completion_window (Literal['24h']) – 批次完成的时间窗口。默认为 24 小时。

get_batch(batch_id)[source]

获取批次的状态。

参数:

batch_id (str) – 要获取状态的批次的 ID。

wait_for_batch(batch_id, wait_seconds=3, timeout=3600)[source]

轮询批次以检查是否完成。

参数:
  • batch_id (str) – 要等待的批次的 ID。

  • wait_seconds (float) – 可选。检查之间的秒数。

  • timeout (float) – 可选。等待批次就绪的秒数。仅在非延迟操作符中运行时使用。

cancel_batch(batch_id)[source]

取消批次。

参数:

batch_id (str) – 要取消的批次的 ID。

本条目有帮助吗?