openaivec 0.15.1__tar.gz → 0.99.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openaivec-0.15.1 → openaivec-0.99.0}/PKG-INFO +41 -13
- {openaivec-0.15.1 → openaivec-0.99.0}/README.md +40 -12
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/__init__.py +6 -1
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_proxy.py +2 -2
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/pandas_ext.py +32 -32
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/spark.py +2 -44
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_proxy.py +2 -2
- {openaivec-0.15.1 → openaivec-0.99.0}/.env.example +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/.github/copilot-instructions.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/.github/workflows/python-mkdocs.yml +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/.github/workflows/python-package.yml +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/.github/workflows/python-test.yml +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/.github/workflows/python-update.yml +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/.gitignore +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/AGENTS.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/CODE_OF_CONDUCT.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/LICENSE +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/SECURITY.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/SUPPORT.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/main.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/pandas_ext.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/spark.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/task.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/customer_support/customer_sentiment.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/customer_support/inquiry_classification.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/customer_support/inquiry_summary.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/customer_support/intent_analysis.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/customer_support/response_suggestion.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/customer_support/urgency_analysis.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/nlp/dependency_parsing.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/nlp/keyword_extraction.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/nlp/morphological_analysis.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/nlp/named_entity_recognition.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/nlp/sentiment_analysis.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/nlp/translation.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/contributor-guide.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/index.md +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/docs/robots.txt +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/mkdocs.yml +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/pyproject.toml +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/pytest.ini +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_di.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_dynamic.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_embeddings.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_log.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_model.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_optimize.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_prompt.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_provider.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_responses.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_schema.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_serialize.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/_util.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/__init__.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/__init__.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/customer_sentiment.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/inquiry_classification.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/inquiry_summary.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/intent_analysis.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/response_suggestion.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/urgency_analysis.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/nlp/__init__.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/nlp/dependency_parsing.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/nlp/keyword_extraction.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/nlp/morphological_analysis.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/nlp/named_entity_recognition.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/nlp/sentiment_analysis.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/nlp/translation.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/table/__init__.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/table/fillna.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/__init__.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/conftest.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_di.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_dynamic.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_embeddings.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_optimize.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_pandas_ext.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_prompt.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_provider.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_proxy_suggester.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_responses.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_schema.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_serialize.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_serialize_pydantic_v2_compliance.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_spark.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_task.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/tests/test_util.py +0 -0
- {openaivec-0.15.1 → openaivec-0.99.0}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openaivec
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.99.0
|
|
4
4
|
Summary: Generative mutation for tabular calculation
|
|
5
5
|
Project-URL: Homepage, https://microsoft.github.io/openaivec/
|
|
6
6
|
Project-URL: Repository, https://github.com/microsoft/openaivec
|
|
@@ -32,6 +32,27 @@ Description-Content-Type: text/markdown
|
|
|
32
32
|
|
|
33
33
|
**openaivec** enables data analysts to seamlessly integrate OpenAI's language models into their pandas and Spark workflows. Process thousands of text records with natural language instructions, turning unstructured data into actionable insights with just a few lines of code.
|
|
34
34
|
|
|
35
|
+
## Contents
|
|
36
|
+
- [Why openaivec?](#why-openaivec)
|
|
37
|
+
- [Quick Start](#-quick-start-from-text-to-insights-in-seconds)
|
|
38
|
+
- [Real-World Impact](#-real-world-impact)
|
|
39
|
+
- [Overview](#overview)
|
|
40
|
+
- [Core Workflows](#core-workflows)
|
|
41
|
+
- [Using with Apache Spark UDFs](#using-with-apache-spark-udfs)
|
|
42
|
+
- [Building Prompts](#building-prompts)
|
|
43
|
+
- [Using with Microsoft Fabric](#using-with-microsoft-fabric)
|
|
44
|
+
- [Contributing](#contributing)
|
|
45
|
+
- [Additional Resources](#additional-resources)
|
|
46
|
+
- [Community](#community)
|
|
47
|
+
|
|
48
|
+
## Why openaivec?
|
|
49
|
+
- Drop-in `.ai` and `.aio` DataFrame accessors keep pandas analysts in their favorite tools.
|
|
50
|
+
- Smart batching (`BatchingMapProxy`) deduplicates prompts, enforces ordered outputs, and shortens runtimes without manual tuning.
|
|
51
|
+
- Built-in caches, retry logic, and reasoning model safeguards cut noisy boilerplate from production pipelines.
|
|
52
|
+
- Ready-made Spark UDF builders and Microsoft Fabric guides take AI workloads from notebooks into enterprise-scale ETL.
|
|
53
|
+
- Pre-configured task library and `FewShotPromptBuilder` ship curated prompts and structured outputs validated by Pydantic.
|
|
54
|
+
- Supports OpenAI and Azure OpenAI clients interchangeably, including async workloads and embeddings.
|
|
55
|
+
|
|
35
56
|
## 🚀 Quick Start: From Text to Insights in Seconds
|
|
36
57
|
|
|
37
58
|
Imagine analyzing 10,000 customer reviews. Instead of manual work, just write:
|
|
@@ -111,21 +132,28 @@ This approach helps reduce latency and simplifies your code.
|
|
|
111
132
|
Additionally, it integrates effortlessly with Pandas DataFrames and Apache Spark UDFs, making it easy to incorporate
|
|
112
133
|
into your data processing pipelines.
|
|
113
134
|
|
|
114
|
-
|
|
135
|
+
Behind the scenes, `BatchingMapProxy` and `AsyncBatchingMapProxy` deduplicate repeated inputs, guarantee response order,
|
|
136
|
+
and unblock waiters even when upstream APIs error. Caches created via helpers such as `responses_with_cache` plug into
|
|
137
|
+
this batching layer so expensive prompts are reused across pandas, Spark, and async flows. Progress bars surface
|
|
138
|
+
automatically in notebook environments when `show_progress=True`.
|
|
139
|
+
|
|
140
|
+
## Core Capabilities
|
|
115
141
|
|
|
116
|
-
- Vectorized
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
142
|
+
- Vectorized request batching with automatic deduplication, retries, and cache hooks for any OpenAI-compatible client.
|
|
143
|
+
- pandas `.ai` and `.aio` accessors for synchronous and asynchronous DataFrame pipelines, including `ai.extract` helpers.
|
|
144
|
+
- Task library with Pydantic-backed schemas for consistent structured outputs across pandas and Spark jobs.
|
|
145
|
+
- Spark UDF builders (`responses_udf`, `embeddings_udf`, `parse_udf`, `task_udf`, etc.) for large-scale ETL and BI.
|
|
146
|
+
- Embeddings, token counting, and similarity utilities for search and retrieval use cases.
|
|
147
|
+
- Prompt tooling (`FewShotPromptBuilder`, `improve`) to craft and iterate production-ready instructions.
|
|
120
148
|
|
|
121
149
|
## Key Benefits
|
|
122
150
|
|
|
123
|
-
- **🚀
|
|
124
|
-
- **💰 Cost Efficiency**:
|
|
125
|
-
-
|
|
126
|
-
-
|
|
127
|
-
- **🎯 Pre-configured
|
|
128
|
-
- **🏢 Enterprise Ready**: Microsoft Fabric
|
|
151
|
+
- **🚀 Throughput**: Smart batching and concurrency tuning process thousands of records in minutes, not hours.
|
|
152
|
+
- **💰 Cost Efficiency**: Input deduplication and optional caches cut redundant token usage on real-world datasets.
|
|
153
|
+
- **🛡️ Reliability**: Guardrails for reasoning models, informative errors, and automatic waiter release keep pipelines healthy.
|
|
154
|
+
- **🔗 Integration**: pandas, Spark, async, and Fabric workflows share the same API surface—no bespoke adapters required.
|
|
155
|
+
- **🎯 Consistency**: Pre-configured tasks and extractors deliver structured outputs validated with Pydantic models.
|
|
156
|
+
- **🏢 Enterprise Ready**: Azure OpenAI parity, Microsoft Fabric walkthroughs, and Spark UDFs shorten the path to production.
|
|
129
157
|
|
|
130
158
|
## Requirements
|
|
131
159
|
|
|
@@ -145,7 +173,7 @@ If you want to uninstall the package, you can do so with:
|
|
|
145
173
|
pip uninstall openaivec
|
|
146
174
|
```
|
|
147
175
|
|
|
148
|
-
##
|
|
176
|
+
## Core Workflows
|
|
149
177
|
|
|
150
178
|
### Direct API Usage
|
|
151
179
|
|
|
@@ -6,6 +6,27 @@
|
|
|
6
6
|
|
|
7
7
|
**openaivec** enables data analysts to seamlessly integrate OpenAI's language models into their pandas and Spark workflows. Process thousands of text records with natural language instructions, turning unstructured data into actionable insights with just a few lines of code.
|
|
8
8
|
|
|
9
|
+
## Contents
|
|
10
|
+
- [Why openaivec?](#why-openaivec)
|
|
11
|
+
- [Quick Start](#-quick-start-from-text-to-insights-in-seconds)
|
|
12
|
+
- [Real-World Impact](#-real-world-impact)
|
|
13
|
+
- [Overview](#overview)
|
|
14
|
+
- [Core Workflows](#core-workflows)
|
|
15
|
+
- [Using with Apache Spark UDFs](#using-with-apache-spark-udfs)
|
|
16
|
+
- [Building Prompts](#building-prompts)
|
|
17
|
+
- [Using with Microsoft Fabric](#using-with-microsoft-fabric)
|
|
18
|
+
- [Contributing](#contributing)
|
|
19
|
+
- [Additional Resources](#additional-resources)
|
|
20
|
+
- [Community](#community)
|
|
21
|
+
|
|
22
|
+
## Why openaivec?
|
|
23
|
+
- Drop-in `.ai` and `.aio` DataFrame accessors keep pandas analysts in their favorite tools.
|
|
24
|
+
- Smart batching (`BatchingMapProxy`) deduplicates prompts, enforces ordered outputs, and shortens runtimes without manual tuning.
|
|
25
|
+
- Built-in caches, retry logic, and reasoning model safeguards cut noisy boilerplate from production pipelines.
|
|
26
|
+
- Ready-made Spark UDF builders and Microsoft Fabric guides take AI workloads from notebooks into enterprise-scale ETL.
|
|
27
|
+
- Pre-configured task library and `FewShotPromptBuilder` ship curated prompts and structured outputs validated by Pydantic.
|
|
28
|
+
- Supports OpenAI and Azure OpenAI clients interchangeably, including async workloads and embeddings.
|
|
29
|
+
|
|
9
30
|
## 🚀 Quick Start: From Text to Insights in Seconds
|
|
10
31
|
|
|
11
32
|
Imagine analyzing 10,000 customer reviews. Instead of manual work, just write:
|
|
@@ -85,21 +106,28 @@ This approach helps reduce latency and simplifies your code.
|
|
|
85
106
|
Additionally, it integrates effortlessly with Pandas DataFrames and Apache Spark UDFs, making it easy to incorporate
|
|
86
107
|
into your data processing pipelines.
|
|
87
108
|
|
|
88
|
-
|
|
109
|
+
Behind the scenes, `BatchingMapProxy` and `AsyncBatchingMapProxy` deduplicate repeated inputs, guarantee response order,
|
|
110
|
+
and unblock waiters even when upstream APIs error. Caches created via helpers such as `responses_with_cache` plug into
|
|
111
|
+
this batching layer so expensive prompts are reused across pandas, Spark, and async flows. Progress bars surface
|
|
112
|
+
automatically in notebook environments when `show_progress=True`.
|
|
113
|
+
|
|
114
|
+
## Core Capabilities
|
|
89
115
|
|
|
90
|
-
- Vectorized
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
116
|
+
- Vectorized request batching with automatic deduplication, retries, and cache hooks for any OpenAI-compatible client.
|
|
117
|
+
- pandas `.ai` and `.aio` accessors for synchronous and asynchronous DataFrame pipelines, including `ai.extract` helpers.
|
|
118
|
+
- Task library with Pydantic-backed schemas for consistent structured outputs across pandas and Spark jobs.
|
|
119
|
+
- Spark UDF builders (`responses_udf`, `embeddings_udf`, `parse_udf`, `task_udf`, etc.) for large-scale ETL and BI.
|
|
120
|
+
- Embeddings, token counting, and similarity utilities for search and retrieval use cases.
|
|
121
|
+
- Prompt tooling (`FewShotPromptBuilder`, `improve`) to craft and iterate production-ready instructions.
|
|
94
122
|
|
|
95
123
|
## Key Benefits
|
|
96
124
|
|
|
97
|
-
- **🚀
|
|
98
|
-
- **💰 Cost Efficiency**:
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
- **🎯 Pre-configured
|
|
102
|
-
- **🏢 Enterprise Ready**: Microsoft Fabric
|
|
125
|
+
- **🚀 Throughput**: Smart batching and concurrency tuning process thousands of records in minutes, not hours.
|
|
126
|
+
- **💰 Cost Efficiency**: Input deduplication and optional caches cut redundant token usage on real-world datasets.
|
|
127
|
+
- **🛡️ Reliability**: Guardrails for reasoning models, informative errors, and automatic waiter release keep pipelines healthy.
|
|
128
|
+
- **🔗 Integration**: pandas, Spark, async, and Fabric workflows share the same API surface—no bespoke adapters required.
|
|
129
|
+
- **🎯 Consistency**: Pre-configured tasks and extractors deliver structured outputs validated with Pydantic models.
|
|
130
|
+
- **🏢 Enterprise Ready**: Azure OpenAI parity, Microsoft Fabric walkthroughs, and Spark UDFs shorten the path to production.
|
|
103
131
|
|
|
104
132
|
## Requirements
|
|
105
133
|
|
|
@@ -119,7 +147,7 @@ If you want to uninstall the package, you can do so with:
|
|
|
119
147
|
pip uninstall openaivec
|
|
120
148
|
```
|
|
121
149
|
|
|
122
|
-
##
|
|
150
|
+
## Core Workflows
|
|
123
151
|
|
|
124
152
|
### Direct API Usage
|
|
125
153
|
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
from ._embeddings import AsyncBatchEmbeddings, BatchEmbeddings
|
|
2
2
|
from ._model import PreparedTask
|
|
3
|
-
from ._prompt import FewShotPromptBuilder
|
|
3
|
+
from ._prompt import FewShotPrompt, FewShotPromptBuilder
|
|
4
4
|
from ._responses import AsyncBatchResponses, BatchResponses
|
|
5
|
+
from ._schema import InferredSchema, SchemaInferenceInput, SchemaInferer
|
|
5
6
|
|
|
6
7
|
__all__ = [
|
|
7
8
|
"AsyncBatchEmbeddings",
|
|
8
9
|
"AsyncBatchResponses",
|
|
9
10
|
"BatchEmbeddings",
|
|
10
11
|
"BatchResponses",
|
|
12
|
+
"FewShotPrompt",
|
|
11
13
|
"FewShotPromptBuilder",
|
|
14
|
+
"InferredSchema",
|
|
12
15
|
"PreparedTask",
|
|
16
|
+
"SchemaInferenceInput",
|
|
17
|
+
"SchemaInferer",
|
|
13
18
|
]
|
|
@@ -199,7 +199,7 @@ class BatchingMapProxy(ProxyBase[S, T], Generic[S, T]):
|
|
|
199
199
|
# - If positive integer: Fixed batch size
|
|
200
200
|
# - If <= 0: Process all items at once
|
|
201
201
|
batch_size: int | None = None
|
|
202
|
-
show_progress: bool =
|
|
202
|
+
show_progress: bool = True
|
|
203
203
|
suggester: BatchSizeSuggester = field(default_factory=BatchSizeSuggester, repr=False)
|
|
204
204
|
|
|
205
205
|
# internals
|
|
@@ -509,7 +509,7 @@ class AsyncBatchingMapProxy(ProxyBase[S, T], Generic[S, T]):
|
|
|
509
509
|
# - If <= 0: Process all items at once
|
|
510
510
|
batch_size: int | None = None
|
|
511
511
|
max_concurrency: int = 8
|
|
512
|
-
show_progress: bool =
|
|
512
|
+
show_progress: bool = True
|
|
513
513
|
suggester: BatchSizeSuggester = field(default_factory=BatchSizeSuggester, repr=False)
|
|
514
514
|
|
|
515
515
|
# internals
|
|
@@ -249,7 +249,7 @@ class OpenAIVecSeriesAccessor:
|
|
|
249
249
|
instructions: str,
|
|
250
250
|
response_format: type[ResponseFormat] = str,
|
|
251
251
|
batch_size: int | None = None,
|
|
252
|
-
show_progress: bool =
|
|
252
|
+
show_progress: bool = True,
|
|
253
253
|
**api_kwargs,
|
|
254
254
|
) -> pd.Series:
|
|
255
255
|
"""Call an LLM once for every Series element.
|
|
@@ -282,7 +282,7 @@ class OpenAIVecSeriesAccessor:
|
|
|
282
282
|
batch_size (int | None, optional): Number of prompts grouped into a single
|
|
283
283
|
request. Defaults to ``None`` (automatic batch size optimization
|
|
284
284
|
based on execution time). Set to a positive integer for fixed batch size.
|
|
285
|
-
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``
|
|
285
|
+
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``True``.
|
|
286
286
|
**api_kwargs: Additional OpenAI API parameters (temperature, top_p, etc.).
|
|
287
287
|
|
|
288
288
|
Returns:
|
|
@@ -341,7 +341,7 @@ class OpenAIVecSeriesAccessor:
|
|
|
341
341
|
name=self._obj.name,
|
|
342
342
|
)
|
|
343
343
|
|
|
344
|
-
def embeddings(self, batch_size: int | None = None, show_progress: bool =
|
|
344
|
+
def embeddings(self, batch_size: int | None = None, show_progress: bool = True, **api_kwargs) -> pd.Series:
|
|
345
345
|
"""Compute OpenAI embeddings for every Series element.
|
|
346
346
|
|
|
347
347
|
Example:
|
|
@@ -362,7 +362,7 @@ class OpenAIVecSeriesAccessor:
|
|
|
362
362
|
batch_size (int | None, optional): Number of inputs grouped into a
|
|
363
363
|
single request. Defaults to ``None`` (automatic batch size optimization
|
|
364
364
|
based on execution time). Set to a positive integer for fixed batch size.
|
|
365
|
-
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``
|
|
365
|
+
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``True``.
|
|
366
366
|
**api_kwargs: Additional OpenAI API parameters (e.g., dimensions for text-embedding-3 models).
|
|
367
367
|
|
|
368
368
|
Returns:
|
|
@@ -417,7 +417,7 @@ class OpenAIVecSeriesAccessor:
|
|
|
417
417
|
self,
|
|
418
418
|
task: PreparedTask,
|
|
419
419
|
batch_size: int | None = None,
|
|
420
|
-
show_progress: bool =
|
|
420
|
+
show_progress: bool = True,
|
|
421
421
|
) -> pd.Series:
|
|
422
422
|
"""Execute a prepared task on every Series element.
|
|
423
423
|
|
|
@@ -447,7 +447,7 @@ class OpenAIVecSeriesAccessor:
|
|
|
447
447
|
batch_size (int | None, optional): Number of prompts grouped into a single
|
|
448
448
|
request to optimize API usage. Defaults to ``None`` (automatic batch size
|
|
449
449
|
optimization based on execution time). Set to a positive integer for fixed batch size.
|
|
450
|
-
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``
|
|
450
|
+
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``True``.
|
|
451
451
|
|
|
452
452
|
Note:
|
|
453
453
|
The task's stored API parameters are used. Core batching / routing keys
|
|
@@ -520,7 +520,7 @@ class OpenAIVecSeriesAccessor:
|
|
|
520
520
|
response_format: type[ResponseFormat] | None = None,
|
|
521
521
|
max_examples: int = 100,
|
|
522
522
|
batch_size: int | None = None,
|
|
523
|
-
show_progress: bool =
|
|
523
|
+
show_progress: bool = True,
|
|
524
524
|
**api_kwargs,
|
|
525
525
|
) -> pd.Series:
|
|
526
526
|
"""Parse Series values into structured data using an LLM.
|
|
@@ -544,7 +544,7 @@ class OpenAIVecSeriesAccessor:
|
|
|
544
544
|
batch_size (int | None, optional): Number of requests to process
|
|
545
545
|
per batch. None enables automatic optimization. Defaults to None.
|
|
546
546
|
show_progress (bool, optional): Display progress bar in Jupyter
|
|
547
|
-
notebooks. Defaults to
|
|
547
|
+
notebooks. Defaults to True.
|
|
548
548
|
**api_kwargs: Additional OpenAI API parameters (temperature, top_p,
|
|
549
549
|
frequency_penalty, presence_penalty, seed, etc.).
|
|
550
550
|
|
|
@@ -770,7 +770,7 @@ class OpenAIVecDataFrameAccessor:
|
|
|
770
770
|
instructions: str,
|
|
771
771
|
response_format: type[ResponseFormat] = str,
|
|
772
772
|
batch_size: int | None = None,
|
|
773
|
-
show_progress: bool =
|
|
773
|
+
show_progress: bool = True,
|
|
774
774
|
**api_kwargs,
|
|
775
775
|
) -> pd.Series:
|
|
776
776
|
"""Generate a response for each row after serializing it to JSON.
|
|
@@ -801,7 +801,7 @@ class OpenAIVecDataFrameAccessor:
|
|
|
801
801
|
batch_size (int | None, optional): Number of requests sent in one batch.
|
|
802
802
|
Defaults to ``None`` (automatic batch size optimization
|
|
803
803
|
based on execution time). Set to a positive integer for fixed batch size.
|
|
804
|
-
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``
|
|
804
|
+
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``True``.
|
|
805
805
|
**api_kwargs: Additional OpenAI API parameters (temperature, top_p, etc.).
|
|
806
806
|
|
|
807
807
|
Returns:
|
|
@@ -840,7 +840,7 @@ class OpenAIVecDataFrameAccessor:
|
|
|
840
840
|
self,
|
|
841
841
|
task: PreparedTask,
|
|
842
842
|
batch_size: int | None = None,
|
|
843
|
-
show_progress: bool =
|
|
843
|
+
show_progress: bool = True,
|
|
844
844
|
) -> pd.Series:
|
|
845
845
|
"""Execute a prepared task on each DataFrame row after serializing it to JSON.
|
|
846
846
|
|
|
@@ -874,7 +874,7 @@ class OpenAIVecDataFrameAccessor:
|
|
|
874
874
|
batch_size (int | None, optional): Number of requests sent in one batch
|
|
875
875
|
to optimize API usage. Defaults to ``None`` (automatic batch size
|
|
876
876
|
optimization based on execution time). Set to a positive integer for fixed batch size.
|
|
877
|
-
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``
|
|
877
|
+
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``True``.
|
|
878
878
|
|
|
879
879
|
Note:
|
|
880
880
|
The task's stored API parameters are used. Core batching / routing
|
|
@@ -939,7 +939,7 @@ class OpenAIVecDataFrameAccessor:
|
|
|
939
939
|
response_format: type[ResponseFormat] | None = None,
|
|
940
940
|
max_examples: int = 100,
|
|
941
941
|
batch_size: int | None = None,
|
|
942
|
-
show_progress: bool =
|
|
942
|
+
show_progress: bool = True,
|
|
943
943
|
**api_kwargs,
|
|
944
944
|
) -> pd.Series:
|
|
945
945
|
"""Parse DataFrame rows into structured data using an LLM.
|
|
@@ -960,7 +960,7 @@ class OpenAIVecDataFrameAccessor:
|
|
|
960
960
|
batch_size (int | None, optional): Rows per API batch. None
|
|
961
961
|
enables automatic optimization. Defaults to None.
|
|
962
962
|
show_progress (bool, optional): Show progress bar in Jupyter
|
|
963
|
-
notebooks. Defaults to
|
|
963
|
+
notebooks. Defaults to True.
|
|
964
964
|
**api_kwargs: Additional OpenAI API parameters.
|
|
965
965
|
|
|
966
966
|
Returns:
|
|
@@ -1084,7 +1084,7 @@ class OpenAIVecDataFrameAccessor:
|
|
|
1084
1084
|
target_column_name: str,
|
|
1085
1085
|
max_examples: int = 500,
|
|
1086
1086
|
batch_size: int | None = None,
|
|
1087
|
-
show_progress: bool =
|
|
1087
|
+
show_progress: bool = True,
|
|
1088
1088
|
) -> pd.DataFrame:
|
|
1089
1089
|
"""Fill missing values in a DataFrame column using AI-powered inference.
|
|
1090
1090
|
|
|
@@ -1102,7 +1102,7 @@ class OpenAIVecDataFrameAccessor:
|
|
|
1102
1102
|
batch_size (int | None, optional): Number of requests sent in one batch
|
|
1103
1103
|
to optimize API usage. Defaults to ``None`` (automatic batch size
|
|
1104
1104
|
optimization based on execution time). Set to a positive integer for fixed batch size.
|
|
1105
|
-
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``
|
|
1105
|
+
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``True``.
|
|
1106
1106
|
|
|
1107
1107
|
Returns:
|
|
1108
1108
|
pandas.DataFrame: A new DataFrame with missing values filled in the target
|
|
@@ -1251,7 +1251,7 @@ class AsyncOpenAIVecSeriesAccessor:
|
|
|
1251
1251
|
response_format: type[ResponseFormat] = str,
|
|
1252
1252
|
batch_size: int | None = None,
|
|
1253
1253
|
max_concurrency: int = 8,
|
|
1254
|
-
show_progress: bool =
|
|
1254
|
+
show_progress: bool = True,
|
|
1255
1255
|
**api_kwargs,
|
|
1256
1256
|
) -> pd.Series:
|
|
1257
1257
|
"""Call an LLM once for every Series element (asynchronously).
|
|
@@ -1281,7 +1281,7 @@ class AsyncOpenAIVecSeriesAccessor:
|
|
|
1281
1281
|
based on execution time). Set to a positive integer for fixed batch size.
|
|
1282
1282
|
max_concurrency (int, optional): Maximum number of concurrent
|
|
1283
1283
|
requests. Defaults to ``8``.
|
|
1284
|
-
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``
|
|
1284
|
+
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``True``.
|
|
1285
1285
|
**api_kwargs: Additional keyword arguments forwarded verbatim to
|
|
1286
1286
|
``AsyncOpenAI.responses.parse`` (e.g. ``temperature``, ``top_p``,
|
|
1287
1287
|
``max_output_tokens``, penalties, future parameters). Core batching keys
|
|
@@ -1360,7 +1360,7 @@ class AsyncOpenAIVecSeriesAccessor:
|
|
|
1360
1360
|
)
|
|
1361
1361
|
|
|
1362
1362
|
async def embeddings(
|
|
1363
|
-
self, batch_size: int | None = None, max_concurrency: int = 8, show_progress: bool =
|
|
1363
|
+
self, batch_size: int | None = None, max_concurrency: int = 8, show_progress: bool = True, **api_kwargs
|
|
1364
1364
|
) -> pd.Series:
|
|
1365
1365
|
"""Compute OpenAI embeddings for every Series element (asynchronously).
|
|
1366
1366
|
|
|
@@ -1385,7 +1385,7 @@ class AsyncOpenAIVecSeriesAccessor:
|
|
|
1385
1385
|
based on execution time). Set to a positive integer for fixed batch size.
|
|
1386
1386
|
max_concurrency (int, optional): Maximum number of concurrent
|
|
1387
1387
|
requests. Defaults to ``8``.
|
|
1388
|
-
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``
|
|
1388
|
+
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``True``.
|
|
1389
1389
|
**api_kwargs: Additional OpenAI API parameters (e.g., dimensions for text-embedding-3 models).
|
|
1390
1390
|
|
|
1391
1391
|
Returns:
|
|
@@ -1467,7 +1467,7 @@ class AsyncOpenAIVecSeriesAccessor:
|
|
|
1467
1467
|
task: PreparedTask,
|
|
1468
1468
|
batch_size: int | None = None,
|
|
1469
1469
|
max_concurrency: int = 8,
|
|
1470
|
-
show_progress: bool =
|
|
1470
|
+
show_progress: bool = True,
|
|
1471
1471
|
) -> pd.Series:
|
|
1472
1472
|
"""Execute a prepared task on every Series element (asynchronously).
|
|
1473
1473
|
|
|
@@ -1500,7 +1500,7 @@ class AsyncOpenAIVecSeriesAccessor:
|
|
|
1500
1500
|
optimization based on execution time). Set to a positive integer for fixed batch size.
|
|
1501
1501
|
max_concurrency (int, optional): Maximum number of concurrent
|
|
1502
1502
|
requests. Defaults to 8.
|
|
1503
|
-
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``
|
|
1503
|
+
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``True``.
|
|
1504
1504
|
|
|
1505
1505
|
Note:
|
|
1506
1506
|
The task's stored API parameters are used. Core batching / routing
|
|
@@ -1575,7 +1575,7 @@ class AsyncOpenAIVecSeriesAccessor:
|
|
|
1575
1575
|
max_examples: int = 100,
|
|
1576
1576
|
batch_size: int | None = None,
|
|
1577
1577
|
max_concurrency: int = 8,
|
|
1578
|
-
show_progress: bool =
|
|
1578
|
+
show_progress: bool = True,
|
|
1579
1579
|
**api_kwargs,
|
|
1580
1580
|
) -> pd.Series:
|
|
1581
1581
|
"""Parse Series values into structured data using an LLM (asynchronously).
|
|
@@ -1594,7 +1594,7 @@ class AsyncOpenAIVecSeriesAccessor:
|
|
|
1594
1594
|
automatic optimization. Defaults to None.
|
|
1595
1595
|
max_concurrency (int, optional): Maximum concurrent API requests.
|
|
1596
1596
|
Defaults to 8.
|
|
1597
|
-
show_progress (bool, optional): Show progress bar. Defaults to
|
|
1597
|
+
show_progress (bool, optional): Show progress bar. Defaults to True.
|
|
1598
1598
|
**api_kwargs: Additional OpenAI API parameters.
|
|
1599
1599
|
|
|
1600
1600
|
Returns:
|
|
@@ -1696,7 +1696,7 @@ class AsyncOpenAIVecDataFrameAccessor:
|
|
|
1696
1696
|
response_format: type[ResponseFormat] = str,
|
|
1697
1697
|
batch_size: int | None = None,
|
|
1698
1698
|
max_concurrency: int = 8,
|
|
1699
|
-
show_progress: bool =
|
|
1699
|
+
show_progress: bool = True,
|
|
1700
1700
|
**api_kwargs,
|
|
1701
1701
|
) -> pd.Series:
|
|
1702
1702
|
"""Generate a response for each row after serializing it to JSON (asynchronously).
|
|
@@ -1731,7 +1731,7 @@ class AsyncOpenAIVecDataFrameAccessor:
|
|
|
1731
1731
|
**api_kwargs: Additional OpenAI API parameters (temperature, top_p, etc.).
|
|
1732
1732
|
max_concurrency (int, optional): Maximum number of concurrent
|
|
1733
1733
|
requests. Defaults to ``8``.
|
|
1734
|
-
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``
|
|
1734
|
+
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``True``.
|
|
1735
1735
|
|
|
1736
1736
|
Returns:
|
|
1737
1737
|
pandas.Series: Responses aligned with the DataFrame's original index.
|
|
@@ -1780,7 +1780,7 @@ class AsyncOpenAIVecDataFrameAccessor:
|
|
|
1780
1780
|
task: PreparedTask,
|
|
1781
1781
|
batch_size: int | None = None,
|
|
1782
1782
|
max_concurrency: int = 8,
|
|
1783
|
-
show_progress: bool =
|
|
1783
|
+
show_progress: bool = True,
|
|
1784
1784
|
) -> pd.Series:
|
|
1785
1785
|
"""Execute a prepared task on each DataFrame row after serializing it to JSON (asynchronously).
|
|
1786
1786
|
|
|
@@ -1817,7 +1817,7 @@ class AsyncOpenAIVecDataFrameAccessor:
|
|
|
1817
1817
|
optimization based on execution time). Set to a positive integer for fixed batch size.
|
|
1818
1818
|
max_concurrency (int, optional): Maximum number of concurrent
|
|
1819
1819
|
requests. Defaults to 8.
|
|
1820
|
-
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``
|
|
1820
|
+
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``True``.
|
|
1821
1821
|
|
|
1822
1822
|
Note:
|
|
1823
1823
|
The task's stored API parameters are used. Core batching / routing
|
|
@@ -1884,7 +1884,7 @@ class AsyncOpenAIVecDataFrameAccessor:
|
|
|
1884
1884
|
max_examples: int = 100,
|
|
1885
1885
|
batch_size: int | None = None,
|
|
1886
1886
|
max_concurrency: int = 8,
|
|
1887
|
-
show_progress: bool =
|
|
1887
|
+
show_progress: bool = True,
|
|
1888
1888
|
**api_kwargs,
|
|
1889
1889
|
) -> pd.Series:
|
|
1890
1890
|
"""Parse DataFrame rows into structured data using an LLM (asynchronously).
|
|
@@ -1903,7 +1903,7 @@ class AsyncOpenAIVecDataFrameAccessor:
|
|
|
1903
1903
|
automatic optimization. Defaults to None.
|
|
1904
1904
|
max_concurrency (int, optional): Maximum concurrent requests.
|
|
1905
1905
|
Defaults to 8.
|
|
1906
|
-
show_progress (bool, optional): Show progress bar. Defaults to
|
|
1906
|
+
show_progress (bool, optional): Show progress bar. Defaults to True.
|
|
1907
1907
|
**api_kwargs: Additional OpenAI API parameters.
|
|
1908
1908
|
|
|
1909
1909
|
Returns:
|
|
@@ -2036,7 +2036,7 @@ class AsyncOpenAIVecDataFrameAccessor:
|
|
|
2036
2036
|
max_examples: int = 500,
|
|
2037
2037
|
batch_size: int | None = None,
|
|
2038
2038
|
max_concurrency: int = 8,
|
|
2039
|
-
show_progress: bool =
|
|
2039
|
+
show_progress: bool = True,
|
|
2040
2040
|
) -> pd.DataFrame:
|
|
2041
2041
|
"""Fill missing values in a DataFrame column using AI-powered inference (asynchronously).
|
|
2042
2042
|
|
|
@@ -2056,7 +2056,7 @@ class AsyncOpenAIVecDataFrameAccessor:
|
|
|
2056
2056
|
optimization based on execution time). Set to a positive integer for fixed batch size.
|
|
2057
2057
|
max_concurrency (int, optional): Maximum number of concurrent
|
|
2058
2058
|
requests. Defaults to 8.
|
|
2059
|
-
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``
|
|
2059
|
+
show_progress (bool, optional): Show progress bar in Jupyter notebooks. Defaults to ``True``.
|
|
2060
2060
|
|
|
2061
2061
|
Returns:
|
|
2062
2062
|
pandas.DataFrame: A new DataFrame with missing values filled in the target
|
|
@@ -150,6 +150,8 @@ from openaivec._serialize import deserialize_base_model, serialize_base_model
|
|
|
150
150
|
from openaivec._util import TextChunker
|
|
151
151
|
|
|
152
152
|
__all__ = [
|
|
153
|
+
"setup",
|
|
154
|
+
"setup_azure",
|
|
153
155
|
"responses_udf",
|
|
154
156
|
"task_udf",
|
|
155
157
|
"embeddings_udf",
|
|
@@ -242,50 +244,6 @@ def setup_azure(
|
|
|
242
244
|
CONTAINER.clear_singletons()
|
|
243
245
|
|
|
244
246
|
|
|
245
|
-
def set_responses_model(model_name: str):
|
|
246
|
-
"""Set the default model name for response generation in the DI container.
|
|
247
|
-
|
|
248
|
-
Args:
|
|
249
|
-
model_name (str): The model name to set as default for responses.
|
|
250
|
-
"""
|
|
251
|
-
CONTAINER.register(ResponsesModelName, lambda: ResponsesModelName(model_name))
|
|
252
|
-
CONTAINER.clear_singletons()
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
def get_responses_model() -> str | None:
|
|
256
|
-
"""Get the default model name for response generation from the DI container.
|
|
257
|
-
|
|
258
|
-
Returns:
|
|
259
|
-
str | None: The default model name for responses, or None if not set.
|
|
260
|
-
"""
|
|
261
|
-
try:
|
|
262
|
-
return CONTAINER.resolve(ResponsesModelName).value
|
|
263
|
-
except Exception:
|
|
264
|
-
return None
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
def set_embeddings_model(model_name: str):
|
|
268
|
-
"""Set the default model name for embeddings in the DI container.
|
|
269
|
-
|
|
270
|
-
Args:
|
|
271
|
-
model_name (str): The model name to set as default for embeddings.
|
|
272
|
-
"""
|
|
273
|
-
CONTAINER.register(EmbeddingsModelName, lambda: EmbeddingsModelName(model_name))
|
|
274
|
-
CONTAINER.clear_singletons()
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
def get_embeddings_model() -> str | None:
|
|
278
|
-
"""Get the default model name for embeddings from the DI container.
|
|
279
|
-
|
|
280
|
-
Returns:
|
|
281
|
-
str | None: The default model name for embeddings, or None if not set.
|
|
282
|
-
"""
|
|
283
|
-
try:
|
|
284
|
-
return CONTAINER.resolve(EmbeddingsModelName).value
|
|
285
|
-
except Exception:
|
|
286
|
-
return None
|
|
287
|
-
|
|
288
|
-
|
|
289
247
|
def _python_type_to_spark(python_type):
|
|
290
248
|
origin = get_origin(python_type)
|
|
291
249
|
|
|
@@ -608,7 +608,7 @@ def test_progress_bar_methods():
|
|
|
608
608
|
|
|
609
609
|
|
|
610
610
|
def test_batching_proxy_with_progress_disabled():
|
|
611
|
-
"""Test BatchingMapProxy with progress disabled
|
|
611
|
+
"""Test BatchingMapProxy with progress disabled via explicit flag."""
|
|
612
612
|
calls: list[list[int]] = []
|
|
613
613
|
|
|
614
614
|
def mf(xs: list[int]) -> list[int]:
|
|
@@ -641,7 +641,7 @@ def test_batching_proxy_with_progress_enabled():
|
|
|
641
641
|
|
|
642
642
|
@pytest.mark.asyncio
|
|
643
643
|
async def test_async_batching_proxy_with_progress_disabled():
|
|
644
|
-
"""Test AsyncBatchingMapProxy with progress disabled
|
|
644
|
+
"""Test AsyncBatchingMapProxy with progress disabled via explicit flag."""
|
|
645
645
|
calls: list[list[int]] = []
|
|
646
646
|
|
|
647
647
|
async def mf(xs: list[int]) -> list[int]:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/customer_support/inquiry_classification.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openaivec-0.15.1 → openaivec-0.99.0}/docs/api/tasks/customer_support/response_suggestion.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/customer_sentiment.py
RENAMED
|
File without changes
|
{openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/inquiry_classification.py
RENAMED
|
File without changes
|
{openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/inquiry_summary.py
RENAMED
|
File without changes
|
{openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/intent_analysis.py
RENAMED
|
File without changes
|
{openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/response_suggestion.py
RENAMED
|
File without changes
|
{openaivec-0.15.1 → openaivec-0.99.0}/src/openaivec/task/customer_support/urgency_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|