import gradio as gr import openai import numpy as np def calc_distance(text1, text2, api) -> str: text1_emb = openai.Embedding.create(input=text1, model="text-embedding-ada-002", api_key=api) text2_emb = openai.Embedding.create(input=text2, model="text-embedding-ada-002", api_key=api) text1_emb = np.array(text1_emb["data"][0]["embedding"]) text2_emb = np.array(text2_emb["data"][0]["embedding"]) distance = np.linalg.norm(text1_emb-text2_emb) return str(distance) with gr.Blocks() as b: openai_apikey = gr.TextArea(label="OpenAI API key", lines=1) with gr.Row(): with gr.Column(): text1 = gr.TextArea(label="Text 1") text2 = gr.TextArea(label="Text 2") btn = gr.Button("Calculate") output = gr.outputs.Label(label="Distance") btn.click(fn=calc_distance, inputs=[text1, text2, openai_apikey], outputs=output) b.launch()