openaivec 0.14.9__py3-none-any.whl → 0.14.12__py3-none-any.whl
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/_di.py +21 -0
- openaivec/_provider.py +8 -29
- openaivec/pandas_ext.py +371 -354
- openaivec/spark.py +241 -96
- {openaivec-0.14.9.dist-info → openaivec-0.14.12.dist-info}/METADATA +40 -16
- {openaivec-0.14.9.dist-info → openaivec-0.14.12.dist-info}/RECORD +8 -8
- {openaivec-0.14.9.dist-info → openaivec-0.14.12.dist-info}/WHEEL +0 -0
- {openaivec-0.14.9.dist-info → openaivec-0.14.12.dist-info}/licenses/LICENSE +0 -0
openaivec/_di.py
CHANGED
|
@@ -303,3 +303,24 @@ class Container:
|
|
|
303
303
|
self._providers.clear()
|
|
304
304
|
self._instances.clear()
|
|
305
305
|
self._resolving.clear()
|
|
306
|
+
|
|
307
|
+
def clear_singletons(self) -> None:
|
|
308
|
+
"""Clear all cached singleton instances from the container.
|
|
309
|
+
|
|
310
|
+
Removes all cached singleton instances while keeping the registered
|
|
311
|
+
providers intact. After calling this method, the next resolve call
|
|
312
|
+
for any service will create a new instance using the provider function.
|
|
313
|
+
|
|
314
|
+
Example:
|
|
315
|
+
```python
|
|
316
|
+
container = Container()
|
|
317
|
+
container.register(str, lambda: "Hello")
|
|
318
|
+
instance1 = container.resolve(str)
|
|
319
|
+
container.clear_singletons()
|
|
320
|
+
instance2 = container.resolve(str)
|
|
321
|
+
print(instance1 is instance2)
|
|
322
|
+
# False - different instances after clearing singletons
|
|
323
|
+
```
|
|
324
|
+
"""
|
|
325
|
+
with self._lock:
|
|
326
|
+
self._instances.clear()
|
openaivec/_provider.py
CHANGED
|
@@ -130,35 +130,9 @@ def provide_async_openai_client() -> AsyncOpenAI:
|
|
|
130
130
|
)
|
|
131
131
|
|
|
132
132
|
|
|
133
|
-
|
|
134
|
-
CONTAINER.register(
|
|
135
|
-
CONTAINER.register(
|
|
136
|
-
CONTAINER.register(AzureOpenAIAPIKey, lambda: AzureOpenAIAPIKey(os.getenv("AZURE_OPENAI_API_KEY")))
|
|
137
|
-
CONTAINER.register(AzureOpenAIBaseURL, lambda: AzureOpenAIBaseURL(os.getenv("AZURE_OPENAI_BASE_URL")))
|
|
138
|
-
CONTAINER.register(
|
|
139
|
-
cls=AzureOpenAIAPIVersion,
|
|
140
|
-
provider=lambda: AzureOpenAIAPIVersion(os.getenv("AZURE_OPENAI_API_VERSION", "preview")),
|
|
141
|
-
)
|
|
142
|
-
CONTAINER.register(OpenAI, provide_openai_client)
|
|
143
|
-
CONTAINER.register(AsyncOpenAI, provide_async_openai_client)
|
|
144
|
-
CONTAINER.register(tiktoken.Encoding, lambda: tiktoken.get_encoding("o200k_base"))
|
|
145
|
-
CONTAINER.register(TextChunker, lambda: TextChunker(CONTAINER.resolve(tiktoken.Encoding)))
|
|
146
|
-
CONTAINER.register(
|
|
147
|
-
SchemaInferer,
|
|
148
|
-
lambda: SchemaInferer(
|
|
149
|
-
client=CONTAINER.resolve(OpenAI),
|
|
150
|
-
model_name=CONTAINER.resolve(ResponsesModelName).value,
|
|
151
|
-
),
|
|
152
|
-
)
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
def reset_environment_registrations():
|
|
156
|
-
"""Reset environment variable related registrations in the container.
|
|
157
|
-
|
|
158
|
-
This function re-registers environment variable dependent services to pick up
|
|
159
|
-
current environment variable values. Useful for testing when environment
|
|
160
|
-
variables are changed after initial container setup.
|
|
161
|
-
"""
|
|
133
|
+
def set_default_registrations():
|
|
134
|
+
CONTAINER.register(ResponsesModelName, lambda: ResponsesModelName("gpt-4.1-mini"))
|
|
135
|
+
CONTAINER.register(EmbeddingsModelName, lambda: EmbeddingsModelName("text-embedding-3-small"))
|
|
162
136
|
CONTAINER.register(OpenAIAPIKey, lambda: OpenAIAPIKey(os.getenv("OPENAI_API_KEY")))
|
|
163
137
|
CONTAINER.register(AzureOpenAIAPIKey, lambda: AzureOpenAIAPIKey(os.getenv("AZURE_OPENAI_API_KEY")))
|
|
164
138
|
CONTAINER.register(AzureOpenAIBaseURL, lambda: AzureOpenAIBaseURL(os.getenv("AZURE_OPENAI_BASE_URL")))
|
|
@@ -168,6 +142,8 @@ def reset_environment_registrations():
|
|
|
168
142
|
)
|
|
169
143
|
CONTAINER.register(OpenAI, provide_openai_client)
|
|
170
144
|
CONTAINER.register(AsyncOpenAI, provide_async_openai_client)
|
|
145
|
+
CONTAINER.register(tiktoken.Encoding, lambda: tiktoken.get_encoding("o200k_base"))
|
|
146
|
+
CONTAINER.register(TextChunker, lambda: TextChunker(CONTAINER.resolve(tiktoken.Encoding)))
|
|
171
147
|
CONTAINER.register(
|
|
172
148
|
SchemaInferer,
|
|
173
149
|
lambda: SchemaInferer(
|
|
@@ -175,3 +151,6 @@ def reset_environment_registrations():
|
|
|
175
151
|
model_name=CONTAINER.resolve(ResponsesModelName).value,
|
|
176
152
|
),
|
|
177
153
|
)
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
set_default_registrations()
|