import gradio as gr import requests, json #import os #from dotenv import load_dotenv, find_dotenv #_ = load_dotenv(find_dotenv()) # read local .env file #hf_api_key = os.environ['HF_API_KEY'] API_URL = "https://api-inference.huggingface.co/models/dslim/bert-base-NER" #NER endpoint hf_api_key = "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" # Helper function #Summarization endpoint def get_completion(inputs, parameters=None,ENDPOINT_URL=API_URL): headers = { "Authorization": f"Bearer {hf_api_key}", "Content-Type": "application/json" } data = { "inputs": inputs } if parameters is not None: data.update({"parameters": parameters}) response = requests.request("POST", ENDPOINT_URL, headers=headers, data=json.dumps(data) ) return json.loads(response.content.decode("utf-8")) def ner(input): output = get_completion(input, parameters=None, ENDPOINT_URL=API_URL) # Convert the output entities into the required format for Gradio entities = [] for entity_data in output: entity = { "start": entity_data["start"], "end": entity_data["end"], "entity": entity_data["entity_group"] } entities.append(entity) output = {"text": input, "entities": entities} return output gr.close_all() demo = gr.Interface(fn=ner, inputs=[gr.Textbox(label="Skriv innen tekst å finne entiteter i teksten", lines=2)], outputs=[gr.HighlightedText(label="Entiteter i teksten")], title="Entitetsgjenkjenning med dslim/bert-base-NER", description="Finn entiteter ved bruk av `dslim/bert-base-NER` modellen!", allow_flagging="never", #Here we introduce a new tag, examples, easy to use examples for your application examples=["Mitt navn er Preben, jeg jobber i Nordea Liv og bor i Bergen", "My name is Jake, I work at Nordea Liv and live in Bergen"]) demo.launch()