openrag-sdk 0.3.1__tar.gz → 0.4.0.dev0__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.
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/PKG-INFO +1 -1
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk/__init__.py +1 -1
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk/documents.py +27 -8
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk/models.py +5 -2
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk.egg-info/PKG-INFO +1 -1
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/pyproject.toml +1 -1
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/README.md +0 -0
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk/chat.py +0 -0
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk/client.py +0 -0
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk/exceptions.py +0 -0
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk/knowledge_filters.py +0 -0
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk/search.py +0 -0
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk.egg-info/SOURCES.txt +0 -0
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk.egg-info/dependency_links.txt +0 -0
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk.egg-info/requires.txt +0 -0
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/openrag_sdk.egg-info/top_level.txt +0 -0
- {openrag_sdk-0.3.1 → openrag_sdk-0.4.0.dev0}/setup.cfg +0 -0
|
@@ -125,27 +125,46 @@ class DocumentsClient:
|
|
|
125
125
|
await asyncio.sleep(poll_interval)
|
|
126
126
|
elapsed += poll_interval
|
|
127
127
|
|
|
128
|
-
raise TimeoutError(
|
|
128
|
+
raise TimeoutError(
|
|
129
|
+
f"Ingestion task {task_id} did not complete within {timeout}s"
|
|
130
|
+
)
|
|
129
131
|
|
|
130
|
-
async def delete(
|
|
132
|
+
async def delete(
|
|
133
|
+
self,
|
|
134
|
+
filename: str | None = None,
|
|
135
|
+
*,
|
|
136
|
+
filter_id: str | None = None,
|
|
137
|
+
) -> DeleteDocumentResponse:
|
|
131
138
|
"""
|
|
132
|
-
Delete
|
|
139
|
+
Delete document(s) from the knowledge base.
|
|
133
140
|
|
|
134
|
-
|
|
135
|
-
filename:
|
|
141
|
+
Provide exactly one of:
|
|
142
|
+
filename: delete all chunks for that filename.
|
|
143
|
+
filter_id: delete chunks for each filename in the filter's data_sources.
|
|
136
144
|
|
|
137
145
|
Returns:
|
|
138
146
|
DeleteDocumentResponse with deleted chunk count.
|
|
139
147
|
"""
|
|
148
|
+
if bool(filename) == bool(filter_id):
|
|
149
|
+
raise ValueError("Provide exactly one of `filename` or `filter_id`")
|
|
150
|
+
|
|
151
|
+
body: dict[str, str] = {}
|
|
152
|
+
if filename is not None:
|
|
153
|
+
body["filename"] = filename
|
|
154
|
+
if filter_id is not None:
|
|
155
|
+
body["filter_id"] = filter_id
|
|
156
|
+
|
|
140
157
|
try:
|
|
141
158
|
response = await self._client._request(
|
|
142
159
|
"DELETE",
|
|
143
160
|
"/api/v1/documents",
|
|
144
|
-
json=
|
|
161
|
+
json=body,
|
|
145
162
|
)
|
|
146
163
|
except NotFoundError as e:
|
|
147
|
-
# Keep delete idempotent for SDK callers: a missing document is not
|
|
148
|
-
|
|
164
|
+
# Keep delete idempotent for SDK callers: a missing document is not
|
|
165
|
+
# an exception.
|
|
166
|
+
# Filter-not-found 404s still raise because the filter_id is caller input.
|
|
167
|
+
if filename is not None and getattr(e, "status_code", None) == 404:
|
|
149
168
|
return DeleteDocumentResponse(
|
|
150
169
|
success=False,
|
|
151
170
|
deleted_chunks=0,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""OpenRAG SDK data models."""
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from typing import Any, Literal
|
|
3
|
+
from typing import Literal
|
|
5
4
|
|
|
6
5
|
from pydantic import BaseModel, Field
|
|
7
6
|
|
|
@@ -98,6 +97,10 @@ class DeleteDocumentResponse(BaseModel):
|
|
|
98
97
|
filename: str | None = None
|
|
99
98
|
message: str | None = None
|
|
100
99
|
error: str | None = None
|
|
100
|
+
# Populated when deleting by filter_id — one entry per resolved data_source.
|
|
101
|
+
filenames: list[str] | None = None
|
|
102
|
+
filter_id: str | None = None
|
|
103
|
+
per_file: list[dict] | None = None
|
|
101
104
|
|
|
102
105
|
|
|
103
106
|
# Chat history models
|
|
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
|