resume-parser / app /utils.py
klakenyuo's picture
docker
0a49ebd
Raw
History Blame Contribute Delete
893 Bytes
# app/utils.py
import os
import re
import requests
from dotenv import load_dotenv
load_dotenv() # charge les variables d'environnement
HF_API_TOKEN = os.getenv("HF_API_TOKEN")
API_URL = "https://api-inference.huggingface.co/pipeline/feature-extraction/sentence-transformers/all-MiniLM-L6-v2"
HEADERS = {"Authorization": f"Bearer {HF_API_TOKEN}"}
def clean_text(text):
text = text.lower()
text = re.sub(r'\s+', ' ', text)
text = re.sub(r'(mailto:)?[\w\.-]+@[\w\.-]+', '', text)
text = re.sub(r'\+?\d[\d\s\-\(\)]{7,}', '', text)
return text.strip()
def get_embedding(text):
response = requests.post(API_URL, headers=HEADERS, json={"inputs": text})
response.raise_for_status()
return response.json()
def extract_emails(text):
return re.findall(r'[\w\.-]+@[\w\.-]+', text)
def extract_phones(text):
return re.findall(r'\+?\d[\d\s\-\(\)]{7,}', text)