From 9fe8d4aad79629c442666fba55fda2b833aa728a Mon Sep 17 00:00:00 2001 From: conanak99 Date: Sun, 11 Jun 2023 11:44:50 +0300 Subject: [PATCH 1/3] fix a bug in demo code --- demo/demo.py | 7 +++-- demo/demo_custom_embed.py | 51 +++++++++++++++++++++++++++++++++ demo/pokemon_hyperdb.pickle.gz | Bin 798696 -> 233520 bytes requirements.txt | 3 +- 4 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 demo/demo_custom_embed.py diff --git a/demo/demo.py b/demo/demo.py index fdf11a2..d8ba9d3 100644 --- a/demo/demo.py +++ b/demo/demo.py @@ -21,6 +21,8 @@ results = db.query("Likes to sleep.", top_k=5) # Define a function to pretty print the results + + def format_entry(pokemon): name = pokemon["name"] hp = pokemon["hp"] @@ -39,6 +41,7 @@ def format_entry(pokemon): """ return pretty_pokemon + # Print the top 5 most similar Pokémon descriptions -for result in results: - print(format_entry(result)) \ No newline at end of file +for pokemon, _ in results: + print(format_entry(pokemon)) diff --git a/demo/demo_custom_embed.py b/demo/demo_custom_embed.py new file mode 100644 index 0000000..afc31bd --- /dev/null +++ b/demo/demo_custom_embed.py @@ -0,0 +1,51 @@ +import json +from hyperdb import HyperDB +from sentence_transformers import SentenceTransformer + + +# Load documents from the JSONL file +documents = [] + +with open("demo/pokemon.jsonl", "r") as f: + for line in f: + documents.append(json.loads(line)) + +# Instantiate HyperDB with the list of documents and the key "description" +model = SentenceTransformer('all-MiniLM-L6-v2') +db = HyperDB(documents, key="info.description", + embedding_function=model.encode) + +# Save the HyperDB instance to a file +db.save("demo/pokemon_hyperdb.pickle.gz") + +# Load the HyperDB instance from the file +db.load("demo/pokemon_hyperdb.pickle.gz") + +# Query the HyperDB instance with a text input +results = db.query("Likes to sleep.", top_k=5) + +# Define a function to pretty print the results + + +def format_entry(pokemon): + name = pokemon["name"] + hp = pokemon["hp"] + info = pokemon["info"] + pokedex_id = info["id"] + pkm_type = info["type"] + weakness = info["weakness"] + description = info["description"] + + pretty_pokemon = f"""Name: {name} +Pokedex ID: {pokedex_id} +HP: {hp} +Type: {pkm_type} +Weakness: {weakness} +Description: {description} +""" + return pretty_pokemon + + +# Print the top 5 most similar Pokémon descriptions +for pokemon, _ in results: + print(format_entry(pokemon)) diff --git a/demo/pokemon_hyperdb.pickle.gz b/demo/pokemon_hyperdb.pickle.gz index fde69bc21ed8fad3b21d0b0cde111d5b447ff9af..29a14eaaf8bff4674f84dea91a3ff64897a0db33 100644 GIT binary patch literal 233520 zcmV(pK=8jGiwFoviG^eW|8Q?>Wo>V6Uub!7WpZRieLji|f52dH2C-D4VVR{0uuiO7h($Y;iBGWf=?n#eM-<~dS%4wRp zHH0%NeJ@V}kK3W6e(wLji_1ejJvQcl1>6aoB;DNH+~n`S^M98q$D#B+u?8G*+#GzP zZ!tK0Ohb}~qG;$QP~OsyF01a*s!kD|dV?nV;a&-m`R@mbc@{zgH}vB579V2u<_4X* zH=%9Qa2f8Vh(c&aBW8Ge+sbXI8B-v&Czqfm9!gY?X@FYG?GYDI4@hc zp^j`$Th_K=B^Pkt9wDk$-4IanhBfL*ru1ksmDMo8qci_8QudFvTLr3UtYR5iRdj$Q zFRbv=&NDP4X_%xZm7#vY52ED3{Kvy)aFiOTBm!zTgZYK$QbqYJ* zhEa@qMjw7og4=Hqdqm8&gv4XxX z(1DSTG@Qlxj_Mg?Qn&bX#IRlsttQXH>V4ig$#s+}{&gga55-WgoiA~&;w@^3X5cGd z%f7cLBYUS5AW(3M>h8;?mzK=nIpaQBoOg-n*&hXGhd;E%$N)cd@Ba5sM~N+_V*AS1 z)IiKb=c$Z5D$1#_T1&3eV?2WJ{rxy@l-P z7T*c|AbPSQq-1eE6!*NNwJ{&H;4~7*BnW%=51k|+zr4Wj0bvi&O&IiFDZMjh{^hg zVBex_GOM?bYKa~qvn1xgR{wdhW5Zo4mpe&6{e9TVl`$Xr-|OJ>Ri~-M+-n$k_YO0e zBhGl;7NK&zZ&~evH?04r&qVHd6Zy(rMb2zYh45iNvc^0Na*g!xM_nq>eV;KbM2s>< z!0v=2XmWidH@Q!epHFYli%(DDg>W8pT{4S0sCSd~)`~Da%?EdjBT(SK$F%U+LjI3Y z8{w$7K0ZrQf{_6QI6GMYM+{xjM=2S^&o>cKHy5xxUrA0*M#FaNc~m&65GJi0(O)1D zY(RXsBdLK0ElTLm4HEdhDvBm8>m>?vB*AcM29=t-=(Pc5ny_shq$Hjr+|KFf zk-rLGUrol~+6OI3s|%3h`vxfC4n?~s|G}XSGiFw#F=M^D9>1*FjXK7+nU$-H;QP*U z^u8Pg6E3E3NGgtoY#DDAls^G?6^&8Ax{Q_038M+-JMmG;4k*2O23PY80b0D&-YsRo z*i~+3L*FjM!{e^-G$97|-18<1z3H$iO&PK-1+zXPmxx%+OPZOr8=v^-;VHMpFl+r8 z_|$oup63;8GoI}Ni#OKe-#|xbA1T3Krk`n!@EFZ7v%~Q#BQ*C*2a(kB$GOsFFjdh? z$}dC!XT>6Rzwqf2Au^1a$aIo-q4gCZguDWISIwrX?hDo!!yb0c-hd z$xKEfloy?+*=?ERu_!N^rTUWhyPgt!*o}N`y;PMe^TffGe z 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