| 12345678910111213141516171819202122232425262728 | 
							- # -*- coding: utf-8 -*-
 
- from .__load__ import *
 
- from langchain_community.vectorstores import FAISS
 
- class Db(object):
 
-     def __init__(self):
 
-         Demeter.service('init')
 
-         self.embedding = Demeter.embedding
 
-         self.path = File.path() + 'data/db/'
 
-     def write(self, id, data):
 
-         name = self.name(id)
 
-         if File.exists(name):
 
-             db = FAISS.load_local(name, embeddings=self.embedding, allow_dangerous_deserialization=True)
 
-             db.add_documents(data)
 
-         else:
 
-             db = FAISS.from_documents(data, embedding=self.embedding)
 
-         db.save_local(name)
 
-         return db
 
-     def read(self, id):
 
-         db = FAISS.load_local(self.name(id), embeddings=self.embedding, allow_dangerous_deserialization=True)
 
-         return db
 
-     def name(self, name):
 
-         name = str(name)
 
-         return File.dest(self.path, Demeter.md5(name))
 
 
  |