introduck / introduck /inference.py
speqtr's picture
remote inference api
aa1a424 verified
import json
import os
import requests
from typing import Any
def extract_contacts_from_text(payload: str) -> list[dict[str, Any]]:
if not payload:
return []
api_token: str = os.environ.get("HUGGINGFACE_INFERENCE_ENDPOINT_TOKEN", "")
if not api_token:
return []
api_url: str = os.environ.get("HUGGINGFACE_INFERENCE_ENDPOINT_URL", "")
if not api_url:
return []
response: requests.Response = requests.post(
url=api_url,
headers={
"Authorization": f"Bearer {api_token}",
"Content-Type": "application/json"},
data=json.dumps({"inputs": payload}))
outputs: list[dict[str, Any]] = response.json()
if not outputs:
return []
entities: list[dict[str, Any]] = []
for output in outputs:
entity: dict = {
"text": output.get("word", ""),
"score": output.get("score", -1),
"entity": output.get("entity_group", "UNKNOWN"),
"start": output.get("start", -1),
"end": output.get("end", -1)}
entities.append(entity)
return entities