harmonydata / harmonydata/harmonyapi

Warning about fork and HuggingFace

Ouverte
#16 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
Python
Étoiles
2
Forks
16
Merge moyen
1 min
PR mergées (30 j)
1

Description

## Description

When I run the API on Docker I get this warning in the logs:

```
INFO: 172.17.0.1:57538 - "POST /text/match HTTP/1.1" 422 Unprocessable Entity
INFO: 172.17.0.1:57554 - "POST /text/match HTTP/1.1" 200 OK
INFO: 172.17.0.1:57562 - "POST /text/match HTTP/1.1" 200 OK
INFO: 172.17.0.1:54830 - "POST /text/match HTTP/1.1" 200 OK
INFO: 172.17.0.1:54834 - "POST /text/match HTTP/1.1" 200 OK
INFO: 172.17.0.1:54844 - "POST /text/match?is_negate=false HTTP/1.1" 200 OK
huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...
To disable this warning, you can either:
- Avoid using `tokenizers` before the fork if possible
- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)
2025-01-25 16:31:09,257 [AnyIO worker] [WARNI] Failed to see startup log message; retrying...
Preparing data for Tika

```

maybe it's nothing to worry about. I guess we can fix it by setting `TOKENIZERS_PARALLELISM` but I want to confirm that this is not doing any harm first. Needs some investigation.

I suspect we might be instantiating multiple instances of the HuggingFace transformers. If an LLM exists multiple times in RAM we need to stop that happening because they are already memory hungry.

## Environment

Docker

## How to Reproduce

1. Check out the repo
2. `export COMMIT_ID=`git show -s --format=%ci_%h | sed s/[^_a-z0-9]//g | sed s/0[012]00_/_/g` && docker build -t harmonyapi -t harmonyapi:$COMMIT_ID -t harmonydata/harmonyapi -t harmonydata/harmonyapi:$COMMIT_ID --build-arg COMMIT_ID=$COMMIT_ID .`
3. `docker run -p 8000:80 harmonydata/harmonyapi:$COMMIT_ID`

## Expected Behaviour

Ideally we would not get this error.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Reproduisez l’avertissement avec les commandes Docker documentées de build et d’exécution, en prêtant attention à l’API /text/match et aux messages de démarrage. Suivez l’initialisation de HuggingFace transformers et la frontière fork, notamment pour déterminer si plusieurs instances du modèle sont créées. Le travail est terminé lorsque vous avez documenté si l’avertissement provoque des dommages ou des modèles en double et, si nécessaire, appliqué une configuration sûre ou une modification de code vérifiée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
docker, huggingface, python
Domaine
ai, api, backend, devops
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.