File size: 2,419 Bytes
fefdf97
1f6353b
 
fefdf97
 
37cb0f4
9eae5c1
fefdf97
 
2fb73dc
37cb0f4
 
 
 
9eae5c1
37cb0f4
 
 
fefdf97
 
 
 
 
 
37cb0f4
fefdf97
 
37cb0f4
fefdf97
a8e7b59
0c9af45
 
 
 
 
 
 
 
fefdf97
37cb0f4
 
 
 
 
 
 
a8e7b59
37cb0f4
 
76bed36
 
 
3e8c0f0
1f6353b
3e8c0f0
143eae9
3e8c0f0
1f6353b
3e8c0f0
 
 
 
 
 
 
 
 
37cb0f4
 
143eae9
3e8c0f0
 
37cb0f4
fefdf97
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
from astrapy import DataAPIClient
import base64
import zlib

# Initialize the client
client1 = DataAPIClient("AstraCS:vUPtWJNjuqSJzFwpjwGaIMCG:a763d288a24184d3d8f87e78d8f3a9bdb4e687002ea80fb3e21949b969715b7f")
db1 = client1.get_database_by_api_endpoint(
  "https://ab618096-30bc-47c4-85ac-1a97c75e746c-us-east-2.apps.astra.datastax.com"
)
coll1="kk"



client2= DataAPIClient("AstraCS:ZZUTCqocrzQiBhtvlEPfKqRq:b556beac8fc27ab35a3075db0d1fb34fde88872313673836f14ab3f5a1fb8438")
db2= client2.get_database_by_api_endpoint(
  "https://b4031b92-c3c2-46af-a2ff-bf39cd832d0a-us-east-2.apps.astra.datastax.com"
)
coll2="uq"


class DatabaseEngine():
    def __init__(self):
        pass

    
    def Update(self,data):
        
        collection=db1.get_collection(coll1)
        collection.update_one(
         {"version": data["promptversion"]},
            
         {"$set": {
             "biological_context_alignment":data["biological_context_alignment"],
             "contextual_relevance_alignment":data["contextual_relevance_alignment"],
             "unit_coherence":data["unit_coherence"],
             "response_specificity":data["response_specificity"]
         }
         },
        )

    
    def GetData(self,promptversion):
        
        collection1=db1.get_collection(coll1)
        collection2=db2.get_collection(coll2)
        
        promptdocument = collection1.find_one({"version":promptversion})
        

        contextdocument=collection2.find_one({"version":promptversion,"type":"context"})
        responsedocument=collection2.find_one({"version":promptversion,"type":"response"})

        
        actual_saved_response=responsedocument["response"]
        actual_saved_context=contextdocument["context"]
        actual_saved_prompt=promptdocument["prompt"]

        
        compressed_response_data = base64.b64decode(actual_saved_response)
        decompressed_data = zlib.decompress(compressed_response_data)
        actual_original_response=decompressed_data.decode("utf-8")


        compressed_context_data = base64.b64decode(actual_saved_context)
        decompressed_context_data = zlib.decompress(compressed_context_data)
        actual_original_context=decompressed_context_data.decode("utf-8")

        
        return {
            "prompt":actual_saved_prompt,
            "context":actual_original_context,
            "response":actual_original_response
        }