From 025a18a6ea7101a79690635aaee67063179063c2 Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Fri, 25 Oct 2024 13:55:24 +1100 Subject: [PATCH] added openai microsite --- .github/workflows/build-docs.yaml | 2 +- README.md | 2 +- ci-scripts/get-providers-to-deploy.js | 3 +- docs/openai-docs/index.md | 103 ++++++++++++++++++ .../openai/assistants/assistants/index.md | 53 +++++++++ .../providers/openai/assistants/index.md | 51 +++++++++ .../openai/assistants/messages/index.md | 54 +++++++++ .../openai/assistants/run_steps/index.md | 53 +++++++++ .../providers/openai/assistants/runs/index.md | 68 ++++++++++++ .../openai/assistants/threads/index.md | 45 ++++++++ .../providers/openai/audio/index.md | 49 +++++++++ .../providers/openai/audio/speeches/index.md | 35 ++++++ .../openai/audio/transcriptions/index.md | 35 ++++++ .../openai/audio/translations/index.md | 35 ++++++ .../openai/audit_logs/audit_logs/index.md | 59 ++++++++++ .../providers/openai/audit_logs/index.md | 47 ++++++++ .../providers/openai/batch/batches/index.md | 59 ++++++++++ .../providers/openai/batch/index.md | 47 ++++++++ .../openai/chat/completions/index.md | 44 ++++++++ .../providers/openai/chat/index.md | 47 ++++++++ .../openai/completions/completions/index.md | 35 ++++++ .../providers/openai/completions/index.md | 47 ++++++++ .../openai/embeddings/embeddings/index.md | 35 ++++++ .../providers/openai/embeddings/index.md | 47 ++++++++ .../providers/openai/files/files/index.md | 38 +++++++ .../providers/openai/files/index.md | 47 ++++++++ .../openai/fine_tuning/events/index.md | 41 +++++++ .../providers/openai/fine_tuning/index.md | 49 +++++++++ .../fine_tuning/job_checkpoints/index.md | 43 ++++++++ .../openai/fine_tuning/jobs/index.md | 56 ++++++++++ .../openai/images/image_edits/index.md | 35 ++++++ .../openai/images/image_variations/index.md | 35 ++++++ .../providers/openai/images/images/index.md | 35 ++++++ .../providers/openai/images/index.md | 49 +++++++++ .../providers/openai/invites/index.md | 48 ++++++++ .../providers/openai/invites/invites/index.md | 46 ++++++++ .../providers/openai/invites/users/index.md | 35 ++++++ .../providers/openai/models/index.md | 47 ++++++++ .../providers/openai/models/models/index.md | 36 ++++++ .../providers/openai/moderations/index.md | 47 ++++++++ .../openai/moderations/moderations/index.md | 35 ++++++ .../providers/openai/projects/index.md | 50 +++++++++ .../openai/projects/project_api_keys/index.md | 44 ++++++++ .../project_service_accounts/index.md | 44 ++++++++ .../openai/projects/project_users/index.md | 46 ++++++++ .../openai/projects/projects/index.md | 46 ++++++++ .../providers/openai/uploads/index.md | 48 ++++++++ .../openai/uploads/upload_parts/index.md | 35 ++++++ .../providers/openai/uploads/uploads/index.md | 37 +++++++ .../providers/openai/users/index.md | 47 ++++++++ .../providers/openai/users/users/index.md | 45 ++++++++ .../files_in_vector_store_batches/index.md | 34 ++++++ .../providers/openai/vector_stores/index.md | 50 +++++++++ .../vector_store_file_batches/index.md | 44 ++++++++ .../vector_stores/vector_store_files/index.md | 47 ++++++++ .../vector_stores/vector_stores/index.md | 51 +++++++++ .../openai-docs/stackql-provider-registry.mdx | 20 ++++ package.json | 2 + scripts/docgen/provider_data.py | 22 ++++ sidebars.js | 1 + src/configs/providers.ts | 1 + static/img/providers/openai/openai.png | Bin 0 -> 1193 bytes ...stackql-openai-provider-featured-image.png | Bin 0 -> 21847 bytes 63 files changed, 2488 insertions(+), 3 deletions(-) create mode 100644 docs/openai-docs/index.md create mode 100644 docs/openai-docs/providers/openai/assistants/assistants/index.md create mode 100644 docs/openai-docs/providers/openai/assistants/index.md create mode 100644 docs/openai-docs/providers/openai/assistants/messages/index.md create mode 100644 docs/openai-docs/providers/openai/assistants/run_steps/index.md create mode 100644 docs/openai-docs/providers/openai/assistants/runs/index.md create mode 100644 docs/openai-docs/providers/openai/assistants/threads/index.md create mode 100644 docs/openai-docs/providers/openai/audio/index.md create mode 100644 docs/openai-docs/providers/openai/audio/speeches/index.md create mode 100644 docs/openai-docs/providers/openai/audio/transcriptions/index.md create mode 100644 docs/openai-docs/providers/openai/audio/translations/index.md create mode 100644 docs/openai-docs/providers/openai/audit_logs/audit_logs/index.md create mode 100644 docs/openai-docs/providers/openai/audit_logs/index.md create mode 100644 docs/openai-docs/providers/openai/batch/batches/index.md create mode 100644 docs/openai-docs/providers/openai/batch/index.md create mode 100644 docs/openai-docs/providers/openai/chat/completions/index.md create mode 100644 docs/openai-docs/providers/openai/chat/index.md create mode 100644 docs/openai-docs/providers/openai/completions/completions/index.md create mode 100644 docs/openai-docs/providers/openai/completions/index.md create mode 100644 docs/openai-docs/providers/openai/embeddings/embeddings/index.md create mode 100644 docs/openai-docs/providers/openai/embeddings/index.md create mode 100644 docs/openai-docs/providers/openai/files/files/index.md create mode 100644 docs/openai-docs/providers/openai/files/index.md create mode 100644 docs/openai-docs/providers/openai/fine_tuning/events/index.md create mode 100644 docs/openai-docs/providers/openai/fine_tuning/index.md create mode 100644 docs/openai-docs/providers/openai/fine_tuning/job_checkpoints/index.md create mode 100644 docs/openai-docs/providers/openai/fine_tuning/jobs/index.md create mode 100644 docs/openai-docs/providers/openai/images/image_edits/index.md create mode 100644 docs/openai-docs/providers/openai/images/image_variations/index.md create mode 100644 docs/openai-docs/providers/openai/images/images/index.md create mode 100644 docs/openai-docs/providers/openai/images/index.md create mode 100644 docs/openai-docs/providers/openai/invites/index.md create mode 100644 docs/openai-docs/providers/openai/invites/invites/index.md create mode 100644 docs/openai-docs/providers/openai/invites/users/index.md create mode 100644 docs/openai-docs/providers/openai/models/index.md create mode 100644 docs/openai-docs/providers/openai/models/models/index.md create mode 100644 docs/openai-docs/providers/openai/moderations/index.md create mode 100644 docs/openai-docs/providers/openai/moderations/moderations/index.md create mode 100644 docs/openai-docs/providers/openai/projects/index.md create mode 100644 docs/openai-docs/providers/openai/projects/project_api_keys/index.md create mode 100644 docs/openai-docs/providers/openai/projects/project_service_accounts/index.md create mode 100644 docs/openai-docs/providers/openai/projects/project_users/index.md create mode 100644 docs/openai-docs/providers/openai/projects/projects/index.md create mode 100644 docs/openai-docs/providers/openai/uploads/index.md create mode 100644 docs/openai-docs/providers/openai/uploads/upload_parts/index.md create mode 100644 docs/openai-docs/providers/openai/uploads/uploads/index.md create mode 100644 docs/openai-docs/providers/openai/users/index.md create mode 100644 docs/openai-docs/providers/openai/users/users/index.md create mode 100644 docs/openai-docs/providers/openai/vector_stores/files_in_vector_store_batches/index.md create mode 100644 docs/openai-docs/providers/openai/vector_stores/index.md create mode 100644 docs/openai-docs/providers/openai/vector_stores/vector_store_file_batches/index.md create mode 100644 docs/openai-docs/providers/openai/vector_stores/vector_store_files/index.md create mode 100644 docs/openai-docs/providers/openai/vector_stores/vector_stores/index.md create mode 100644 docs/openai-docs/stackql-provider-registry.mdx create mode 100644 static/img/providers/openai/openai.png create mode 100644 static/img/providers/openai/stackql-openai-provider-featured-image.png diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml index f36466116a..9f43c6127e 100644 --- a/.github/workflows/build-docs.yaml +++ b/.github/workflows/build-docs.yaml @@ -78,7 +78,7 @@ jobs: if [ $PROVIDER == "root" ]; then echo "adding vanity url redirects to _redirects file.." touch ./build/_redirects - array=( aws azure azure-extras azure-isv azure-stack digitalocean firebase github google googleadmin k8s linode netlify okta sumologic vercel godaddy pagerduty homebrew datadog ) + array=( aws azure azure-extras azure-isv azure-stack digitalocean firebase github openai google googleadmin k8s linode netlify okta sumologic vercel godaddy pagerduty homebrew datadog ) for i in "${array[@]}" do echo "adding redirects for $i" diff --git a/README.md b/README.md index b59adab2d9..5c0ebb9157 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ This repository contains documentation for StackQL providers, which is published | Netlify Deploy Datadog | [![Netlify Status](https://api.netlify.com/api/v1/badges/9e76122d-09bd-4938-a50f-3b4196e94f0c/deploy-status)](https://app.netlify.com/sites/stackql-datadog-docs/deploys) | [datadog-docs.stackql.io](https://datadog-docs.stackql.io)
[datadog.stackql.io](https://datadog.stackql.io) | | Netlify Deploy Azure ISV | [![Netlify Status](https://api.netlify.com/api/v1/badges/35fc840c-0494-462f-9b3f-cbd3418a3c78/deploy-status)](https://app.netlify.com/sites/stackql-azure-isv-docs/deploys) | [azure-isv-docs.stackql.io](https://azure-isv-docs.stackql.io)
[azure-isv.stackql.io](https://azure-isv.stackql.io) | | Netlify Deploy Azure Stack | [![Netlify Status](https://api.netlify.com/api/v1/badges/53abcb20-0194-41dd-b466-4d933cfffcad/deploy-status)](https://app.netlify.com/sites/stackql-azure-stack-docs/deploys) | [azure-stack-docs.stackql.io](https://azure-stack-docs.stackql.io)
[azure-stack.stackql.io](https://azure-stack.stackql.io) | - +| Netlify Deploy OpenAI | [![Netlify Status](https://api.netlify.com/api/v1/badges/6df5743b-8c5d-4949-866e-eda4ca3f74d0/deploy-status)](https://app.netlify.com/sites/stackql-openai-docs/deploys) | [openai-docs.stackql.io](https://openai-docs.stackql.io)
[openai.stackql.io](https://openai.stackql.io) | ## Adding Docs for a New Provider diff --git a/ci-scripts/get-providers-to-deploy.js b/ci-scripts/get-providers-to-deploy.js index 10e03c0be6..5df08add1d 100644 --- a/ci-scripts/get-providers-to-deploy.js +++ b/ci-scripts/get-providers-to-deploy.js @@ -14,7 +14,8 @@ const allProviders = [ 'azure_stack', 'digitalocean', 'firebase', - 'github', + 'github', + 'openai', 'google', 'googleadmin', 'k8s', diff --git a/docs/openai-docs/index.md b/docs/openai-docs/index.md new file mode 100644 index 0000000000..20e0e0dc25 --- /dev/null +++ b/docs/openai-docs/index.md @@ -0,0 +1,103 @@ +--- +title: openai +hide_title: false +hide_table_of_contents: false +keywords: + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +id: openai-doc +slug: /providers/openai +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + +AI models for natural language processing and content generation. + +:::info Provider Summary (v24.10.00267) + +
+
+total services: 17
+total methods: 94
+
+
+total resources: 35
+total selectable resources: 23
+
+
+ +::: + +See also: +[[` SHOW `]](https://stackql.io/docs/language-spec/show) [[` DESCRIBE `]](https://stackql.io/docs/language-spec/describe) [[` REGISTRY `]](https://stackql.io/docs/language-spec/registry) +* * * + +## Installation + +To pull the latest version of the `openai` provider, run the following command: + +```bash +REGISTRY PULL openai; +``` +> To view previous provider versions or to pull a specific provider version, see [here](https://stackql.io/docs/language-spec/registry). + +## Authentication + +The following system environment variables are used for authentication by default: + +- - OpenAI API key (see How to Create an OpenAI API Key) + +These variables are sourced at runtime (from the local machine or as CI variables/secrets). + +
+ +Using different environment variables + +To use different environment variables (instead of the defaults), use the `--auth` flag of the `stackql` program. For example: + +```bash + +AUTH='{ "openai": { "type": "bearer", "credentialsenvvar": "OPENAI_API_KEY" }}' +stackql shell --auth="${AUTH}" + +``` +or using PowerShell: + +```powershell + +$Auth = "{ 'openai': { 'type': 'bearer', 'credentialsenvvar': 'OPENAI_API_KEY' }}" +stackql.exe shell --auth=$Auth + +``` +
+ +## Services + diff --git a/docs/openai-docs/providers/openai/assistants/assistants/index.md b/docs/openai-docs/providers/openai/assistants/assistants/index.md new file mode 100644 index 0000000000..6409983c7c --- /dev/null +++ b/docs/openai-docs/providers/openai/assistants/assistants/index.md @@ -0,0 +1,53 @@ +--- +title: assistants +hide_title: false +hide_table_of_contents: false +keywords: + - assistants + - assistants + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameassistants
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints. | +| | `string` | The name of the assistant. The maximum length is 256 characters.
| +| | `string` | The description of the assistant. The maximum length is 512 characters.
| +| | `integer` | The Unix timestamp (in seconds) for when the assistant was created. | +| | `string` | The system instructions that the assistant uses. The maximum length is 256,000 characters.
| +| | `object` | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.
| +| | `string` | ID of the model to use. You can use the [List models](/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](/docs/models/overview) for descriptions of them.
| +| | `string` | The object type, which is always `assistant`. | +| | `` | Specifies the format that the model must output. Compatible with [GPT-4o](/docs/models/gpt-4o), [GPT-4 Turbo](/docs/models/gpt-4-turbo-and-gpt-4), and all GPT-3.5 Turbo models since `gpt-3.5-turbo-1106`.

Setting to `{ "type": "json_schema", "json_schema": {...} }` enables Structured Outputs which ensures the model will match your supplied JSON schema. Learn more in the [Structured Outputs guide](/docs/guides/structured-outputs).

Setting to `{ "type": "json_object" }` enables JSON mode, which ensures the message the model generates is valid JSON.

**Important:** when using JSON mode, you **must** also instruct the model to produce JSON yourself via a system or user message. Without this, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Also note that the message content may be partially cut off if `finish_reason="length"`, which indicates the generation exceeded `max_tokens` or the conversation exceeded the max context length.
| +| | `number` | What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.
| +| | `object` | A set of resources that are used by the assistant's tools. The resources are specific to the type of tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires a list of vector store IDs.
| +| | `array` | A list of tool enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can be of types `code_interpreter`, `file_search`, or `function`.
| +| | `number` | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.

We generally recommend altering this or temperature but not both.
| +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `INSERT` | | +| | `DELETE` | | +| | `UPDATE` | | diff --git a/docs/openai-docs/providers/openai/assistants/index.md b/docs/openai-docs/providers/openai/assistants/index.md new file mode 100644 index 0000000000..59cdf92026 --- /dev/null +++ b/docs/openai-docs/providers/openai/assistants/index.md @@ -0,0 +1,51 @@ +--- +title: assistants +hide_title: false +hide_table_of_contents: false +keywords: + - assistants + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Build Assistants That Can Call Models And Use Tools. + +:::info Service Summary + +
+
+total resources: 5
+total selectable resources: 5
+total methods: 23
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.assistants
TypeService
TitleOpenAI API - Assistants
DescriptionBuild Assistants That Can Call Models And Use Tools.
Idassistants:v24.10.00267
+ +## Resources + diff --git a/docs/openai-docs/providers/openai/assistants/messages/index.md b/docs/openai-docs/providers/openai/assistants/messages/index.md new file mode 100644 index 0000000000..e318470b74 --- /dev/null +++ b/docs/openai-docs/providers/openai/assistants/messages/index.md @@ -0,0 +1,54 @@ +--- +title: messages +hide_title: false +hide_table_of_contents: false +keywords: + - messages + - assistants + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namemessages
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints. | +| | `string` | If applicable, the ID of the [assistant](/docs/api-reference/assistants) that authored this message. | +| | `array` | A list of files attached to the message, and the tools they were added to. | +| | `integer` | The Unix timestamp (in seconds) for when the message was completed. | +| | `array` | The content of the message in array of text and/or images. | +| | `integer` | The Unix timestamp (in seconds) for when the message was created. | +| | `integer` | The Unix timestamp (in seconds) for when the message was marked as incomplete. | +| | `object` | On an incomplete message, details about why the message is incomplete. | +| | `object` | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.
| +| | `string` | The object type, which is always `thread.message`. | +| | `string` | The entity that produced the message. One of `user` or `assistant`. | +| | `string` | The ID of the [run](/docs/api-reference/runs) associated with the creation of this message. Value is `null` when messages are created manually using the create message or create thread endpoints. | +| | `string` | The status of the message, which can be either `in_progress`, `incomplete`, or `completed`. | +| | `string` | The [thread](/docs/api-reference/threads) ID that this message belongs to. | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `INSERT` | | +| | `DELETE` | | +| | `UPDATE` | | diff --git a/docs/openai-docs/providers/openai/assistants/run_steps/index.md b/docs/openai-docs/providers/openai/assistants/run_steps/index.md new file mode 100644 index 0000000000..bef585e58c --- /dev/null +++ b/docs/openai-docs/providers/openai/assistants/run_steps/index.md @@ -0,0 +1,53 @@ +--- +title: run_steps +hide_title: false +hide_table_of_contents: false +keywords: + - run_steps + - assistants + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namerun_steps
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier of the run step, which can be referenced in API endpoints. | +| | `string` | The ID of the [assistant](/docs/api-reference/assistants) associated with the run step. | +| | `integer` | The Unix timestamp (in seconds) for when the run step was cancelled. | +| | `integer` | The Unix timestamp (in seconds) for when the run step completed. | +| | `integer` | The Unix timestamp (in seconds) for when the run step was created. | +| | `integer` | The Unix timestamp (in seconds) for when the run step expired. A step is considered expired if the parent run is expired. | +| | `integer` | The Unix timestamp (in seconds) for when the run step failed. | +| | `object` | The last error associated with this run step. Will be `null` if there are no errors. | +| | `object` | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.
| +| | `string` | The object type, which is always `thread.run.step`. | +| | `string` | The ID of the [run](/docs/api-reference/runs) that this run step is a part of. | +| | `string` | The status of the run step, which can be either `in_progress`, `cancelled`, `failed`, `completed`, or `expired`. | +| | `object` | The details of the run step. | +| | `string` | The ID of the [thread](/docs/api-reference/threads) that was run. | +| | `string` | The type of run step, which can be either `message_creation` or `tool_calls`. | +| | `object` | Usage statistics related to the run step. This value will be `null` while the run step's status is `in_progress`. | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | diff --git a/docs/openai-docs/providers/openai/assistants/runs/index.md b/docs/openai-docs/providers/openai/assistants/runs/index.md new file mode 100644 index 0000000000..57b54ced08 --- /dev/null +++ b/docs/openai-docs/providers/openai/assistants/runs/index.md @@ -0,0 +1,68 @@ +--- +title: runs +hide_title: false +hide_table_of_contents: false +keywords: + - runs + - assistants + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameruns
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints. | +| | `string` | The ID of the [assistant](/docs/api-reference/assistants) used for execution of this run. | +| | `integer` | The Unix timestamp (in seconds) for when the run was cancelled. | +| | `integer` | The Unix timestamp (in seconds) for when the run was completed. | +| | `integer` | The Unix timestamp (in seconds) for when the run was created. | +| | `integer` | The Unix timestamp (in seconds) for when the run will expire. | +| | `integer` | The Unix timestamp (in seconds) for when the run failed. | +| | `object` | Details on why the run is incomplete. Will be `null` if the run is not incomplete. | +| | `string` | The instructions that the [assistant](/docs/api-reference/assistants) used for this run. | +| | `object` | The last error associated with this run. Will be `null` if there are no errors. | +| | `integer` | The maximum number of completion tokens specified to have been used over the course of the run.
| +| | `integer` | The maximum number of prompt tokens specified to have been used over the course of the run.
| +| | `object` | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.
| +| | `string` | The model that the [assistant](/docs/api-reference/assistants) used for this run. | +| | `string` | The object type, which is always `thread.run`. | +| | `boolean` | Whether to enable [parallel function calling](/docs/guides/function-calling/parallel-function-calling) during tool use. | +| | `object` | Details on the action required to continue the run. Will be `null` if no action is required. | +| | `` | Specifies the format that the model must output. Compatible with [GPT-4o](/docs/models/gpt-4o), [GPT-4 Turbo](/docs/models/gpt-4-turbo-and-gpt-4), and all GPT-3.5 Turbo models since `gpt-3.5-turbo-1106`.

Setting to `{ "type": "json_schema", "json_schema": {...} }` enables Structured Outputs which ensures the model will match your supplied JSON schema. Learn more in the [Structured Outputs guide](/docs/guides/structured-outputs).

Setting to `{ "type": "json_object" }` enables JSON mode, which ensures the message the model generates is valid JSON.

**Important:** when using JSON mode, you **must** also instruct the model to produce JSON yourself via a system or user message. Without this, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Also note that the message content may be partially cut off if `finish_reason="length"`, which indicates the generation exceeded `max_tokens` or the conversation exceeded the max context length.
| +| | `integer` | The Unix timestamp (in seconds) for when the run was started. | +| | `string` | The status of the run, which can be either `queued`, `in_progress`, `requires_action`, `cancelling`, `cancelled`, `failed`, `completed`, `incomplete`, or `expired`. | +| | `number` | The sampling temperature used for this run. If not set, defaults to 1. | +| | `string` | The ID of the [thread](/docs/api-reference/threads) that was executed on as a part of this run. | +| | `` | Controls which (if any) tool is called by the model.
`none` means the model will not call any tools and instead generates a message.
`auto` is the default value and means the model can pick between generating a message or calling one or more tools.
`required` means the model must call one or more tools before responding to the user.
Specifying a particular tool like `{"type": "file_search"}` or `{"type": "function", "function": {"name": "my_function"}}` forces the model to call that tool.
| +| | `array` | The list of tools that the [assistant](/docs/api-reference/assistants) used for this run. | +| | `number` | The nucleus sampling value used for this run. If not set, defaults to 1. | +| | `object` | Controls for how a thread will be truncated prior to the run. Use this to control the intial context window of the run. | +| | `object` | Usage statistics related to the run. This value will be `null` if the run is not in a terminal state (i.e. `in_progress`, `queued`, etc.). | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `INSERT` | | +| | `UPDATE` | | +| | `EXEC` | | +| | `EXEC` | | diff --git a/docs/openai-docs/providers/openai/assistants/threads/index.md b/docs/openai-docs/providers/openai/assistants/threads/index.md new file mode 100644 index 0000000000..27dfa0f66b --- /dev/null +++ b/docs/openai-docs/providers/openai/assistants/threads/index.md @@ -0,0 +1,45 @@ +--- +title: threads +hide_title: false +hide_table_of_contents: false +keywords: + - threads + - assistants + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namethreads
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints. | +| | `integer` | The Unix timestamp (in seconds) for when the thread was created. | +| | `object` | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.
| +| | `string` | The object type, which is always `thread`. | +| | `object` | A set of resources that are made available to the assistant's tools in this thread. The resources are specific to the type of tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires a list of vector store IDs.
| +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `INSERT` | | +| | `DELETE` | | +| | `UPDATE` | | +| | `EXEC` | | diff --git a/docs/openai-docs/providers/openai/audio/index.md b/docs/openai-docs/providers/openai/audio/index.md new file mode 100644 index 0000000000..defdc7d85f --- /dev/null +++ b/docs/openai-docs/providers/openai/audio/index.md @@ -0,0 +1,49 @@ +--- +title: audio +hide_title: false +hide_table_of_contents: false +keywords: + - audio + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Turn Audio Into Text Or Text Into Audio. + +:::info Service Summary + +
+
+total resources: 3
+total selectable resources: 0
+total methods: 3
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.audio
TypeService
TitleOpenAI API - Audio
DescriptionTurn Audio Into Text Or Text Into Audio.
Idaudio:v24.10.00267
+ +## Resources + diff --git a/docs/openai-docs/providers/openai/audio/speeches/index.md b/docs/openai-docs/providers/openai/audio/speeches/index.md new file mode 100644 index 0000000000..e7b66f22ae --- /dev/null +++ b/docs/openai-docs/providers/openai/audio/speeches/index.md @@ -0,0 +1,35 @@ +--- +title: speeches +hide_title: false +hide_table_of_contents: false +keywords: + - speeches + - audio + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namespeeches
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `INSERT` | | diff --git a/docs/openai-docs/providers/openai/audio/transcriptions/index.md b/docs/openai-docs/providers/openai/audio/transcriptions/index.md new file mode 100644 index 0000000000..de04b55c4c --- /dev/null +++ b/docs/openai-docs/providers/openai/audio/transcriptions/index.md @@ -0,0 +1,35 @@ +--- +title: transcriptions +hide_title: false +hide_table_of_contents: false +keywords: + - transcriptions + - audio + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nametranscriptions
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `INSERT` | | diff --git a/docs/openai-docs/providers/openai/audio/translations/index.md b/docs/openai-docs/providers/openai/audio/translations/index.md new file mode 100644 index 0000000000..411c431a7a --- /dev/null +++ b/docs/openai-docs/providers/openai/audio/translations/index.md @@ -0,0 +1,35 @@ +--- +title: translations +hide_title: false +hide_table_of_contents: false +keywords: + - translations + - audio + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nametranslations
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `INSERT` | | diff --git a/docs/openai-docs/providers/openai/audit_logs/audit_logs/index.md b/docs/openai-docs/providers/openai/audit_logs/audit_logs/index.md new file mode 100644 index 0000000000..002f43ae39 --- /dev/null +++ b/docs/openai-docs/providers/openai/audit_logs/audit_logs/index.md @@ -0,0 +1,59 @@ +--- +title: audit_logs +hide_title: false +hide_table_of_contents: false +keywords: + - audit_logs + - audit_logs + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameaudit_logs
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The ID of this log. | +| | `object` | The actor who performed the audit logged action. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `integer` | The Unix timestamp (in seconds) of the event. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `object` | The project that the action was scoped to. Absent for actions not scoped to projects. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `string` | The event type. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +| | `object` | The details for events with this `type`. | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | diff --git a/docs/openai-docs/providers/openai/audit_logs/index.md b/docs/openai-docs/providers/openai/audit_logs/index.md new file mode 100644 index 0000000000..49c434231a --- /dev/null +++ b/docs/openai-docs/providers/openai/audit_logs/index.md @@ -0,0 +1,47 @@ +--- +title: audit_logs +hide_title: false +hide_table_of_contents: false +keywords: + - audit_logs + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +List User Actions And Configuration Changes Within This Organization. + +:::info Service Summary + +
+
+total resources: 1
+total selectable resources: 1
+total methods: 1
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.audit_logs
TypeService
TitleOpenAI API - Audit Logs
DescriptionList User Actions And Configuration Changes Within This Organization.
Idaudit_logs:v24.10.00267
+ +## Resources +
+ +
+
+
diff --git a/docs/openai-docs/providers/openai/batch/batches/index.md b/docs/openai-docs/providers/openai/batch/batches/index.md new file mode 100644 index 0000000000..9979b11bfc --- /dev/null +++ b/docs/openai-docs/providers/openai/batch/batches/index.md @@ -0,0 +1,59 @@ +--- +title: batches +hide_title: false +hide_table_of_contents: false +keywords: + - batches + - batch + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namebatches
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | | +| | `integer` | The Unix timestamp (in seconds) for when the batch was cancelled. | +| | `integer` | The Unix timestamp (in seconds) for when the batch started cancelling. | +| | `integer` | The Unix timestamp (in seconds) for when the batch was completed. | +| | `string` | The time frame within which the batch should be processed. | +| | `integer` | The Unix timestamp (in seconds) for when the batch was created. | +| | `string` | The OpenAI API endpoint used by the batch. | +| | `string` | The ID of the file containing the outputs of requests with errors. | +| | `object` | | +| | `integer` | The Unix timestamp (in seconds) for when the batch expired. | +| | `integer` | The Unix timestamp (in seconds) for when the batch will expire. | +| | `integer` | The Unix timestamp (in seconds) for when the batch failed. | +| | `integer` | The Unix timestamp (in seconds) for when the batch started finalizing. | +| | `integer` | The Unix timestamp (in seconds) for when the batch started processing. | +| | `string` | The ID of the input file for the batch. | +| | `object` | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.
| +| | `string` | The object type, which is always `batch`. | +| | `string` | The ID of the file containing the outputs of successfully executed requests. | +| | `object` | The request counts for different statuses within the batch. | +| | `string` | The current status of the batch. | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `INSERT` | | +| | `EXEC` | | diff --git a/docs/openai-docs/providers/openai/batch/index.md b/docs/openai-docs/providers/openai/batch/index.md new file mode 100644 index 0000000000..bfdee73ed6 --- /dev/null +++ b/docs/openai-docs/providers/openai/batch/index.md @@ -0,0 +1,47 @@ +--- +title: batch +hide_title: false +hide_table_of_contents: false +keywords: + - batch + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Create Large Batches Of API Requests To Run Asynchronously. + +:::info Service Summary + +
+
+total resources: 1
+total selectable resources: 1
+total methods: 4
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.batch
TypeService
TitleOpenAI API - Batch
DescriptionCreate Large Batches Of API Requests To Run Asynchronously.
Idbatch:v24.10.00267
+ +## Resources +
+ +
+
+
diff --git a/docs/openai-docs/providers/openai/chat/completions/index.md b/docs/openai-docs/providers/openai/chat/completions/index.md new file mode 100644 index 0000000000..cef7874d4b --- /dev/null +++ b/docs/openai-docs/providers/openai/chat/completions/index.md @@ -0,0 +1,44 @@ +--- +title: completions +hide_title: false +hide_table_of_contents: false +keywords: + - completions + - chat + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namecompletions
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | A unique identifier for the chat completion. | +| | `array` | A list of chat completion choices. Can be more than one if `n` is greater than 1. | +| | `integer` | The Unix timestamp (in seconds) of when the chat completion was created. | +| | `string` | The model used for the chat completion. | +| | `string` | The object type, which is always `chat.completion`. | +| | `string` | The service tier used for processing the request. This field is only included if the `service_tier` parameter is specified in the request. | +| | `string` | This fingerprint represents the backend configuration that the model runs with.

Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that might impact determinism.
| +| | `object` | Usage statistics for the completion request. | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | diff --git a/docs/openai-docs/providers/openai/chat/index.md b/docs/openai-docs/providers/openai/chat/index.md new file mode 100644 index 0000000000..3cc983600e --- /dev/null +++ b/docs/openai-docs/providers/openai/chat/index.md @@ -0,0 +1,47 @@ +--- +title: chat +hide_title: false +hide_table_of_contents: false +keywords: + - chat + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Given A List Of Messages Comprising A Conversation, The Model Will Return A Response. + +:::info Service Summary + +
+
+total resources: 1
+total selectable resources: 1
+total methods: 1
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.chat
TypeService
TitleOpenAI API - Chat
DescriptionGiven A List Of Messages Comprising A Conversation, The Model Will Return A Response.
Idchat:v24.10.00267
+ +## Resources +
+ +
+
+
diff --git a/docs/openai-docs/providers/openai/completions/completions/index.md b/docs/openai-docs/providers/openai/completions/completions/index.md new file mode 100644 index 0000000000..b5d07bff01 --- /dev/null +++ b/docs/openai-docs/providers/openai/completions/completions/index.md @@ -0,0 +1,35 @@ +--- +title: completions +hide_title: false +hide_table_of_contents: false +keywords: + - completions + - completions + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namecompletions
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `INSERT` | | diff --git a/docs/openai-docs/providers/openai/completions/index.md b/docs/openai-docs/providers/openai/completions/index.md new file mode 100644 index 0000000000..a1ca29e43b --- /dev/null +++ b/docs/openai-docs/providers/openai/completions/index.md @@ -0,0 +1,47 @@ +--- +title: completions +hide_title: false +hide_table_of_contents: false +keywords: + - completions + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Given A Prompt, The Model Will Return One Or More Predicted Completions, And Can Also Return The Probabilities Of Alternative Tokens At Each Position. + +:::info Service Summary + +
+
+total resources: 1
+total selectable resources: 0
+total methods: 1
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.completions
TypeService
TitleOpenAI API - Completions
DescriptionGiven A Prompt, The Model Will Return One Or More Predicted Completions, And Can Also Return The Probabilities Of Alternative Tokens At Each Position.
Idcompletions:v24.10.00267
+ +## Resources +
+ +
+
+
diff --git a/docs/openai-docs/providers/openai/embeddings/embeddings/index.md b/docs/openai-docs/providers/openai/embeddings/embeddings/index.md new file mode 100644 index 0000000000..9bc3842dcd --- /dev/null +++ b/docs/openai-docs/providers/openai/embeddings/embeddings/index.md @@ -0,0 +1,35 @@ +--- +title: embeddings +hide_title: false +hide_table_of_contents: false +keywords: + - embeddings + - embeddings + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameembeddings
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `INSERT` | | diff --git a/docs/openai-docs/providers/openai/embeddings/index.md b/docs/openai-docs/providers/openai/embeddings/index.md new file mode 100644 index 0000000000..fcf7652b69 --- /dev/null +++ b/docs/openai-docs/providers/openai/embeddings/index.md @@ -0,0 +1,47 @@ +--- +title: embeddings +hide_title: false +hide_table_of_contents: false +keywords: + - embeddings + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Get A Vector Representation Of A Given Input That Can Be Easily Consumed By Machine Learning Models And Algorithms. + +:::info Service Summary + +
+
+total resources: 1
+total selectable resources: 0
+total methods: 1
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.embeddings
TypeService
TitleOpenAI API - Embeddings
DescriptionGet A Vector Representation Of A Given Input That Can Be Easily Consumed By Machine Learning Models And Algorithms.
Idembeddings:v24.10.00267
+ +## Resources +
+ +
+
+
diff --git a/docs/openai-docs/providers/openai/files/files/index.md b/docs/openai-docs/providers/openai/files/files/index.md new file mode 100644 index 0000000000..8c60ebd7cc --- /dev/null +++ b/docs/openai-docs/providers/openai/files/files/index.md @@ -0,0 +1,38 @@ +--- +title: files +hide_title: false +hide_table_of_contents: false +keywords: + - files + - files + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namefiles
TypeResource
Id
+ +## Fields +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `INSERT` | | +| | `DELETE` | | +| | `EXEC` | | diff --git a/docs/openai-docs/providers/openai/files/index.md b/docs/openai-docs/providers/openai/files/index.md new file mode 100644 index 0000000000..9b5ab40e56 --- /dev/null +++ b/docs/openai-docs/providers/openai/files/index.md @@ -0,0 +1,47 @@ +--- +title: files +hide_title: false +hide_table_of_contents: false +keywords: + - files + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Files Are Used To Upload Documents That Can Be Used With Features Like Assistants And Fine-Tuning. + +:::info Service Summary + +
+
+total resources: 1
+total selectable resources: 1
+total methods: 5
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.files
TypeService
TitleOpenAI API - Files
DescriptionFiles Are Used To Upload Documents That Can Be Used With Features Like Assistants And Fine-Tuning.
Idfiles:v24.10.00267
+ +## Resources +
+
+files
+
+
+
+
diff --git a/docs/openai-docs/providers/openai/fine_tuning/events/index.md b/docs/openai-docs/providers/openai/fine_tuning/events/index.md new file mode 100644 index 0000000000..5b8eaab410 --- /dev/null +++ b/docs/openai-docs/providers/openai/fine_tuning/events/index.md @@ -0,0 +1,41 @@ +--- +title: events +hide_title: false +hide_table_of_contents: false +keywords: + - events + - fine_tuning + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameevents
TypeResource
Id
+ +## Fields +| Name | Datatype | +|:-----|:---------| +| | `string` | +| | `integer` | +| | `string` | +| | `string` | +| | `string` | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | diff --git a/docs/openai-docs/providers/openai/fine_tuning/index.md b/docs/openai-docs/providers/openai/fine_tuning/index.md new file mode 100644 index 0000000000..7927807bfe --- /dev/null +++ b/docs/openai-docs/providers/openai/fine_tuning/index.md @@ -0,0 +1,49 @@ +--- +title: fine_tuning +hide_title: false +hide_table_of_contents: false +keywords: + - fine_tuning + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Manage Fine-Tuning Jobs To Tailor A Model To Your Specific Training Data. + +:::info Service Summary + +
+
+total resources: 3
+total selectable resources: 3
+total methods: 6
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.fine_tuning
TypeService
TitleOpenAI API - Fine Tuning
DescriptionManage Fine-Tuning Jobs To Tailor A Model To Your Specific Training Data.
Idfine_tuning:v24.10.00267
+ +## Resources + diff --git a/docs/openai-docs/providers/openai/fine_tuning/job_checkpoints/index.md b/docs/openai-docs/providers/openai/fine_tuning/job_checkpoints/index.md new file mode 100644 index 0000000000..a884c277e0 --- /dev/null +++ b/docs/openai-docs/providers/openai/fine_tuning/job_checkpoints/index.md @@ -0,0 +1,43 @@ +--- +title: job_checkpoints +hide_title: false +hide_table_of_contents: false +keywords: + - job_checkpoints + - fine_tuning + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namejob_checkpoints
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The checkpoint identifier, which can be referenced in the API endpoints. | +| | `integer` | The Unix timestamp (in seconds) for when the checkpoint was created. | +| | `string` | The name of the fine-tuned checkpoint model that is created. | +| | `string` | The name of the fine-tuning job that this checkpoint was created from. | +| | `object` | Metrics at the step number during the fine-tuning job. | +| | `string` | The object type, which is always "fine_tuning.job.checkpoint". | +| | `integer` | The step number that the checkpoint was created at. | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | diff --git a/docs/openai-docs/providers/openai/fine_tuning/jobs/index.md b/docs/openai-docs/providers/openai/fine_tuning/jobs/index.md new file mode 100644 index 0000000000..2878d1ed96 --- /dev/null +++ b/docs/openai-docs/providers/openai/fine_tuning/jobs/index.md @@ -0,0 +1,56 @@ +--- +title: jobs +hide_title: false +hide_table_of_contents: false +keywords: + - jobs + - fine_tuning + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namejobs
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The object identifier, which can be referenced in the API endpoints. | +| | `integer` | The Unix timestamp (in seconds) for when the fine-tuning job was created. | +| | `object` | For fine-tuning jobs that have `failed`, this will contain more information on the cause of the failure. | +| | `integer` | The Unix timestamp (in seconds) for when the fine-tuning job is estimated to finish. The value will be null if the fine-tuning job is not running. | +| | `string` | The name of the fine-tuned model that is being created. The value will be null if the fine-tuning job is still running. | +| | `integer` | The Unix timestamp (in seconds) for when the fine-tuning job was finished. The value will be null if the fine-tuning job is still running. | +| | `object` | The hyperparameters used for the fine-tuning job. See the [fine-tuning guide](/docs/guides/fine-tuning) for more details. | +| | `array` | A list of integrations to enable for this fine-tuning job. | +| | `string` | The base model that is being fine-tuned. | +| | `string` | The object type, which is always "fine_tuning.job". | +| | `string` | The organization that owns the fine-tuning job. | +| | `array` | The compiled results file ID(s) for the fine-tuning job. You can retrieve the results with the [Files API](/docs/api-reference/files/retrieve-contents). | +| | `integer` | The seed used for the fine-tuning job. | +| | `string` | The current status of the fine-tuning job, which can be either `validating_files`, `queued`, `running`, `succeeded`, `failed`, or `cancelled`. | +| | `integer` | The total number of billable tokens processed by this fine-tuning job. The value will be null if the fine-tuning job is still running. | +| | `string` | The file ID used for training. You can retrieve the training data with the [Files API](/docs/api-reference/files/retrieve-contents). | +| | `string` | The file ID used for validation. You can retrieve the validation results with the [Files API](/docs/api-reference/files/retrieve-contents). | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `INSERT` | | +| | `EXEC` | | diff --git a/docs/openai-docs/providers/openai/images/image_edits/index.md b/docs/openai-docs/providers/openai/images/image_edits/index.md new file mode 100644 index 0000000000..18ff29dcba --- /dev/null +++ b/docs/openai-docs/providers/openai/images/image_edits/index.md @@ -0,0 +1,35 @@ +--- +title: image_edits +hide_title: false +hide_table_of_contents: false +keywords: + - image_edits + - images + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameimage_edits
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `INSERT` | | diff --git a/docs/openai-docs/providers/openai/images/image_variations/index.md b/docs/openai-docs/providers/openai/images/image_variations/index.md new file mode 100644 index 0000000000..40a59c2730 --- /dev/null +++ b/docs/openai-docs/providers/openai/images/image_variations/index.md @@ -0,0 +1,35 @@ +--- +title: image_variations +hide_title: false +hide_table_of_contents: false +keywords: + - image_variations + - images + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameimage_variations
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `INSERT` | | diff --git a/docs/openai-docs/providers/openai/images/images/index.md b/docs/openai-docs/providers/openai/images/images/index.md new file mode 100644 index 0000000000..465681cb44 --- /dev/null +++ b/docs/openai-docs/providers/openai/images/images/index.md @@ -0,0 +1,35 @@ +--- +title: images +hide_title: false +hide_table_of_contents: false +keywords: + - images + - images + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameimages
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `INSERT` | | diff --git a/docs/openai-docs/providers/openai/images/index.md b/docs/openai-docs/providers/openai/images/index.md new file mode 100644 index 0000000000..0e603b061d --- /dev/null +++ b/docs/openai-docs/providers/openai/images/index.md @@ -0,0 +1,49 @@ +--- +title: images +hide_title: false +hide_table_of_contents: false +keywords: + - images + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Given A Prompt And/Or An Input Image, The Model Will Generate A New Image. + +:::info Service Summary + +
+
+total resources: 3
+total selectable resources: 0
+total methods: 3
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.images
TypeService
TitleOpenAI API - Images
DescriptionGiven A Prompt And/Or An Input Image, The Model Will Generate A New Image.
Idimages:v24.10.00267
+ +## Resources + diff --git a/docs/openai-docs/providers/openai/invites/index.md b/docs/openai-docs/providers/openai/invites/index.md new file mode 100644 index 0000000000..0d5e7eada0 --- /dev/null +++ b/docs/openai-docs/providers/openai/invites/index.md @@ -0,0 +1,48 @@ +--- +title: invites +hide_title: false +hide_table_of_contents: false +keywords: + - invites + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Invites + +:::info Service Summary + +
+
+total resources: 2
+total selectable resources: 1
+total methods: 4
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.invites
TypeService
TitleOpenAI API - Invites
DescriptionInvites
Idinvites:v24.10.00267
+ +## Resources +
+ +
+users
+
+
diff --git a/docs/openai-docs/providers/openai/invites/invites/index.md b/docs/openai-docs/providers/openai/invites/invites/index.md new file mode 100644 index 0000000000..d55937d03a --- /dev/null +++ b/docs/openai-docs/providers/openai/invites/invites/index.md @@ -0,0 +1,46 @@ +--- +title: invites +hide_title: false +hide_table_of_contents: false +keywords: + - invites + - invites + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameinvites
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints | +| | `integer` | The Unix timestamp (in seconds) of when the invite was accepted. | +| | `string` | The email address of the individual to whom the invite was sent | +| | `integer` | The Unix timestamp (in seconds) of when the invite expires. | +| | `integer` | The Unix timestamp (in seconds) of when the invite was sent. | +| | `string` | The object type, which is always `organization.invite` | +| | `string` | `owner` or `reader` | +| | `string` | `accepted`,`expired`, or `pending` | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `DELETE` | | diff --git a/docs/openai-docs/providers/openai/invites/users/index.md b/docs/openai-docs/providers/openai/invites/users/index.md new file mode 100644 index 0000000000..ad4705e9f4 --- /dev/null +++ b/docs/openai-docs/providers/openai/invites/users/index.md @@ -0,0 +1,35 @@ +--- +title: users +hide_title: false +hide_table_of_contents: false +keywords: + - users + - invites + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameusers
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `EXEC` | | diff --git a/docs/openai-docs/providers/openai/models/index.md b/docs/openai-docs/providers/openai/models/index.md new file mode 100644 index 0000000000..d52f7a8196 --- /dev/null +++ b/docs/openai-docs/providers/openai/models/index.md @@ -0,0 +1,47 @@ +--- +title: models +hide_title: false +hide_table_of_contents: false +keywords: + - models + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +List And Describe The Various Models Available In The API. + +:::info Service Summary + +
+
+total resources: 1
+total selectable resources: 1
+total methods: 3
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.models
TypeService
TitleOpenAI API - Models
DescriptionList And Describe The Various Models Available In The API.
Idmodels:v24.10.00267
+ +## Resources +
+
+models
+
+
+
+
diff --git a/docs/openai-docs/providers/openai/models/models/index.md b/docs/openai-docs/providers/openai/models/models/index.md new file mode 100644 index 0000000000..fce0cecf5c --- /dev/null +++ b/docs/openai-docs/providers/openai/models/models/index.md @@ -0,0 +1,36 @@ +--- +title: models +hide_title: false +hide_table_of_contents: false +keywords: + - models + - models + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namemodels
TypeResource
Id
+ +## Fields +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `DELETE` | | diff --git a/docs/openai-docs/providers/openai/moderations/index.md b/docs/openai-docs/providers/openai/moderations/index.md new file mode 100644 index 0000000000..2593d6aab0 --- /dev/null +++ b/docs/openai-docs/providers/openai/moderations/index.md @@ -0,0 +1,47 @@ +--- +title: moderations +hide_title: false +hide_table_of_contents: false +keywords: + - moderations + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Given Text And/Or Image Inputs, Classifies If Those Inputs Are Potentially Harmful. + +:::info Service Summary + +
+
+total resources: 1
+total selectable resources: 0
+total methods: 1
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.moderations
TypeService
TitleOpenAI API - Moderations
DescriptionGiven Text And/Or Image Inputs, Classifies If Those Inputs Are Potentially Harmful.
Idmoderations:v24.10.00267
+ +## Resources +
+ +
+
+
diff --git a/docs/openai-docs/providers/openai/moderations/moderations/index.md b/docs/openai-docs/providers/openai/moderations/moderations/index.md new file mode 100644 index 0000000000..781cc77fee --- /dev/null +++ b/docs/openai-docs/providers/openai/moderations/moderations/index.md @@ -0,0 +1,35 @@ +--- +title: moderations +hide_title: false +hide_table_of_contents: false +keywords: + - moderations + - moderations + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namemoderations
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `INSERT` | | diff --git a/docs/openai-docs/providers/openai/projects/index.md b/docs/openai-docs/providers/openai/projects/index.md new file mode 100644 index 0000000000..37e76b5b93 --- /dev/null +++ b/docs/openai-docs/providers/openai/projects/index.md @@ -0,0 +1,50 @@ +--- +title: projects +hide_title: false +hide_table_of_contents: false +keywords: + - projects + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Projects + +:::info Service Summary + +
+
+total resources: 4
+total selectable resources: 4
+total methods: 17
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.projects
TypeService
TitleOpenAI API - Projects
DescriptionProjects
Idprojects:v24.10.00267
+ +## Resources + diff --git a/docs/openai-docs/providers/openai/projects/project_api_keys/index.md b/docs/openai-docs/providers/openai/projects/project_api_keys/index.md new file mode 100644 index 0000000000..5757b97ad7 --- /dev/null +++ b/docs/openai-docs/providers/openai/projects/project_api_keys/index.md @@ -0,0 +1,44 @@ +--- +title: project_api_keys +hide_title: false +hide_table_of_contents: false +keywords: + - project_api_keys + - projects + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameproject_api_keys
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints | +| | `string` | The name of the API key | +| | `integer` | The Unix timestamp (in seconds) of when the API key was created | +| | `string` | The object type, which is always `organization.project.api_key` | +| | `object` | | +| | `string` | The redacted value of the API key | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `DELETE` | | diff --git a/docs/openai-docs/providers/openai/projects/project_service_accounts/index.md b/docs/openai-docs/providers/openai/projects/project_service_accounts/index.md new file mode 100644 index 0000000000..537184f4c9 --- /dev/null +++ b/docs/openai-docs/providers/openai/projects/project_service_accounts/index.md @@ -0,0 +1,44 @@ +--- +title: project_service_accounts +hide_title: false +hide_table_of_contents: false +keywords: + - project_service_accounts + - projects + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameproject_service_accounts
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints | +| | `string` | The name of the service account | +| | `integer` | The Unix timestamp (in seconds) of when the service account was created | +| | `string` | The object type, which is always `organization.project.service_account` | +| | `string` | `owner` or `member` | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `INSERT` | | +| | `DELETE` | | diff --git a/docs/openai-docs/providers/openai/projects/project_users/index.md b/docs/openai-docs/providers/openai/projects/project_users/index.md new file mode 100644 index 0000000000..a77c7825db --- /dev/null +++ b/docs/openai-docs/providers/openai/projects/project_users/index.md @@ -0,0 +1,46 @@ +--- +title: project_users +hide_title: false +hide_table_of_contents: false +keywords: + - project_users + - projects + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameproject_users
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints | +| | `string` | The name of the user | +| | `integer` | The Unix timestamp (in seconds) of when the project was added. | +| | `string` | The email address of the user | +| | `string` | The object type, which is always `organization.project.user` | +| | `string` | `owner` or `member` | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `INSERT` | | +| | `DELETE` | | +| | `UPDATE` | | diff --git a/docs/openai-docs/providers/openai/projects/projects/index.md b/docs/openai-docs/providers/openai/projects/projects/index.md new file mode 100644 index 0000000000..5a6a424bd2 --- /dev/null +++ b/docs/openai-docs/providers/openai/projects/projects/index.md @@ -0,0 +1,46 @@ +--- +title: projects +hide_title: false +hide_table_of_contents: false +keywords: + - projects + - projects + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameprojects
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints | +| | `string` | The name of the project. This appears in reporting. | +| | `integer` | The Unix timestamp (in seconds) of when the project was archived or `null`. | +| | `integer` | The Unix timestamp (in seconds) of when the project was created. | +| | `string` | The object type, which is always `organization.project` | +| | `string` | `active` or `archived` | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `INSERT` | | +| | `UPDATE` | | +| | `EXEC` | | diff --git a/docs/openai-docs/providers/openai/uploads/index.md b/docs/openai-docs/providers/openai/uploads/index.md new file mode 100644 index 0000000000..0ebd3c5a41 --- /dev/null +++ b/docs/openai-docs/providers/openai/uploads/index.md @@ -0,0 +1,48 @@ +--- +title: uploads +hide_title: false +hide_table_of_contents: false +keywords: + - uploads + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Use Uploads To Upload Large Files In Multiple Parts. + +:::info Service Summary + +
+
+total resources: 2
+total selectable resources: 0
+total methods: 4
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.uploads
TypeService
TitleOpenAI API - Uploads
DescriptionUse Uploads To Upload Large Files In Multiple Parts.
Iduploads:v24.10.00267
+ +## Resources +
+ + +
diff --git a/docs/openai-docs/providers/openai/uploads/upload_parts/index.md b/docs/openai-docs/providers/openai/uploads/upload_parts/index.md new file mode 100644 index 0000000000..74acf3d796 --- /dev/null +++ b/docs/openai-docs/providers/openai/uploads/upload_parts/index.md @@ -0,0 +1,35 @@ +--- +title: upload_parts +hide_title: false +hide_table_of_contents: false +keywords: + - upload_parts + - uploads + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameupload_parts
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `INSERT` | | diff --git a/docs/openai-docs/providers/openai/uploads/uploads/index.md b/docs/openai-docs/providers/openai/uploads/uploads/index.md new file mode 100644 index 0000000000..b2aece0bce --- /dev/null +++ b/docs/openai-docs/providers/openai/uploads/uploads/index.md @@ -0,0 +1,37 @@ +--- +title: uploads +hide_title: false +hide_table_of_contents: false +keywords: + - uploads + - uploads + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameuploads
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `INSERT` | | +| | `EXEC` | | +| | `EXEC` | | diff --git a/docs/openai-docs/providers/openai/users/index.md b/docs/openai-docs/providers/openai/users/index.md new file mode 100644 index 0000000000..f94e4c3786 --- /dev/null +++ b/docs/openai-docs/providers/openai/users/index.md @@ -0,0 +1,47 @@ +--- +title: users +hide_title: false +hide_table_of_contents: false +keywords: + - users + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Users + +:::info Service Summary + +
+
+total resources: 1
+total selectable resources: 1
+total methods: 4
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.users
TypeService
TitleOpenAI API - Users
DescriptionUsers
Idusers:v24.10.00267
+ +## Resources +
+
+users
+
+
+
+
diff --git a/docs/openai-docs/providers/openai/users/users/index.md b/docs/openai-docs/providers/openai/users/users/index.md new file mode 100644 index 0000000000..a67141043e --- /dev/null +++ b/docs/openai-docs/providers/openai/users/users/index.md @@ -0,0 +1,45 @@ +--- +title: users +hide_title: false +hide_table_of_contents: false +keywords: + - users + - users + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Nameusers
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints | +| | `string` | The name of the user | +| | `integer` | The Unix timestamp (in seconds) of when the user was added. | +| | `string` | The email address of the user | +| | `string` | The object type, which is always `organization.user` | +| | `string` | `owner` or `reader` | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `DELETE` | | +| | `UPDATE` | | diff --git a/docs/openai-docs/providers/openai/vector_stores/files_in_vector_store_batches/index.md b/docs/openai-docs/providers/openai/vector_stores/files_in_vector_store_batches/index.md new file mode 100644 index 0000000000..702bcf660c --- /dev/null +++ b/docs/openai-docs/providers/openai/vector_stores/files_in_vector_store_batches/index.md @@ -0,0 +1,34 @@ +--- +title: files_in_vector_store_batches +hide_title: false +hide_table_of_contents: false +keywords: + - files_in_vector_store_batches + - vector_stores + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namefiles_in_vector_store_batches
TypeResource
Id
+ +## Fields +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | diff --git a/docs/openai-docs/providers/openai/vector_stores/index.md b/docs/openai-docs/providers/openai/vector_stores/index.md new file mode 100644 index 0000000000..775a385d8a --- /dev/null +++ b/docs/openai-docs/providers/openai/vector_stores/index.md @@ -0,0 +1,50 @@ +--- +title: vector_stores +hide_title: false +hide_table_of_contents: false +keywords: + - vector_stores + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +Vector Stores + +:::info Service Summary + +
+
+total resources: 4
+total selectable resources: 4
+total methods: 13
+
+
+ +::: + +## Overview + + + + + + +
Nameopenai.vector_stores
TypeService
TitleOpenAI API - Vector Stores
DescriptionVector Stores
Idvector_stores:v24.10.00267
+ +## Resources + diff --git a/docs/openai-docs/providers/openai/vector_stores/vector_store_file_batches/index.md b/docs/openai-docs/providers/openai/vector_stores/vector_store_file_batches/index.md new file mode 100644 index 0000000000..c9ca9e14c1 --- /dev/null +++ b/docs/openai-docs/providers/openai/vector_stores/vector_store_file_batches/index.md @@ -0,0 +1,44 @@ +--- +title: vector_store_file_batches +hide_title: false +hide_table_of_contents: false +keywords: + - vector_store_file_batches + - vector_stores + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namevector_store_file_batches
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints. | +| | `integer` | The Unix timestamp (in seconds) for when the vector store files batch was created. | +| | `object` | | +| | `string` | The object type, which is always `vector_store.file_batch`. | +| | `string` | The status of the vector store files batch, which can be either `in_progress`, `completed`, `cancelled` or `failed`. | +| | `string` | The ID of the [vector store](/docs/api-reference/vector-stores/object) that the [File](/docs/api-reference/files) is attached to. | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `INSERT` | | +| | `EXEC` | | diff --git a/docs/openai-docs/providers/openai/vector_stores/vector_store_files/index.md b/docs/openai-docs/providers/openai/vector_stores/vector_store_files/index.md new file mode 100644 index 0000000000..e7402aac79 --- /dev/null +++ b/docs/openai-docs/providers/openai/vector_stores/vector_store_files/index.md @@ -0,0 +1,47 @@ +--- +title: vector_store_files +hide_title: false +hide_table_of_contents: false +keywords: + - vector_store_files + - vector_stores + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namevector_store_files
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints. | +| | `object` | The strategy used to chunk the file. | +| | `integer` | The Unix timestamp (in seconds) for when the vector store file was created. | +| | `object` | The last error associated with this vector store file. Will be `null` if there are no errors. | +| | `string` | The object type, which is always `vector_store.file`. | +| | `string` | The status of the vector store file, which can be either `in_progress`, `completed`, `cancelled`, or `failed`. The status `completed` indicates that the vector store file is ready for use. | +| | `integer` | The total vector store usage in bytes. Note that this may be different from the original file size. | +| | `string` | The ID of the [vector store](/docs/api-reference/vector-stores/object) that the [File](/docs/api-reference/files) is attached to. | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `INSERT` | | +| | `DELETE` | | diff --git a/docs/openai-docs/providers/openai/vector_stores/vector_stores/index.md b/docs/openai-docs/providers/openai/vector_stores/vector_stores/index.md new file mode 100644 index 0000000000..f42655b348 --- /dev/null +++ b/docs/openai-docs/providers/openai/vector_stores/vector_stores/index.md @@ -0,0 +1,51 @@ +--- +title: vector_stores +hide_title: false +hide_table_of_contents: false +keywords: + - vector_stores + - vector_stores + - openai + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy, and manage OpenAI and ChatGPT resources using SQL. +custom_edit_url: null +image: /img/providers/openai/stackql-openai-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + + + + +## Overview + + + + +
Namevector_stores
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The identifier, which can be referenced in API endpoints. | +| | `string` | The name of the vector store. | +| | `integer` | The Unix timestamp (in seconds) for when the vector store was created. | +| | `object` | The expiration policy for a vector store. | +| | `integer` | The Unix timestamp (in seconds) for when the vector store will expire. | +| | `object` | | +| | `integer` | The Unix timestamp (in seconds) for when the vector store was last active. | +| | `object` | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.
| +| | `string` | The object type, which is always `vector_store`. | +| | `string` | The status of the vector store, which can be either `expired`, `in_progress`, or `completed`. A status of `completed` indicates that the vector store is ready for use. | +| | `integer` | The total number of bytes used by the files in the vector store. | +## Methods +| Name | Accessible by | Required Params | +|:-----|:--------------|:----------------| +| | `SELECT` | | +| | `SELECT` | | +| | `INSERT` | | +| | `DELETE` | | +| | `UPDATE` | | diff --git a/docs/openai-docs/stackql-provider-registry.mdx b/docs/openai-docs/stackql-provider-registry.mdx new file mode 100644 index 0000000000..9522ce3d88 --- /dev/null +++ b/docs/openai-docs/stackql-provider-registry.mdx @@ -0,0 +1,20 @@ +--- +title: StackQL Provider Registry +hide_title: true +hide_table_of_contents: true +keywords: + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query and Deploy Cloud Infrastructure and Resources using SQL +custom_edit_url: null +image: https://storage.googleapis.com/stackql-web-assets/blog/stackql-blog-post-featured-image.png +slug: / +--- +import RegistryPage from '@site/src/shared/shared-stackql-provider-registry.mdx'; + + + +--- + diff --git a/package.json b/package.json index d5f1ac5141..5dc14b4baf 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "start:linode": "export REGISTRY=linode && docusaurus start", "start:firebase": "export REGISTRY=firebase && docusaurus start", "start:github": "export REGISTRY=github && docusaurus start", + "start:openai": "export REGISTRY=openai && docusaurus start", "start:google": "export REGISTRY=google && docusaurus start", "start:k8s": "export REGISTRY=k8s && docusaurus start", "start:netlify": "export REGISTRY=netlify && docusaurus start", @@ -32,6 +33,7 @@ "build:linode": "export REGISTRY=linode && docusaurus build", "build:firebase": "export REGISTRY=firebase && docusaurus build", "build:github": "export REGISTRY=github && docusaurus build", + "build:openai": "export REGISTRY=openai && docusaurus build", "build:google": "export REGISTRY=google && docusaurus build", "build:k8s": "export REGISTRY=k8s && docusaurus build", "build:netlify": "export REGISTRY=netlify && docusaurus build", diff --git a/scripts/docgen/provider_data.py b/scripts/docgen/provider_data.py index b7cb049c7b..bd98635210 100644 --- a/scripts/docgen/provider_data.py +++ b/scripts/docgen/provider_data.py @@ -131,6 +131,11 @@ """ provider_data = { + 'openai': { + 'meta_description': 'Query, deploy, and manage OpenAI and ChatGPT resources using SQL.', + 'description': 'AI models for natural language processing and content generation.', + 'image': '/img/providers/openai/stackql-openai-provider-featured-image.png' + }, 'digitalocean': { 'meta_description': 'Query, deploy and manage Sumologic resources using SQL', 'description': 'Cloud computing services and Infrastructure as a Service (IaaS).', @@ -235,6 +240,23 @@ auth_blocks = { # +# OpenAI +# + 'openai': { + 'custom': False, + 'variables': """ +- - OpenAI API key (see How to Create an OpenAI API Key) + """, + 'linux': """ +AUTH='{ "openai": { "type": "bearer", "credentialsenvvar": "OPENAI_API_KEY" }}' +stackql shell --auth="${AUTH}" + """, + 'windows': """ +$Auth = "{ 'openai': { 'type': 'bearer', 'credentialsenvvar': 'OPENAI_API_KEY' }}" +stackql.exe shell --auth=$Auth + """, +}, +# # Linode # 'linode': { diff --git a/sidebars.js b/sidebars.js index 2e960556cd..30d8cfdcce 100644 --- a/sidebars.js +++ b/sidebars.js @@ -20,6 +20,7 @@ const providers = [ {name: 'aws'}, {name: 'digitalocean'}, {name: 'github'}, + {name: 'openai'}, {name: 'linode'}, {name: 'netlify'}, {name: 'okta'}, diff --git a/src/configs/providers.ts b/src/configs/providers.ts index 87f6d33214..bf4c42d7bd 100644 --- a/src/configs/providers.ts +++ b/src/configs/providers.ts @@ -7,6 +7,7 @@ export const providers = [ {name: 'aws', description: 'Cloud computing services by AWS.', title: 'AWS'}, {name: 'digitalocean', description: 'Cloud computing services and Infrastructure as a Service (IaaS).', title: 'Digital Ocean'}, {name: 'github', description: 'Web-based version-control and collaboration.', title: 'GitHub'}, + {name: 'openai', description: 'AI models and services by OpenAI.', title: 'OpenAI'}, {name: 'linode', description: 'Cloud computing services by Akamai.', title: 'Linode'}, {name: 'netlify', description: 'Web development and content distribution platform.', title: 'Netlify'}, {name: 'okta', description: 'Authentication and authorization services.', title: 'Okta'}, diff --git a/static/img/providers/openai/openai.png b/static/img/providers/openai/openai.png new file mode 100644 index 0000000000000000000000000000000000000000..9b98f0ecf8f2d250fb85394a2dc53264ca40fbc1 GIT binary patch literal 1193 zcmV;a1XlZrP)Px(V@X6oR7gv$R(mMkdl>(`gt;toiMeHH%Q;2OHKZ9i7IT@=GPeexB#~d_K?b z6##%xD6|Jq34oqg5t9It1OmaNKqwUc0^pCUxb+8j{7L}71NcoAKzDaH^78U9Gc&^} z&d$zw`SK;)+}!?4O&;?UdM3vX|4@!_7H9x<4Ph6YYfPH=vHj(9qCOczAel zhu?<;z?Uyy@ZiA%%+Jqr&e+%(92^`FA0Lmpx;og~+oQU=8rIg<*x%pB+1VNN^z=A) za&nS$X?(%K!D0+C041B7n?qY$8^y)NxPSjX6MN&v4Hy_0psA?|At51rFh4&Z<>lqr z+uK7yK><=zQ=zD+$i$zXp5oJ|PtpKXSz=-$4i67;ad81nO-%;S($YdiLV&6;Q90C40i3>HMqOGvoJ&<9uZZVk&%J4v@|im+}s>= zb#?h7s`SN+7ksXwqJqct@Zm$0mX_lB_3PXr5v`-6!-dJo$#Je2fCw@&GGYa-tgOJ) z)D-XEzh{kmd3j-UbW}nePEJlBnXay`A|)jSuY5+^k@ zG@z`k3??QfI5;?9MSUOS=)S%_uH4_>AIr)x#YYG}mZf-7DytTCjOG`^EEG*#Gty?H5DM3+D5x#!?DhWWJ$OD6e zgDkaxfB;lhRx-&{9Z8W0m6w-?s;VkiIWjWBim|b=5d%aWa5--(q)nmjTEV3JMBPS64?>RTUBv5~Kkf9UY;p ztjt}I7f6bvd-6nbax#yJf=GP&^eK0=xw**zv?9{e(;4vd=g;DuB(W;m+S-_Xvb~+1 z9bdM+z0LY2#Zc>18U0SXs-~s}AV>V`%btj*SEb0&w70Ue zv$=zx1i$p@^1p3&_2D3(JOBA-QTDT!|Nq4P03bym5d8TUc;86G^avoB00000NkvXX Hu0mjf*~&y; literal 0 HcmV?d00001 diff --git a/static/img/providers/openai/stackql-openai-provider-featured-image.png b/static/img/providers/openai/stackql-openai-provider-featured-image.png new file mode 100644 index 0000000000000000000000000000000000000000..edd5d8504070ecfb53478cf8bc63666966d96508 GIT binary patch literal 21847 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

b!FRtBo0%oN-ze5rVsr)8>oV~cmFEcT}l?s z%j;Sy&dqD8)K@Ro`!nEI2=q(~z{sg|%(EJiMQ289mg^4;y|eYX9Mbj-_vQJ%(4t~x z$0`gbE93!@(C5^Zf;2W%*|ewjlMI{1EQT|(HsgQtYXzs{RmZP5@FAC8P-Q>3Ov&@c zg0kY@69BQBF11uAya~tyv?g~5!0i1!<_O$}hh6;ElUZ@fl5VPWSH9BG%4mI;dSqsO zJdFdUL#_{UTYP|V%|b4e5pn>L*c}i;hoNF*Nsd!Z#A={{kWbAVWBs)-BTN8}o-2a-O)-J-*qo3T~T%2 z(18a%O3tWuXZ!d-quF+#^H9WE3MjU!3n_bx>bT2|uEM&L{~Y`t+L;5&n}gRM@B~O@Q6E_RDYoGUB0%TfQK$k5F2}`6lG~l{fm6vA^LRVpfmuO&GGSH$* z+2y~TvC>B;2k{aW{Xf6?uEuYd`n}fiNBVeHP~C1wDR@UTkt+_1)laqF#0R>P=If3Z z?ic-dwTG~BfKr7uVwjSW&!!&B^U0!S7G;0>7EF=2f;itc)3Z&$;FBIHtR1CndOHe$ zNunqZS|2&)vo!F93ZWKh`G$Sz>PRO`bDT^T_S~}wkz+@hu7&BEHNW`_V zP;fF58OS2BdNi%Xphf+fFiovP62S6%&D~n-z!h{%3Ipp8x2= zcwOWrqk}^ErU!u5d23^>5mpWW`O`5lj5zTeK>9H#@hQiE}iibeK40Ka0LiZL3`pr0~J||U+Y~_hpI7tMQ7XdHHz?^61;g;h` zV|{JrO5|>jQeDw^+9IQ(@II-sYlXGo{y%_x<*7^A6fg=tIS> z@Y~~ylC4(?+l#t?wn2RJS8R!$re}*wBNVzcs8YLUpRRc{z4V%Gk0QL-WDmYYV+{w? zamv3vHQjKM4U|xn$j+`araW2jm;p}y&V0$je%v5DLph=wQ0W0< zQt??rQAXx(PnDW|N$F7>xbkr!h(}@QHL&Gscna$7ypDejfQ1Pc{`Y4M9@>M&{$B1I zgW4M;Mn*BbjAks;H%Q14Xh)gab-Y%jZx=58-x6~Z8ZY2FSNo_UGr0P@tr_sfovJpr90A^T^ylqWFLiCo1e?BFa`(em z-H%U&#m_26q~CFdFx;OX$Oo{Y&e>wqB;1DA&FFMW=kEUmzs72D3G9Dd0ZF;MDNj9K zJ<4cxC{QNK=$Day4bb$)3YSJ2xh9`#PHh;Jz@!`gK+mif5IJXj-Kz!Wu~ku}?6|S} znTm1RSlk~#plC2CQyy^ocOM>qMzJ|qq(ojFQl5XGU)_f(j{SeyIoGEq&M1rrhC$bH zDA3Ai2wE<2Od3|Al_b$DP@o-E;PwXZOAQ9wTA#J@C6|l|JLc9NKMp zNY~M;?k(bemK_0$NbLq9ByRC|>7COT5t^pw>Rw0=hPnhsT4&}bt&I-SW<8&5OyiQz zM{N{jEWD!s^nw&&SsaPl0(jadSi2#mBXO02bcuLSVs#A328gjHzRT%U5LybJF34U` zx6?R*a7~+4ENTKGYtf=WY!BHeTfU$qP7Lc>r|D4!cXxNPP((Ea(j4rlE1K#}d38gO zwZr}oSf+nnEw1Wdz`N2AyXEyYmzAzmq@w(L>fsrynVIc;08fT(S`4vi1H6`&$t!{R zUf*Fa9tvge8dC5o`-`k;8^Ke`l78&qe$5AYt!{Bux>dhb$#;y=t!+h=PK~L5Xdm7sNM} zxXHhBi__NC^|VS3j4dUkN%&$DxgSpCFrwus?TC#-Wb-<8vS;C%u4l6s~7sb^Ep#B7C`pc$#L^mB)1LFd~t*3A)Q;^-pL?Uu@eI2K%2VFN2@^$sw33*wbGsRnkcWes!{qsEO3c<^VaBLC4#V;vt-P8n? zP03Qrb@ukaq>O`{1f(qhnt(XP$9D)s>8|~_m=Zh)vKCDaFh{tu5hVvHBE;Awpj*Ri_etdsYaUVybDeX1r5NaWp!H( z2?{}tV;a?U9h9;^LjApf&5^%{UM-Jh@+$tMf4YNO|rH>Qy-FRKgPUdlw zkqc`U{6A#I&C0v=g!}u8M}K+v@6Fd|3~N4_;4pU)I|0K^0loR|&4fk|X5=5eoyn}< z>fzy|#h9!IfGZOeB~0@rw3RWXt+0^HhvsaUi^1FrKoQJRV3vaaRSHgqZT?7&$iErw SR#uKj3vN%yzF--R#rqF%|2lO5 literal 0 HcmV?d00001