Skip to content

Commit be96781

Browse files
authored
feat/support pinecone namespace (#159)
* support pinecone namespace * fix typo
1 parent d9212ac commit be96781

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
## 0.0.24-dev1
1+
## 0.0.25
22

33
### Enhancements
44

5+
* **Support pinecone namespace on upload**
56
* **Migrate Outlook Source Connector to V2**
67
* **Support for Databricks Volumes source connector**
78

unstructured_ingest/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.0.24-dev1" # pragma: no cover
1+
__version__ = "0.0.25" # pragma: no cover

unstructured_ingest/v2/processes/connectors/pinecone.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,10 @@ class PineconeUploaderConfig(UploaderConfig):
9494
pool_threads: Optional[int] = Field(
9595
default=1, description="Optional limit on number of threads to use for upload"
9696
)
97+
namespace: Optional[str] = Field(
98+
default=None,
99+
description="The namespace to write to. If not specified, the default namespace is used",
100+
)
97101

98102

99103
@dataclass
@@ -183,7 +187,11 @@ def upsert_batches_async(self, elements_dict: list[dict]):
183187
pool_threads = max_pool_threads
184188
index = self.connection_config.get_index(pool_threads=pool_threads)
185189
with index:
186-
async_results = [index.upsert(vectors=chunk, async_req=True) for chunk in chunks]
190+
upsert_kwargs = [{"vectors": chunk, "async_req": True} for chunk in chunks]
191+
if namespace := self.upload_config.namespace:
192+
for kwargs in upsert_kwargs:
193+
kwargs["namespace"] = namespace
194+
async_results = [index.upsert(**kwarg) for kwarg in upsert_kwargs]
187195
# Wait for and retrieve responses (this raises in case of error)
188196
try:
189197
results = [async_result.get() for async_result in async_results]

0 commit comments

Comments
 (0)