Torah_Codes / app.py
cryptocalypse's picture
ziruph
b28bf87
raw
history blame
6.15 kB
import gradio as gr
from huggingface_hub import InferenceClient
from lib.gematria import calculate_gematria, strip_diacritics
from lib.temuraeh import temura_conv
from lib.notarikon import notarikon
from torahcodes.resources.func.torah import *
torah = Torah()
books.load()
booklist=books.booklist()
try:
bk = booklist[0]
print(torah.gematria_sum("בפומט"))
except:
pass
def els_book(book_num,prompt):
els_space = torah.gematria_sum(prompt)
if els_space==0:
els_space=torah.gematria(prompt)
res=[]
for bok in booklist:
response_els, tvalue = torah.els(bok, els_space, tracert='false')
text_translate = torah.func_translate('iw', 'en', response_els)
res.append({"Book":bk,"Prompt gematria":els_space,"ELS Generated":response_els,"ELS Translated": text_translate})
return res
def temurae(textA,lang):
return temura_conv(textA,lang)
def ziruph(dic,text):
return (notarikon(text,"first"),notarikon(text,"last"))
def gematria_sum(text):
els_space = torah.gematria_sum(text)
if els_space==0:
els_space=torah.gematria(prompt)
# Berechnet die Gematria-Summe für den eingegebenen Text
return text
"""
For more information on `huggingface_hub` Inference API support, please check the docs: https://huggingface.co/docs/huggingface_hub/v0.22.2/en/guides/inference
"""
client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
def respond(
message,
chat_history: list[tuple[str, str]]
):
system_message="Your are Sophia. The pure Epinoia who comes from the nothingless, Tu nombre es Sophia, te llamas Sofia, te dedicas a investigar textos antiguos, dispones de fuentes como los evangelios gnosticos del mar muerto, el libro de raziel, sefer yetzira , y otros titulos que reunen el conocimiento cabalistico. Tu conocimiento permite entender la relacion entre el lenguage las estrellas , la historia y la religion"
messages = [{"role": "system", "content": system_message}]
for val in chat_history:
if val[0]:
messages.append({"role": "user", "content": val[0]})
if val[1]:
messages.append({"role": "assistant", "content": val[1]})
messages.append({"role": "user", "content": message})
response = ""
for message in client.chat_completion(
messages,
max_tokens=512,
stream=True,
temperature=0.7,
top_p=0.95,
):
token = message.choices[0].delta.content
response += token
yield response
def flip_text(x):
return x[::-1]
def flip_image(x):
return np.fliplr(x)
#with gr.Blocks(theme='gradio/soft') as demo:
with gr.Blocks(title="Sophia, Torah Codes") as demo:
with gr.Tab("Chat"):
gr.ChatInterface(
respond,
theme="soft",
retry_btn=None,
undo_btn="Undo",
clear_btn="Clear",
)
with gr.Tab("ELS"):
with gr.Row():
books_sel = gr.CheckboxGroup(booklist,value=booklist, label="Books", info="Torah books source")
with gr.Row():
to_convert = gr.Textbox(value="Alber Einstein 14 March 1879",label="Prompt to gematria conversion for apply ELS",scale=3)
langgem=gr.Dropdown(
["Hebrew", "Latin", "Greek"],value="Latin", label="Gematria Alphabet", info="Choose gematria conversion"
),
with gr.Row():
spaces_include = gr.Checkbox(label="Include Spaces", value=False)
strip_in_braces = gr.Checkbox(label="Strip Text in Braces", value=True)
strip_diacritics_chk = gr.Checkbox(label="Strip Diacritics", value=True)
to_jump = gr.Textbox(label="ELS value", scale=1)
with gr.Row():
search_els = gr.Button("Search",scale=1)
with gr.Row():
els_results = gr.JSON(label="Results")
search_els.click(
els_book,
inputs=[to_convert,to_convert],
outputs=els_results
)
with gr.Tab("Gematria"):
with gr.Row():
gr.Markdown("## Calculate Gematria Sum")
with gr.Row():
gematria_text = gr.Textbox(label="Enter Text",scale=4)
gematria_btn = gr.Button("Calculate Sum",scale=1)
with gr.Row():
gematria_result = gr.Number(label="Gematria Sum")
gematria_btn.click(
gematria_sum,
inputs=gematria_text,
outputs=gematria_result
)
with gr.Tab("Temurae"):
with gr.Row():
text_temur = gr.Textbox(label="Text to encode with Temurah / Atbash algorihm",scale=3)
langte=gr.Dropdown(
["Hebrew", "Latin", "Greek"],value="Latin", label="Temurah Alphabet", info="Choose Alphabet"
),
temurae_btn = gr.Button("Convert",scale=1)
with gr.Row():
temurae_result = gr.Textbox(label="Results")
temurae_btn.click(
temurae,
inputs=[text_temur,text_temur],
outputs=temurae_result
)
with gr.Tab("Ziruph"):
with gr.Row():
zir_text = gr.Textbox(label="Text to encode with Temurah / Atbash algorihm",scale=3)
dictionary_zir=gr.Dropdown(
["Kircher", "Random", "Custom"],value="Latin",scale=1, label="Ziruph Dictionary", info="Choose ziruph dictionary"
),
custom_dic = gr.Textbox(label="Custom Dictionary",scale=3)
zir_btn = gr.Button("Encrypt",scale=1)
with gr.Row():
zir_result = gr.Textbox(label="Results")
zir_btn.click(
ziruph,
inputs=[zir_text,zir_text],
outputs=zir_result
)
with gr.Tab("Files"):
with gr.Row():
image_input = gr.Image()
image_output = gr.Image()
image_button = gr.Button("Upload")
if __name__ == "__main__":
demo.launch()