-
Notifications
You must be signed in to change notification settings - Fork 3k
/
memory_query_result.py
78 lines (67 loc) · 2.52 KB
/
memory_query_result.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Copyright (c) Microsoft. All rights reserved.
from numpy import ndarray
from semantic_kernel.memory.memory_record import MemoryRecord
from semantic_kernel.utils.experimental_decorator import experimental_class
@experimental_class
class MemoryQueryResult:
is_reference: bool
external_source_name: str | None
id: str
description: str | None
text: str | None
additional_metadata: str | None
relevance: float
embedding: ndarray | None
def __init__(
self,
is_reference: bool,
external_source_name: str | None,
id: str,
description: str | None,
text: str | None,
additional_metadata: str | None,
embedding: ndarray | None,
relevance: float,
) -> None:
"""Initialize a new instance of MemoryQueryResult.
Arguments:
is_reference {bool} -- Whether the record is a reference record.
external_source_name {Optional[str]} -- The name of the external source.
id {str} -- A unique for the record.
description {Optional[str]} -- The description of the record.
text {Optional[str]} -- The text of the record.
embedding {ndarray} -- The embedding of the record.
relevance {float} -- The relevance of the record to a known query.
Returns:
None -- None.
"""
self.is_reference = is_reference
self.external_source_name = external_source_name
self.id = id
self.description = description
self.text = text
self.additional_metadata = additional_metadata
self.relevance = relevance
self.embedding = embedding
@staticmethod
def from_memory_record(
record: MemoryRecord,
relevance: float,
) -> "MemoryQueryResult":
"""Create a new instance of MemoryQueryResult from a MemoryRecord.
Arguments:
record {MemoryRecord} -- The MemoryRecord to create the MemoryQueryResult from.
relevance {float} -- The relevance of the record to a known query.
Returns:
MemoryQueryResult -- The created MemoryQueryResult.
"""
return MemoryQueryResult(
is_reference=record._is_reference,
external_source_name=record._external_source_name,
id=record._id,
description=record._description,
text=record._text,
additional_metadata=record._additional_metadata,
embedding=record._embedding,
relevance=relevance,
)