x
This commit is contained in:
4
.env
4
.env
@@ -1,5 +1,5 @@
|
|||||||
WEAVIATE_IS_LOCAL=True
|
WEAVIATE_IS_LOCAL=True
|
||||||
|
# CLAUDE_PROJECT_DIR=/home/trav/claude-scripts
|
||||||
# URL can be just a host or full URL; defaults shown below
|
# URL can be just a host or full URL; defaults shown below
|
||||||
WCD_URL=http://weaviate.yo # or http://localhost:8080
|
WCD_URL=http://weaviate.yo # or http://localhost:8080
|
||||||
# LOCAL_WEAVIATE_PORT=8080 # optional override
|
# LOCAL_WEAVIATE_PORT=8080 # optional override
|
||||||
@@ -11,7 +11,7 @@ WCD_URL=http://weaviate.yo # or http://localhost:8080
|
|||||||
R2R_API_URL=http://r2r.lab
|
R2R_API_URL=http://r2r.lab
|
||||||
R2R_API_KEY=
|
R2R_API_KEY=
|
||||||
FIRECRAWL_API_KEY=dummy-key
|
FIRECRAWL_API_KEY=dummy-key
|
||||||
OPENWEBUI_API_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjlmNjEwODg2LWRhM2MtNDQ4YS05OWE0LTYyZGEyZjIyZjJiNiJ9.W-dqabcE4F-LQ--k2yrJM_KEBDB-wi1CmoahlN1tQbY
|
OPENWEBUI_API_KEY=sk-09ae2f70c71248a8a7295d4323c6b96d
|
||||||
OPENWEBUI_API_URL=http://chat.lab
|
OPENWEBUI_API_URL=http://chat.lab
|
||||||
WEAVIATE_API_KEY=
|
WEAVIATE_API_KEY=
|
||||||
OPENAI_API_KEY=sk-1234
|
OPENAI_API_KEY=sk-1234
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -358,45 +358,56 @@ class CollectionOverviewScreen(Screen[None]):
|
|||||||
|
|
||||||
async def update_collections_table(self) -> None:
|
async def update_collections_table(self) -> None:
|
||||||
"""Update the collections table with enhanced formatting."""
|
"""Update the collections table with enhanced formatting."""
|
||||||
table = self.query_one("#collections_table", EnhancedDataTable)
|
try:
|
||||||
table.clear(columns=True)
|
table = self.query_one("#collections_table", EnhancedDataTable)
|
||||||
|
table.clear(columns=True)
|
||||||
|
|
||||||
# Add enhanced columns with more metadata
|
# Add enhanced columns with more metadata
|
||||||
table.add_columns("Collection", "Backend", "Documents", "Size", "Type", "Status", "Updated")
|
table.add_columns("Collection", "Backend", "Documents", "Size", "Type", "Status", "Updated")
|
||||||
|
|
||||||
# Add rows with enhanced formatting
|
# Add rows with enhanced formatting
|
||||||
for collection in self.collections:
|
for collection in self.collections:
|
||||||
# Format size
|
try:
|
||||||
size_str = f"{collection['size_mb']:.1f} MB"
|
# Format size
|
||||||
if collection["size_mb"] > 1000:
|
size_str = f"{collection['size_mb']:.1f} MB"
|
||||||
size_str = f"{collection['size_mb'] / 1000:.1f} GB"
|
if collection["size_mb"] > 1000:
|
||||||
|
size_str = f"{collection['size_mb'] / 1000:.1f} GB"
|
||||||
|
|
||||||
# Format document count
|
# Format document count
|
||||||
doc_count = f"{collection['count']:,}"
|
doc_count = f"{collection['count']:,}"
|
||||||
|
|
||||||
# Determine content type based on collection name or other metadata
|
# Determine content type based on collection name or other metadata
|
||||||
content_type = "📄 Mixed"
|
content_type = "📄 Mixed"
|
||||||
if "web" in collection["name"].lower():
|
if "web" in collection["name"].lower():
|
||||||
content_type = "🌐 Web"
|
content_type = "🌐 Web"
|
||||||
elif "doc" in collection["name"].lower():
|
elif "doc" in collection["name"].lower():
|
||||||
content_type = "📖 Docs"
|
content_type = "📖 Docs"
|
||||||
elif "repo" in collection["name"].lower():
|
elif "repo" in collection["name"].lower():
|
||||||
content_type = "📦 Code"
|
content_type = "📦 Code"
|
||||||
|
|
||||||
table.add_row(
|
table.add_row(
|
||||||
collection["name"],
|
collection["name"],
|
||||||
collection["backend"],
|
collection["backend"],
|
||||||
doc_count,
|
doc_count,
|
||||||
size_str,
|
size_str,
|
||||||
content_type,
|
content_type,
|
||||||
collection["status"],
|
collection["status"],
|
||||||
collection["last_updated"],
|
collection["last_updated"],
|
||||||
)
|
)
|
||||||
|
except Exception as e:
|
||||||
|
LOGGER.warning(f"Failed to add collection row for {collection.get('name', 'unknown')}: {e}")
|
||||||
|
continue
|
||||||
|
|
||||||
if self.collections:
|
if self.collections:
|
||||||
table.move_cursor(row=0)
|
try:
|
||||||
|
table.move_cursor(row=0)
|
||||||
|
except Exception as e:
|
||||||
|
LOGGER.warning(f"Failed to move table cursor: {e}")
|
||||||
|
|
||||||
self.get_selected_collection()
|
self.get_selected_collection()
|
||||||
|
except Exception as e:
|
||||||
|
LOGGER.exception(f"Failed to update collections table: {e}")
|
||||||
|
self.notify(f"Failed to update table: {e}", severity="error", markup=False)
|
||||||
|
|
||||||
def update_search_controls(self, collection: CollectionInfo | None) -> None:
|
def update_search_controls(self, collection: CollectionInfo | None) -> None:
|
||||||
"""Enable or disable search controls based on backend support."""
|
"""Enable or disable search controls based on backend support."""
|
||||||
|
|||||||
@@ -152,7 +152,13 @@ class ConfirmDeleteScreen(Screen[None]):
|
|||||||
|
|
||||||
def _refresh_parent_collections(self) -> None:
|
def _refresh_parent_collections(self) -> None:
|
||||||
"""Helper method to refresh parent collections."""
|
"""Helper method to refresh parent collections."""
|
||||||
self.parent_screen.refresh_collections()
|
try:
|
||||||
|
self.parent_screen.refresh_collections()
|
||||||
|
except Exception as e:
|
||||||
|
import logging
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
logger.exception(f"Failed to refresh parent collections after deletion: {e}")
|
||||||
|
# Don't re-raise to prevent TUI crash
|
||||||
|
|
||||||
|
|
||||||
class ConfirmDocumentDeleteScreen(Screen[None]):
|
class ConfirmDocumentDeleteScreen(Screen[None]):
|
||||||
|
|||||||
Binary file not shown.
@@ -397,34 +397,20 @@ class StorageManager:
|
|||||||
|
|
||||||
size_mb = count * 0.01 # Rough estimate: 10KB per document
|
size_mb = count * 0.01 # Rough estimate: 10KB per document
|
||||||
|
|
||||||
if collection_name in collection_map:
|
# Create unique key combining collection name and backend to show separately
|
||||||
# Merge with existing collection
|
collection_key = f"{collection_name}#{backend_type.value}"
|
||||||
existing = collection_map[collection_name]
|
|
||||||
existing_backends = existing["backend"]
|
|
||||||
backend_value = backend_type.value
|
|
||||||
|
|
||||||
if isinstance(existing_backends, str):
|
# Create new collection entry (no aggregation)
|
||||||
existing["backend"] = [existing_backends, backend_value]
|
collection_info: CollectionInfo = {
|
||||||
elif isinstance(existing_backends, list):
|
"name": collection_name,
|
||||||
# Prevent duplicates
|
"type": self._get_collection_type(collection_name, backend_type),
|
||||||
if backend_value not in existing_backends:
|
"count": count,
|
||||||
existing_backends.append(backend_value)
|
"backend": backend_type.value,
|
||||||
|
"status": "active",
|
||||||
# Aggregate counts and sizes
|
"last_updated": "2024-01-01T00:00:00Z",
|
||||||
existing["count"] += count
|
"size_mb": size_mb,
|
||||||
existing["size_mb"] += size_mb
|
}
|
||||||
else:
|
collection_map[collection_key] = collection_info
|
||||||
# Create new collection entry
|
|
||||||
collection_info: CollectionInfo = {
|
|
||||||
"name": collection_name,
|
|
||||||
"type": self._get_collection_type(collection_name, backend_type),
|
|
||||||
"count": count,
|
|
||||||
"backend": backend_type.value,
|
|
||||||
"status": "active",
|
|
||||||
"last_updated": "2024-01-01T00:00:00Z",
|
|
||||||
"size_mb": size_mb,
|
|
||||||
}
|
|
||||||
collection_map[collection_name] = collection_info
|
|
||||||
except Exception:
|
except Exception:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -777,24 +777,35 @@ class R2RStorage(BaseStorage):
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
async def count(self, *, collection_name: str | None = None) -> int:
|
async def count(self, *, collection_name: str | None = None) -> int:
|
||||||
"""Get document count in collection."""
|
"""Get document count in collection by actually querying documents."""
|
||||||
endpoint = self.endpoint
|
endpoint = self.endpoint
|
||||||
client = self._create_http_client()
|
client = self._create_http_client()
|
||||||
try:
|
try:
|
||||||
# Get collections and find the count for the specific collection
|
target_collection = collection_name or self.config.collection_name
|
||||||
|
|
||||||
|
# First get the collection ID
|
||||||
response = await client.get(f"{endpoint}/v3/collections")
|
response = await client.get(f"{endpoint}/v3/collections")
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
data: dict[str, object] = response.json()
|
data: dict[str, object] = response.json()
|
||||||
|
|
||||||
target_collection = collection_name or self.config.collection_name
|
collection_id = None
|
||||||
results = cast(list[dict[str, object]], data.get("results", []))
|
results = cast(list[dict[str, object]], data.get("results", []))
|
||||||
for collection in results:
|
for collection in results:
|
||||||
if collection.get("name") == target_collection:
|
if collection.get("name") == target_collection:
|
||||||
doc_count = collection.get("document_count", 0)
|
collection_id = collection.get("id")
|
||||||
return _as_int(doc_count)
|
break
|
||||||
|
|
||||||
|
if not collection_id:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
# Query actual documents in the collection to get accurate count
|
||||||
|
doc_response = await client.get(f"{endpoint}/v3/collections/{collection_id}/documents")
|
||||||
|
doc_response.raise_for_status()
|
||||||
|
doc_data: dict[str, object] = doc_response.json()
|
||||||
|
|
||||||
|
documents = cast(list[object], doc_data.get("results", []))
|
||||||
|
return len(documents)
|
||||||
|
|
||||||
# Collection not found
|
|
||||||
return 0
|
|
||||||
except Exception:
|
except Exception:
|
||||||
return 0
|
return 0
|
||||||
finally:
|
finally:
|
||||||
|
|||||||
429
logs/tui.log
429
logs/tui.log
@@ -872,3 +872,432 @@ metadata.author
|
|||||||
2025-09-18 22:21:09 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
2025-09-18 22:21:09 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
2025-09-18 23:06:37 | INFO | ingest_pipeline.cli.tui.utils.runners | Shutting down storage connections
|
2025-09-18 23:06:37 | INFO | ingest_pipeline.cli.tui.utils.runners | Shutting down storage connections
|
||||||
2025-09-18 23:06:37 | INFO | ingest_pipeline.cli.tui.utils.runners | All storage connections closed gracefully
|
2025-09-18 23:06:37 | INFO | ingest_pipeline.cli.tui.utils.runners | All storage connections closed gracefully
|
||||||
|
2025-09-21 01:41:23 | INFO | ingest_pipeline.cli.tui.utils.runners | Initializing collection management TUI
|
||||||
|
2025-09-21 01:41:23 | INFO | ingest_pipeline.cli.tui.utils.runners | Scanning available storage backends
|
||||||
|
2025-09-21 01:41:23 | INFO | ingest_pipeline.cli.tui.utils.runners | Launching TUI - storage backends will initialize in background
|
||||||
|
2025-09-21 01:41:24 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/.well-known/openid-configuration "HTTP/1.1 404 Not Found"
|
||||||
|
2025-09-21 01:41:24 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/meta "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 01:41:24 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 401 Unauthorized"
|
||||||
|
2025-09-21 01:41:24 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 404 Not Found"
|
||||||
|
2025-09-21 01:41:24 | INFO | httpx | HTTP Request: GET https://pypi.org/pypi/weaviate-client/json "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 01:41:24 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 01:41:24 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 01:41:24 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 01:41:24 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 01:41:24 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 01:41:53 | INFO | ingest_pipeline.cli.tui.utils.runners | Shutting down storage connections
|
||||||
|
2025-09-21 01:41:53 | INFO | ingest_pipeline.cli.tui.utils.runners | All storage connections closed gracefully
|
||||||
|
2025-09-21 02:27:12 | INFO | ingest_pipeline.cli.tui.utils.runners | Initializing collection management TUI
|
||||||
|
2025-09-21 02:27:12 | INFO | ingest_pipeline.cli.tui.utils.runners | Scanning available storage backends
|
||||||
|
2025-09-21 02:27:12 | INFO | ingest_pipeline.cli.tui.utils.runners | Launching TUI - storage backends will initialize in background
|
||||||
|
2025-09-21 02:27:12 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/.well-known/openid-configuration "HTTP/1.1 404 Not Found"
|
||||||
|
2025-09-21 02:27:12 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/meta "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:12 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:12 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:12 | INFO | httpx | HTTP Request: GET https://pypi.org/pypi/weaviate-client/json "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:12 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:12 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:12 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:12 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/139c04d5-7d38-4595-8e12-79a67fd731e7 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/dade78d9-9893-4966-bd4b-31f1c1635cfa "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/721c1517-b2cd-482d-bd1c-f99571f0f31f "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/f867530b-5eea-43bf-8257-d3da497cb10b "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/d06bd108-ae7f-44f4-92fb-2ac556784920 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/96832710-8146-4e3b-88f3-4b3929f67dbf "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:13 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/cbd4ae82-6fdd-4a4e-a4d5-d0b97ae988fd "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:22 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:22 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:22 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:22 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:22 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:22 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:22 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:22 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:22 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:22 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:22 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:22 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/139c04d5-7d38-4595-8e12-79a67fd731e7 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/dade78d9-9893-4966-bd4b-31f1c1635cfa "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/721c1517-b2cd-482d-bd1c-f99571f0f31f "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/f867530b-5eea-43bf-8257-d3da497cb10b "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/d06bd108-ae7f-44f4-92fb-2ac556784920 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/96832710-8146-4e3b-88f3-4b3929f67dbf "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:23 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/cbd4ae82-6fdd-4a4e-a4d5-d0b97ae988fd "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:40 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:41 | INFO | httpx | HTTP Request: DELETE http://r2r.lab/v3/collections/e37af264-a346-4971-98c8-7611147f0c1d "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:27:41 | INFO | ingest_pipeline.cli.tui.utils.runners | Shutting down storage connections
|
||||||
|
2025-09-21 02:27:41 | INFO | ingest_pipeline.cli.tui.utils.runners | All storage connections closed gracefully
|
||||||
|
2025-09-21 02:47:58 | INFO | ingest_pipeline.cli.tui.utils.runners | Initializing collection management TUI
|
||||||
|
2025-09-21 02:47:58 | INFO | ingest_pipeline.cli.tui.utils.runners | Scanning available storage backends
|
||||||
|
2025-09-21 02:47:58 | INFO | ingest_pipeline.cli.tui.utils.runners | Launching TUI - storage backends will initialize in background
|
||||||
|
2025-09-21 02:47:58 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/.well-known/openid-configuration "HTTP/1.1 404 Not Found"
|
||||||
|
2025-09-21 02:47:58 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/meta "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:58 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:58 | INFO | httpx | HTTP Request: GET https://pypi.org/pypi/weaviate-client/json "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:58 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:58 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:59 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:59 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:59 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:59 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:59 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:59 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:59 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:59 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:59 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:59 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:59 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:47:59 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/139c04d5-7d38-4595-8e12-79a67fd731e7 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/dade78d9-9893-4966-bd4b-31f1c1635cfa "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/721c1517-b2cd-482d-bd1c-f99571f0f31f "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/f867530b-5eea-43bf-8257-d3da497cb10b "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/d06bd108-ae7f-44f4-92fb-2ac556784920 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/96832710-8146-4e3b-88f3-4b3929f67dbf "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:00 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/cbd4ae82-6fdd-4a4e-a4d5-d0b97ae988fd "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:29 | INFO | ingest_pipeline.cli.tui.utils.runners | Initializing collection management TUI
|
||||||
|
2025-09-21 02:48:29 | INFO | ingest_pipeline.cli.tui.utils.runners | Scanning available storage backends
|
||||||
|
2025-09-21 02:48:29 | INFO | ingest_pipeline.cli.tui.utils.runners | Launching TUI - storage backends will initialize in background
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/.well-known/openid-configuration "HTTP/1.1 404 Not Found"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/meta "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET https://pypi.org/pypi/weaviate-client/json "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/139c04d5-7d38-4595-8e12-79a67fd731e7 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/dade78d9-9893-4966-bd4b-31f1c1635cfa "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/721c1517-b2cd-482d-bd1c-f99571f0f31f "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/f867530b-5eea-43bf-8257-d3da497cb10b "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/d06bd108-ae7f-44f4-92fb-2ac556784920 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/96832710-8146-4e3b-88f3-4b3929f67dbf "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:30 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/cbd4ae82-6fdd-4a4e-a4d5-d0b97ae988fd "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:39 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:40 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/866022d4-9a5d-4ff2-9609-1412502d44a1/documents?offset=0&limit=50 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/139c04d5-7d38-4595-8e12-79a67fd731e7 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/dade78d9-9893-4966-bd4b-31f1c1635cfa "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/721c1517-b2cd-482d-bd1c-f99571f0f31f "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/f867530b-5eea-43bf-8257-d3da497cb10b "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/d06bd108-ae7f-44f4-92fb-2ac556784920 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/96832710-8146-4e3b-88f3-4b3929f67dbf "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:50 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/cbd4ae82-6fdd-4a4e-a4d5-d0b97ae988fd "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/139c04d5-7d38-4595-8e12-79a67fd731e7 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/dade78d9-9893-4966-bd4b-31f1c1635cfa "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/721c1517-b2cd-482d-bd1c-f99571f0f31f "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/f867530b-5eea-43bf-8257-d3da497cb10b "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/d06bd108-ae7f-44f4-92fb-2ac556784920 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/96832710-8146-4e3b-88f3-4b3929f67dbf "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:48:53 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/cbd4ae82-6fdd-4a4e-a4d5-d0b97ae988fd "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:16 | INFO | ingest_pipeline.cli.tui.utils.runners | Initializing collection management TUI
|
||||||
|
2025-09-21 02:51:16 | INFO | ingest_pipeline.cli.tui.utils.runners | Scanning available storage backends
|
||||||
|
2025-09-21 02:51:16 | INFO | ingest_pipeline.cli.tui.utils.runners | Launching TUI - storage backends will initialize in background
|
||||||
|
2025-09-21 02:51:16 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/.well-known/openid-configuration "HTTP/1.1 404 Not Found"
|
||||||
|
2025-09-21 02:51:16 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/meta "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:16 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:16 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:16 | INFO | httpx | HTTP Request: GET https://pypi.org/pypi/weaviate-client/json "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:16 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/139c04d5-7d38-4595-8e12-79a67fd731e7 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/dade78d9-9893-4966-bd4b-31f1c1635cfa "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/721c1517-b2cd-482d-bd1c-f99571f0f31f "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/f867530b-5eea-43bf-8257-d3da497cb10b "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/d06bd108-ae7f-44f4-92fb-2ac556784920 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/96832710-8146-4e3b-88f3-4b3929f67dbf "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:17 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/cbd4ae82-6fdd-4a4e-a4d5-d0b97ae988fd "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:44 | INFO | ingest_pipeline.cli.tui.utils.runners | Shutting down storage connections
|
||||||
|
2025-09-21 02:51:44 | INFO | ingest_pipeline.cli.tui.utils.runners | All storage connections closed gracefully
|
||||||
|
2025-09-21 02:51:48 | INFO | ingest_pipeline.cli.tui.utils.runners | Initializing collection management TUI
|
||||||
|
2025-09-21 02:51:48 | INFO | ingest_pipeline.cli.tui.utils.runners | Scanning available storage backends
|
||||||
|
2025-09-21 02:51:48 | INFO | ingest_pipeline.cli.tui.utils.runners | Launching TUI - storage backends will initialize in background
|
||||||
|
2025-09-21 02:51:48 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/.well-known/openid-configuration "HTTP/1.1 404 Not Found"
|
||||||
|
2025-09-21 02:51:48 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/meta "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:48 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:48 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:48 | INFO | httpx | HTTP Request: GET https://pypi.org/pypi/weaviate-client/json "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:48 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/139c04d5-7d38-4595-8e12-79a67fd731e7 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/dade78d9-9893-4966-bd4b-31f1c1635cfa "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/721c1517-b2cd-482d-bd1c-f99571f0f31f "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/f867530b-5eea-43bf-8257-d3da497cb10b "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/d06bd108-ae7f-44f4-92fb-2ac556784920 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/96832710-8146-4e3b-88f3-4b3929f67dbf "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:51:49 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/cbd4ae82-6fdd-4a4e-a4d5-d0b97ae988fd "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/139c04d5-7d38-4595-8e12-79a67fd731e7 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/dade78d9-9893-4966-bd4b-31f1c1635cfa "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/721c1517-b2cd-482d-bd1c-f99571f0f31f "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/f867530b-5eea-43bf-8257-d3da497cb10b "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/d06bd108-ae7f-44f4-92fb-2ac556784920 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/96832710-8146-4e3b-88f3-4b3929f67dbf "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:02 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/cbd4ae82-6fdd-4a4e-a4d5-d0b97ae988fd "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:07 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:07 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/866022d4-9a5d-4ff2-9609-1412502d44a1/documents?offset=0&limit=50 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:13 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:13 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/866022d4-9a5d-4ff2-9609-1412502d44a1/documents?offset=0&limit=50 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:19 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:19 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:19 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:19 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:19 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:19 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:19 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:19 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:19 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:19 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:19 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/139c04d5-7d38-4595-8e12-79a67fd731e7 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/dade78d9-9893-4966-bd4b-31f1c1635cfa "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/721c1517-b2cd-482d-bd1c-f99571f0f31f "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/f867530b-5eea-43bf-8257-d3da497cb10b "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/d06bd108-ae7f-44f4-92fb-2ac556784920 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/96832710-8146-4e3b-88f3-4b3929f67dbf "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:52:20 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/cbd4ae82-6fdd-4a4e-a4d5-d0b97ae988fd "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:53:25 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:53:25 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/866022d4-9a5d-4ff2-9609-1412502d44a1/documents?offset=0&limit=50 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:53:30 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:53:30 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/866022d4-9a5d-4ff2-9609-1412502d44a1/documents?offset=0&limit=50 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:55 | INFO | ingest_pipeline.cli.tui.utils.runners | Initializing collection management TUI
|
||||||
|
2025-09-21 02:54:55 | INFO | ingest_pipeline.cli.tui.utils.runners | Scanning available storage backends
|
||||||
|
2025-09-21 02:54:55 | INFO | ingest_pipeline.cli.tui.utils.runners | Launching TUI - storage backends will initialize in background
|
||||||
|
2025-09-21 02:54:56 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/.well-known/openid-configuration "HTTP/1.1 404 Not Found"
|
||||||
|
2025-09-21 02:54:56 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/meta "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:56 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:56 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:56 | INFO | httpx | HTTP Request: GET https://pypi.org/pypi/weaviate-client/json "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:56 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:56 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:56 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:56 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:56 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/db6f7f9e-3915-4086-a9cf-4b498df90395/documents "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:56 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:56 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/eb597b49-5fea-4612-93ff-f83a88e5b91e/documents "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/866022d4-9a5d-4ff2-9609-1412502d44a1/documents "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/b1e15a85-1de5-4a6f-8261-cabcd5e8e7df/documents "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/84e273f7-f8b4-40c5-a5fc-d656340fc7cc/documents "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/53d07287-146d-5849-a0ce-95b0e5fa0e7e/documents "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/139c04d5-7d38-4595-8e12-79a67fd731e7 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/dade78d9-9893-4966-bd4b-31f1c1635cfa "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/721c1517-b2cd-482d-bd1c-f99571f0f31f "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/f867530b-5eea-43bf-8257-d3da497cb10b "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/d06bd108-ae7f-44f4-92fb-2ac556784920 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/96832710-8146-4e3b-88f3-4b3929f67dbf "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 02:54:57 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/cbd4ae82-6fdd-4a4e-a4d5-d0b97ae988fd "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:23 | INFO | ingest_pipeline.cli.tui.utils.runners | Shutting down storage connections
|
||||||
|
2025-09-21 03:00:23 | INFO | ingest_pipeline.cli.tui.utils.runners | All storage connections closed gracefully
|
||||||
|
2025-09-21 03:00:29 | INFO | ingest_pipeline.cli.tui.utils.runners | Initializing collection management TUI
|
||||||
|
2025-09-21 03:00:29 | INFO | ingest_pipeline.cli.tui.utils.runners | Scanning available storage backends
|
||||||
|
2025-09-21 03:00:29 | INFO | ingest_pipeline.cli.tui.utils.runners | Launching TUI - storage backends will initialize in background
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/.well-known/openid-configuration "HTTP/1.1 404 Not Found"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/meta "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET https://pypi.org/pypi/weaviate-client/json "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/db6f7f9e-3915-4086-a9cf-4b498df90395/documents "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/eb597b49-5fea-4612-93ff-f83a88e5b91e/documents "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/866022d4-9a5d-4ff2-9609-1412502d44a1/documents "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/b1e15a85-1de5-4a6f-8261-cabcd5e8e7df/documents "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/84e273f7-f8b4-40c5-a5fc-d656340fc7cc/documents "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://r2r.lab/v3/collections/53d07287-146d-5849-a0ce-95b0e5fa0e7e/documents "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://weaviate.yo/v1/schema "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: POST http://weaviate.yo/v1/graphql "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/139c04d5-7d38-4595-8e12-79a67fd731e7 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/dade78d9-9893-4966-bd4b-31f1c1635cfa "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/721c1517-b2cd-482d-bd1c-f99571f0f31f "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/f867530b-5eea-43bf-8257-d3da497cb10b "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/d06bd108-ae7f-44f4-92fb-2ac556784920 "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/96832710-8146-4e3b-88f3-4b3929f67dbf "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/list "HTTP/1.1 200 OK"
|
||||||
|
2025-09-21 03:00:29 | INFO | httpx | HTTP Request: GET http://chat.lab/api/v1/knowledge/cbd4ae82-6fdd-4a4e-a4d5-d0b97ae988fd "HTTP/1.1 200 OK"
|
||||||
|
|||||||
Binary file not shown.
@@ -2,6 +2,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from types import SimpleNamespace
|
from types import SimpleNamespace
|
||||||
|
from typing import cast
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from prefect.deployments.runner import RunnerDeployment
|
from prefect.deployments.runner import RunnerDeployment
|
||||||
@@ -81,7 +82,7 @@ def test_serve_deployments_invokes_prefect(monkeypatch: pytest.MonkeyPatch) -> N
|
|||||||
|
|
||||||
# Create a mock deployment using SimpleNamespace to avoid Prefect complexity
|
# Create a mock deployment using SimpleNamespace to avoid Prefect complexity
|
||||||
deployment = SimpleNamespace(name="only")
|
deployment = SimpleNamespace(name="only")
|
||||||
scheduler.serve_deployments([deployment])
|
scheduler.serve_deployments([cast(RunnerDeployment, deployment)])
|
||||||
|
|
||||||
assert called["deployments"] == (deployment,)
|
assert called["deployments"] == (deployment,)
|
||||||
assert called["limit"] == 10
|
assert called["limit"] == 10
|
||||||
|
|||||||
Binary file not shown.
@@ -333,7 +333,7 @@ async def test_ensure_collection_finds_existing(
|
|||||||
|
|
||||||
assert collection_id == "col-1"
|
assert collection_id == "col-1"
|
||||||
assert storage.default_collection_id == "col-1"
|
assert storage.default_collection_id == "col-1"
|
||||||
await storage.client.aclose()
|
await storage.client.aclose() # type: ignore[attr-defined]
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
@@ -354,7 +354,7 @@ async def test_ensure_collection_creates_when_missing(
|
|||||||
assert located is not None
|
assert located is not None
|
||||||
identifier, _ = located
|
identifier, _ = located
|
||||||
assert identifier == collection_id
|
assert identifier == collection_id
|
||||||
await storage.client.aclose()
|
await storage.client.aclose() # type: ignore[attr-defined]
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
@@ -386,4 +386,4 @@ async def test_store_batch_creates_documents(
|
|||||||
_, collection_payload = collection
|
_, collection_payload = collection
|
||||||
assert collection_payload["document_count"] == 2
|
assert collection_payload["document_count"] == 2
|
||||||
|
|
||||||
await storage.client.aclose()
|
await storage.client.aclose() # type: ignore[attr-defined]
|
||||||
|
|||||||
Binary file not shown.
@@ -20,7 +20,7 @@ from ingest_pipeline.storage.base import BaseStorage
|
|||||||
class StubStorage(BaseStorage):
|
class StubStorage(BaseStorage):
|
||||||
def __init__(
|
def __init__(
|
||||||
self, config: StorageConfig, *, documents: list[Document] | None = None, fail: bool = False
|
self, config: StorageConfig, *, documents: list[Document] | None = None, fail: bool = False
|
||||||
)) -> None:
|
) -> None:
|
||||||
super().__init__(config)
|
super().__init__(config)
|
||||||
self.documents = documents or []
|
self.documents = documents or []
|
||||||
self.fail = fail
|
self.fail = fail
|
||||||
@@ -37,7 +37,7 @@ class StubStorage(BaseStorage):
|
|||||||
|
|
||||||
async def store_batch(
|
async def store_batch(
|
||||||
self, documents: list[Document], *, collection_name: str | None = None
|
self, documents: list[Document], *, collection_name: str | None = None
|
||||||
)) -> list[str]:
|
) -> list[str]:
|
||||||
self.stored.extend(documents)
|
self.stored.extend(documents)
|
||||||
if self.fail:
|
if self.fail:
|
||||||
raise RuntimeError("batch failed")
|
raise RuntimeError("batch failed")
|
||||||
@@ -61,7 +61,7 @@ class StubStorage(BaseStorage):
|
|||||||
threshold: float = 0.7,
|
threshold: float = 0.7,
|
||||||
*,
|
*,
|
||||||
collection_name: str | None = None,
|
collection_name: str | None = None,
|
||||||
)):
|
):
|
||||||
for document in self.documents:
|
for document in self.documents:
|
||||||
yield document
|
yield document
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ class CollectionStubStorage(StubStorage):
|
|||||||
*,
|
*,
|
||||||
collections: list[str],
|
collections: list[str],
|
||||||
counts: dict[str, int],
|
counts: dict[str, int],
|
||||||
)) -> None:
|
) -> None:
|
||||||
super().__init__(config)
|
super().__init__(config)
|
||||||
self.collections = collections
|
self.collections = collections
|
||||||
self.counts = counts
|
self.counts = counts
|
||||||
@@ -115,12 +115,12 @@ async def test_multi_storage_adapter_reports_replication_failure(document_factor
|
|||||||
backend=StorageBackend.WEAVIATE,
|
backend=StorageBackend.WEAVIATE,
|
||||||
endpoint="http://weaviate.local",
|
endpoint="http://weaviate.local",
|
||||||
collection_name="primary",
|
collection_name="primary",
|
||||||
))
|
)
|
||||||
secondary_config = StorageConfig(
|
secondary_config = StorageConfig(
|
||||||
backend=StorageBackend.OPEN_WEBUI,
|
backend=StorageBackend.OPEN_WEBUI,
|
||||||
endpoint="http://chat.local",
|
endpoint="http://chat.local",
|
||||||
collection_name="secondary",
|
collection_name="secondary",
|
||||||
))
|
)
|
||||||
|
|
||||||
primary = StubStorage(primary_config)
|
primary = StubStorage(primary_config)
|
||||||
secondary = StubStorage(secondary_config, fail=True)
|
secondary = StubStorage(secondary_config, fail=True)
|
||||||
@@ -140,26 +140,26 @@ def test_storage_manager_build_multi_storage_adapter_deduplicates(document_facto
|
|||||||
openwebui_api_key=None,
|
openwebui_api_key=None,
|
||||||
r2r_endpoint=None,
|
r2r_endpoint=None,
|
||||||
r2r_api_key=None,
|
r2r_api_key=None,
|
||||||
)))
|
))
|
||||||
manager = StorageManager(settings)
|
manager = StorageManager(settings)
|
||||||
|
|
||||||
weaviate_config = StorageConfig(
|
weaviate_config = StorageConfig(
|
||||||
backend=StorageBackend.WEAVIATE,
|
backend=StorageBackend.WEAVIATE,
|
||||||
endpoint="http://weaviate.local",
|
endpoint="http://weaviate.local",
|
||||||
collection_name="primary",
|
collection_name="primary",
|
||||||
))
|
)
|
||||||
openwebui_config = StorageConfig(
|
openwebui_config = StorageConfig(
|
||||||
backend=StorageBackend.OPEN_WEBUI,
|
backend=StorageBackend.OPEN_WEBUI,
|
||||||
endpoint="http://chat.local",
|
endpoint="http://chat.local",
|
||||||
collection_name="secondary",
|
collection_name="secondary",
|
||||||
))
|
)
|
||||||
|
|
||||||
manager.backends[StorageBackend.WEAVIATE] = StubStorage(weaviate_config)
|
manager.backends[StorageBackend.WEAVIATE] = StubStorage(weaviate_config)
|
||||||
manager.backends[StorageBackend.OPEN_WEBUI] = StubStorage(openwebui_config)
|
manager.backends[StorageBackend.OPEN_WEBUI] = StubStorage(openwebui_config)
|
||||||
|
|
||||||
adapter = manager.build_multi_storage_adapter(
|
adapter = manager.build_multi_storage_adapter(
|
||||||
[StorageBackend.WEAVIATE, StorageBackend.WEAVIATE, StorageBackend.OPEN_WEBUI]
|
[StorageBackend.WEAVIATE, StorageBackend.WEAVIATE, StorageBackend.OPEN_WEBUI]
|
||||||
))
|
)
|
||||||
|
|
||||||
assert len(adapter._storages) == 2
|
assert len(adapter._storages) == 2
|
||||||
assert adapter._storages[0].config.backend == StorageBackend.WEAVIATE
|
assert adapter._storages[0].config.backend == StorageBackend.WEAVIATE
|
||||||
@@ -195,33 +195,33 @@ async def test_storage_manager_search_across_backends_groups_results(document_fa
|
|||||||
|
|
||||||
document_weaviate = document_factory(
|
document_weaviate = document_factory(
|
||||||
content="alpha", metadata_updates={"source_url": "https://alpha"}
|
content="alpha", metadata_updates={"source_url": "https://alpha"}
|
||||||
))
|
)
|
||||||
document_openwebui = document_factory(
|
document_openwebui = document_factory(
|
||||||
content="beta", metadata_updates={"source_url": "https://beta"}
|
content="beta", metadata_updates={"source_url": "https://beta"}
|
||||||
))
|
)
|
||||||
|
|
||||||
manager.backends[StorageBackend.WEAVIATE] = StubStorage(
|
manager.backends[StorageBackend.WEAVIATE] = StubStorage(
|
||||||
StorageConfig(
|
StorageConfig(
|
||||||
backend=StorageBackend.WEAVIATE,
|
backend=StorageBackend.WEAVIATE,
|
||||||
endpoint="http://weaviate.local",
|
endpoint="http://weaviate.local",
|
||||||
collection_name="primary",
|
collection_name="primary",
|
||||||
)),
|
),
|
||||||
documents=[document_weaviate],
|
documents=[document_weaviate],
|
||||||
))
|
)
|
||||||
manager.backends[StorageBackend.OPEN_WEBUI] = StubStorage(
|
manager.backends[StorageBackend.OPEN_WEBUI] = StubStorage(
|
||||||
StorageConfig(
|
StorageConfig(
|
||||||
backend=StorageBackend.OPEN_WEBUI,
|
backend=StorageBackend.OPEN_WEBUI,
|
||||||
endpoint="http://chat.local",
|
endpoint="http://chat.local",
|
||||||
collection_name="secondary",
|
collection_name="secondary",
|
||||||
)),
|
),
|
||||||
documents=[document_openwebui],
|
documents=[document_openwebui],
|
||||||
))
|
)
|
||||||
|
|
||||||
results = await manager.search_across_backends(
|
results = await manager.search_across_backends(
|
||||||
"query",
|
"query",
|
||||||
limit=5,
|
limit=5,
|
||||||
backends=[StorageBackend.WEAVIATE, StorageBackend.OPEN_WEBUI],
|
backends=[StorageBackend.WEAVIATE, StorageBackend.OPEN_WEBUI],
|
||||||
))
|
)
|
||||||
|
|
||||||
assert results[StorageBackend.WEAVIATE][0].content == "alpha"
|
assert results[StorageBackend.WEAVIATE][0].content == "alpha"
|
||||||
assert results[StorageBackend.OPEN_WEBUI][0].content == "beta"
|
assert results[StorageBackend.OPEN_WEBUI][0].content == "beta"
|
||||||
@@ -233,12 +233,12 @@ async def test_multi_storage_adapter_store_batch_replicates_to_all_backends(docu
|
|||||||
backend=StorageBackend.WEAVIATE,
|
backend=StorageBackend.WEAVIATE,
|
||||||
endpoint="http://weaviate.local",
|
endpoint="http://weaviate.local",
|
||||||
collection_name="primary",
|
collection_name="primary",
|
||||||
))
|
)
|
||||||
secondary_config = StorageConfig(
|
secondary_config = StorageConfig(
|
||||||
backend=StorageBackend.OPEN_WEBUI,
|
backend=StorageBackend.OPEN_WEBUI,
|
||||||
endpoint="http://chat.local",
|
endpoint="http://chat.local",
|
||||||
collection_name="secondary",
|
collection_name="secondary",
|
||||||
))
|
)
|
||||||
|
|
||||||
primary = StubStorage(primary_config)
|
primary = StubStorage(primary_config)
|
||||||
secondary = StubStorage(secondary_config)
|
secondary = StubStorage(secondary_config)
|
||||||
@@ -261,12 +261,12 @@ async def test_multi_storage_adapter_delete_reports_secondary_failures() -> None
|
|||||||
backend=StorageBackend.WEAVIATE,
|
backend=StorageBackend.WEAVIATE,
|
||||||
endpoint="http://weaviate.local",
|
endpoint="http://weaviate.local",
|
||||||
collection_name="primary",
|
collection_name="primary",
|
||||||
))
|
)
|
||||||
secondary_config = StorageConfig(
|
secondary_config = StorageConfig(
|
||||||
backend=StorageBackend.OPEN_WEBUI,
|
backend=StorageBackend.OPEN_WEBUI,
|
||||||
endpoint="http://chat.local",
|
endpoint="http://chat.local",
|
||||||
collection_name="secondary",
|
collection_name="secondary",
|
||||||
))
|
)
|
||||||
|
|
||||||
primary = StubStorage(primary_config)
|
primary = StubStorage(primary_config)
|
||||||
secondary = StubStorage(secondary_config, fail=True)
|
secondary = StubStorage(secondary_config, fail=True)
|
||||||
@@ -293,15 +293,15 @@ async def test_storage_manager_initialize_all_backends_registers_capabilities(mo
|
|||||||
monkeypatch.setattr(
|
monkeypatch.setattr(
|
||||||
"ingest_pipeline.cli.tui.utils.storage_manager.WeaviateStorage",
|
"ingest_pipeline.cli.tui.utils.storage_manager.WeaviateStorage",
|
||||||
StubStorage,
|
StubStorage,
|
||||||
))
|
)
|
||||||
monkeypatch.setattr(
|
monkeypatch.setattr(
|
||||||
"ingest_pipeline.cli.tui.utils.storage_manager.OpenWebUIStorage",
|
"ingest_pipeline.cli.tui.utils.storage_manager.OpenWebUIStorage",
|
||||||
StubStorage,
|
StubStorage,
|
||||||
))
|
)
|
||||||
monkeypatch.setattr(
|
monkeypatch.setattr(
|
||||||
"ingest_pipeline.cli.tui.utils.storage_manager.R2RStorage",
|
"ingest_pipeline.cli.tui.utils.storage_manager.R2RStorage",
|
||||||
StubStorage,
|
StubStorage,
|
||||||
))
|
)
|
||||||
|
|
||||||
results = await manager.initialize_all_backends()
|
results = await manager.initialize_all_backends()
|
||||||
|
|
||||||
@@ -360,19 +360,19 @@ async def test_storage_manager_get_all_collections_merges_counts_and_backends()
|
|||||||
backend=StorageBackend.WEAVIATE,
|
backend=StorageBackend.WEAVIATE,
|
||||||
endpoint="http://weaviate.local",
|
endpoint="http://weaviate.local",
|
||||||
collection_name="shared",
|
collection_name="shared",
|
||||||
)),
|
),
|
||||||
collections=["shared", ""],
|
collections=["shared", ""],
|
||||||
counts={"shared": 2},
|
counts={"shared": 2},
|
||||||
))
|
)
|
||||||
openwebui_storage = CollectionStubStorage(
|
openwebui_storage = CollectionStubStorage(
|
||||||
StorageConfig(
|
StorageConfig(
|
||||||
backend=StorageBackend.OPEN_WEBUI,
|
backend=StorageBackend.OPEN_WEBUI,
|
||||||
endpoint="http://chat.local",
|
endpoint="http://chat.local",
|
||||||
collection_name="secondary",
|
collection_name="secondary",
|
||||||
)),
|
),
|
||||||
collections=["shared"],
|
collections=["shared"],
|
||||||
counts={"shared": -1},
|
counts={"shared": -1},
|
||||||
))
|
)
|
||||||
manager.backends = {
|
manager.backends = {
|
||||||
StorageBackend.WEAVIATE: weaviate_storage,
|
StorageBackend.WEAVIATE: weaviate_storage,
|
||||||
StorageBackend.OPEN_WEBUI: openwebui_storage,
|
StorageBackend.OPEN_WEBUI: openwebui_storage,
|
||||||
@@ -405,17 +405,17 @@ async def test_storage_manager_get_backend_status_reports_failures() -> None:
|
|||||||
backend=StorageBackend.WEAVIATE,
|
backend=StorageBackend.WEAVIATE,
|
||||||
endpoint="http://weaviate.local",
|
endpoint="http://weaviate.local",
|
||||||
collection_name="primary",
|
collection_name="primary",
|
||||||
)),
|
),
|
||||||
collections=["collection", "archive"],
|
collections=["collection", "archive"],
|
||||||
counts={"collection": 2, "archive": 1},
|
counts={"collection": 2, "archive": 1},
|
||||||
))
|
)
|
||||||
failing_storage = FailingStatusStorage(
|
failing_storage = FailingStatusStorage(
|
||||||
StorageConfig(
|
StorageConfig(
|
||||||
backend=StorageBackend.OPEN_WEBUI,
|
backend=StorageBackend.OPEN_WEBUI,
|
||||||
endpoint="http://chat.local",
|
endpoint="http://chat.local",
|
||||||
collection_name="secondary",
|
collection_name="secondary",
|
||||||
))
|
)
|
||||||
))
|
)
|
||||||
manager.backends = {
|
manager.backends = {
|
||||||
StorageBackend.WEAVIATE: healthy_storage,
|
StorageBackend.WEAVIATE: healthy_storage,
|
||||||
StorageBackend.OPEN_WEBUI: failing_storage,
|
StorageBackend.OPEN_WEBUI: failing_storage,
|
||||||
@@ -451,15 +451,15 @@ async def test_storage_manager_close_all_clears_state() -> None:
|
|||||||
backend=StorageBackend.WEAVIATE,
|
backend=StorageBackend.WEAVIATE,
|
||||||
endpoint="http://weaviate.local",
|
endpoint="http://weaviate.local",
|
||||||
collection_name="primary",
|
collection_name="primary",
|
||||||
))
|
)
|
||||||
))
|
)
|
||||||
failing_close_storage = FailingCloseStorage(
|
failing_close_storage = FailingCloseStorage(
|
||||||
StorageConfig(
|
StorageConfig(
|
||||||
backend=StorageBackend.OPEN_WEBUI,
|
backend=StorageBackend.OPEN_WEBUI,
|
||||||
endpoint="http://chat.local",
|
endpoint="http://chat.local",
|
||||||
collection_name="secondary",
|
collection_name="secondary",
|
||||||
))
|
)
|
||||||
))
|
)
|
||||||
manager.backends = {
|
manager.backends = {
|
||||||
StorageBackend.WEAVIATE: closable_storage,
|
StorageBackend.WEAVIATE: closable_storage,
|
||||||
StorageBackend.OPEN_WEBUI: failing_close_storage,
|
StorageBackend.OPEN_WEBUI: failing_close_storage,
|
||||||
|
|||||||
Reference in New Issue
Block a user