nucliadb-utils 6.3.7.post4091__py3-none-any.whl → 6.3.7.post4116__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.
- nucliadb_utils/audit/stream.py +31 -2
- {nucliadb_utils-6.3.7.post4091.dist-info → nucliadb_utils-6.3.7.post4116.dist-info}/METADATA +3 -3
- {nucliadb_utils-6.3.7.post4091.dist-info → nucliadb_utils-6.3.7.post4116.dist-info}/RECORD +5 -5
- {nucliadb_utils-6.3.7.post4091.dist-info → nucliadb_utils-6.3.7.post4116.dist-info}/WHEEL +1 -1
- {nucliadb_utils-6.3.7.post4091.dist-info → nucliadb_utils-6.3.7.post4116.dist-info}/top_level.txt +0 -0
nucliadb_utils/audit/stream.py
CHANGED
@@ -28,6 +28,7 @@ import backoff
|
|
28
28
|
import mmh3
|
29
29
|
import nats
|
30
30
|
from fastapi import Request
|
31
|
+
from google.protobuf.json_format import MessageToDict
|
31
32
|
from google.protobuf.timestamp_pb2 import Timestamp
|
32
33
|
from opentelemetry.trace import format_trace_id, get_current_span
|
33
34
|
from starlette.background import BackgroundTask
|
@@ -35,7 +36,14 @@ from starlette.middleware.base import BaseHTTPMiddleware, RequestResponseEndpoin
|
|
35
36
|
from starlette.responses import Response
|
36
37
|
from starlette.types import ASGIApp
|
37
38
|
|
38
|
-
from nucliadb_protos.audit_pb2 import
|
39
|
+
from nucliadb_protos.audit_pb2 import (
|
40
|
+
AuditField,
|
41
|
+
AuditRequest,
|
42
|
+
AuditSearchRequest,
|
43
|
+
ChatContext,
|
44
|
+
ClientType,
|
45
|
+
RetrievedContext,
|
46
|
+
)
|
39
47
|
from nucliadb_protos.kb_usage_pb2 import (
|
40
48
|
ActivityLogMatch,
|
41
49
|
ActivityLogMatchType,
|
@@ -77,6 +85,23 @@ def get_request_context() -> Optional[RequestContext]:
|
|
77
85
|
return request_context_var.get()
|
78
86
|
|
79
87
|
|
88
|
+
def fill_audit_search_request(audit: AuditSearchRequest, request: SearchRequest):
|
89
|
+
audit.body = request.body
|
90
|
+
audit.min_score_bm25 = request.min_score_bm25
|
91
|
+
audit.min_score_semantic = request.min_score_semantic
|
92
|
+
audit.result_per_page = request.result_per_page
|
93
|
+
audit.security.CopyFrom(request.security)
|
94
|
+
audit.vector.extend(request.vector)
|
95
|
+
audit.vectorset = request.vectorset
|
96
|
+
audit.filter = json.dumps(
|
97
|
+
{
|
98
|
+
"field": MessageToDict(request.field_filter),
|
99
|
+
"paragraph": MessageToDict(request.paragraph_filter),
|
100
|
+
"operator": request.filter_operator,
|
101
|
+
}
|
102
|
+
)
|
103
|
+
|
104
|
+
|
80
105
|
class AuditMiddleware(BaseHTTPMiddleware):
|
81
106
|
def __init__(self, app: ASGIApp, audit_utility_getter: Callable[[], Optional[AuditStorage]]) -> None:
|
82
107
|
self.audit_utility_getter = audit_utility_getter
|
@@ -355,15 +380,17 @@ class StreamAuditStorage(AuditStorage):
|
|
355
380
|
auditrequest.client_type = client_type # type: ignore
|
356
381
|
auditrequest.userid = user
|
357
382
|
auditrequest.kbid = kbid
|
358
|
-
auditrequest.search.CopyFrom(search)
|
359
383
|
auditrequest.retrieval_time = timeit
|
360
384
|
auditrequest.resources = resources
|
361
385
|
if "/ask" in context.path:
|
362
386
|
auditrequest.type = AuditRequest.CHAT
|
363
387
|
else:
|
364
388
|
auditrequest.type = AuditRequest.SEARCH
|
389
|
+
|
390
|
+
fill_audit_search_request(auditrequest.search, search)
|
365
391
|
if retrieval_rephrased_question is not None:
|
366
392
|
auditrequest.retrieval_rephrased_question = retrieval_rephrased_question
|
393
|
+
|
367
394
|
trace_id = get_trace_id()
|
368
395
|
self.kb_usage_utility.send_kb_usage(
|
369
396
|
service=Service.NUCLIA_DB,
|
@@ -419,8 +446,10 @@ class StreamAuditStorage(AuditStorage):
|
|
419
446
|
auditrequest.generative_answer_time = generative_answer_time
|
420
447
|
if generative_answer_first_chunk_time is not None:
|
421
448
|
auditrequest.generative_answer_first_chunk_time = generative_answer_first_chunk_time
|
449
|
+
|
422
450
|
if retrieval_rephrased_question is not None:
|
423
451
|
auditrequest.retrieval_rephrased_question = retrieval_rephrased_question
|
452
|
+
|
424
453
|
auditrequest.type = AuditRequest.CHAT
|
425
454
|
auditrequest.chat.question = question
|
426
455
|
auditrequest.chat.chat_context.extend(chat_context)
|
{nucliadb_utils-6.3.7.post4091.dist-info → nucliadb_utils-6.3.7.post4116.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: nucliadb_utils
|
3
|
-
Version: 6.3.7.
|
3
|
+
Version: 6.3.7.post4116
|
4
4
|
Summary: NucliaDB util library
|
5
5
|
Author-email: Nuclia <nucliadb@nuclia.com>
|
6
6
|
License: AGPL
|
@@ -27,8 +27,8 @@ Requires-Dist: nats-py[nkeys]>=2.6.0
|
|
27
27
|
Requires-Dist: PyNaCl
|
28
28
|
Requires-Dist: pyjwt>=2.4.0
|
29
29
|
Requires-Dist: mrflagly>=0.2.9
|
30
|
-
Requires-Dist: nucliadb-protos>=6.3.7.
|
31
|
-
Requires-Dist: nucliadb-telemetry>=6.3.7.
|
30
|
+
Requires-Dist: nucliadb-protos>=6.3.7.post4116
|
31
|
+
Requires-Dist: nucliadb-telemetry>=6.3.7.post4116
|
32
32
|
Provides-Extra: cache
|
33
33
|
Requires-Dist: redis>=4.3.4; extra == "cache"
|
34
34
|
Requires-Dist: orjson>=3.6.7; extra == "cache"
|
@@ -23,7 +23,7 @@ nucliadb_utils/aiopynecone/models.py,sha256=XkNIZx4bxdbVo9zYVn8IRp70q4DWUMWN79yb
|
|
23
23
|
nucliadb_utils/audit/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
|
24
24
|
nucliadb_utils/audit/audit.py,sha256=m5Mkm4m1W4O91t8jsVQocy57hqYSjboCyFw8P1-g-7A,3497
|
25
25
|
nucliadb_utils/audit/basic.py,sha256=trH4IgLnb-VRj2vrRL2686HL7z9Zcdb6bZ7I47Usrt8,4145
|
26
|
-
nucliadb_utils/audit/stream.py,sha256=
|
26
|
+
nucliadb_utils/audit/stream.py,sha256=2XDnySbA5fGL3ZV61kCvUXdMDKMpZ5XVZy7sdxMDRdQ,17178
|
27
27
|
nucliadb_utils/cache/__init__.py,sha256=itSI7dtTwFP55YMX4iK7JzdMHS5CQVUiB1XzQu4UBh8,833
|
28
28
|
nucliadb_utils/cache/exceptions.py,sha256=Zu-O_-0-yctOEgoDGI92gPzWfBMRrpiAyESA62ld6MA,975
|
29
29
|
nucliadb_utils/cache/nats.py,sha256=-AjCfkFgKVdJUlGR0hT9JDSNkPVFg4S6w9eW-ZIcXPM,7037
|
@@ -57,7 +57,7 @@ nucliadb_utils/tests/gcs.py,sha256=MBMzn_UHU5SU6iILuCsB5zU4umhNcaCw_MKrxZhwvOc,4
|
|
57
57
|
nucliadb_utils/tests/local.py,sha256=cxIfPrKuqs5Ef0nbrVYQQAH2mwc4E0iD9bC2sWegS-c,1934
|
58
58
|
nucliadb_utils/tests/nats.py,sha256=RWHjwqq5esuO7OFbP24yYX1cXnpPLcWJwDUdmwCpH28,1897
|
59
59
|
nucliadb_utils/tests/s3.py,sha256=DACUh3HvgH3BchKFZ9R7RFUzsrg3v9A-cxTcXx4nmvA,3734
|
60
|
-
nucliadb_utils-6.3.7.
|
61
|
-
nucliadb_utils-6.3.7.
|
62
|
-
nucliadb_utils-6.3.7.
|
63
|
-
nucliadb_utils-6.3.7.
|
60
|
+
nucliadb_utils-6.3.7.post4116.dist-info/METADATA,sha256=3Pzr6ZXD0BiZGQfmVk4OTH2c_iw8OU2NN2Towywtyco,2205
|
61
|
+
nucliadb_utils-6.3.7.post4116.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
|
62
|
+
nucliadb_utils-6.3.7.post4116.dist-info/top_level.txt,sha256=fE3vJtALTfgh7bcAWcNhcfXkNPp_eVVpbKK-2IYua3E,15
|
63
|
+
nucliadb_utils-6.3.7.post4116.dist-info/RECORD,,
|
{nucliadb_utils-6.3.7.post4091.dist-info → nucliadb_utils-6.3.7.post4116.dist-info}/top_level.txt
RENAMED
File without changes
|