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()