ierhon's picture
Duplicate from RisticksAI/ProfNet3-Snepi-support-chatbot-element
ccdc8b0
raw
history blame contribute delete
680 Bytes
import numpy as np
import pickle
import embedding
from tqdm import tqdm
import random
import train
top_p = 1
class Neuron:
def __init__(self, name, inp):
self.name = name
self.inp = embedding.getvec(name)
with open("net.pckl", "rb") as f: net = pickle.load(f)
def top_closest_vectors(input_vector, top_p=1):
distances = [(np.linalg.norm((neuron.inp - input_vector)), ind) for ind, neuron in enumerate(net)]
closest_indices = sorted(distances, reverse=False, key=lambda x:x[0])[:top_p]
return closest_indices
def generate(text):
vec = embedding.getvec(text.replace("\n", ""))
return net[random.choice(top_closest_vectors(vec))[1]].name