Commit
·
22c1f87
1
Parent(s):
e69a9f1
update batch size for A10 GPU...
Browse files- handler.py +3 -1
- test endpoint.ipynb +9 -226
handler.py
CHANGED
|
@@ -31,7 +31,7 @@ SAMPLE_RATE = 16000
|
|
| 31 |
def whisper_config():
|
| 32 |
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 33 |
whisper_model = "large-v3"
|
| 34 |
-
batch_size =
|
| 35 |
compute_type = "float16" if device == "cuda" else "int8"
|
| 36 |
return device, batch_size, compute_type, whisper_model
|
| 37 |
|
|
@@ -323,4 +323,6 @@ class EndpointHandler:
|
|
| 323 |
# results_json = json.dumps(results)
|
| 324 |
# return {"results": results_json}
|
| 325 |
# return {"transcription": [s["text"] for s in transcription["segments"]]}
|
|
|
|
|
|
|
| 326 |
return transcription
|
|
|
|
| 31 |
def whisper_config():
|
| 32 |
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 33 |
whisper_model = "large-v3"
|
| 34 |
+
batch_size = 40 if device == "cuda" else 1
|
| 35 |
compute_type = "float16" if device == "cuda" else "int8"
|
| 36 |
return device, batch_size, compute_type, whisper_model
|
| 37 |
|
|
|
|
| 323 |
# results_json = json.dumps(results)
|
| 324 |
# return {"results": results_json}
|
| 325 |
# return {"transcription": [s["text"] for s in transcription["segments"]]}
|
| 326 |
+
gc.collect()
|
| 327 |
+
torch.cuda.empty_cache()
|
| 328 |
return transcription
|
test endpoint.ipynb
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
"cells": [
|
| 3 |
{
|
| 4 |
"cell_type": "code",
|
| 5 |
-
"execution_count":
|
| 6 |
"metadata": {},
|
| 7 |
"outputs": [],
|
| 8 |
"source": [
|
|
@@ -12,9 +12,7 @@
|
|
| 12 |
"\n",
|
| 13 |
"token = \"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\"\n",
|
| 14 |
"API_URL = \"https://t4vtvikeag4f1yzd.eu-west-1.aws.endpoints.huggingface.cloud\"\n",
|
| 15 |
-
"fichier_audio = Path(\n",
|
| 16 |
-
" \"/Users/ericmattmann/Library/CloudStorage/SynologyDrive-tache/Production/Socotec/Cas_d_usage_AI_2023/Interviews/Atelier cas d'usage IA 01 12 2023.m4a\"\n",
|
| 17 |
-
")\n",
|
| 18 |
"headers = {\"Authorization\": f\"Bearer {token}\", \"Content-Type\": \"application/json\"}\n",
|
| 19 |
"with open(fichier_audio, \"rb\") as f:\n",
|
| 20 |
" audio_data = base64.b64encode(f.read()).decode(\"utf-8\")"
|
|
@@ -22,17 +20,9 @@
|
|
| 22 |
},
|
| 23 |
{
|
| 24 |
"cell_type": "code",
|
| 25 |
-
"execution_count":
|
| 26 |
"metadata": {},
|
| 27 |
-
"outputs": [
|
| 28 |
-
{
|
| 29 |
-
"name": "stdout",
|
| 30 |
-
"output_type": "stream",
|
| 31 |
-
"text": [
|
| 32 |
-
"La durée de l'enregistrement est : 0 heures, 21 minutes et 31 secondes.\n"
|
| 33 |
-
]
|
| 34 |
-
}
|
| 35 |
-
],
|
| 36 |
"source": [
|
| 37 |
"def get_duration_ffmpeg(file_path):\n",
|
| 38 |
" probe = ffmpeg.probe(file_path)\n",
|
|
@@ -49,7 +39,7 @@
|
|
| 49 |
},
|
| 50 |
{
|
| 51 |
"cell_type": "code",
|
| 52 |
-
"execution_count":
|
| 53 |
"metadata": {},
|
| 54 |
"outputs": [],
|
| 55 |
"source": [
|
|
@@ -100,17 +90,9 @@
|
|
| 100 |
},
|
| 101 |
{
|
| 102 |
"cell_type": "code",
|
| 103 |
-
"execution_count":
|
| 104 |
"metadata": {},
|
| 105 |
-
"outputs": [
|
| 106 |
-
{
|
| 107 |
-
"name": "stdout",
|
| 108 |
-
"output_type": "stream",
|
| 109 |
-
"text": [
|
| 110 |
-
"Transcription and Diarization in the same call.\n"
|
| 111 |
-
]
|
| 112 |
-
}
|
| 113 |
-
],
|
| 114 |
"source": [
|
| 115 |
"if g < 5_400: # (1h30)\n",
|
| 116 |
" print(\"Transcription and Diarization in the same call.\")\n",
|
|
@@ -124,208 +106,9 @@
|
|
| 124 |
},
|
| 125 |
{
|
| 126 |
"cell_type": "code",
|
| 127 |
-
"execution_count":
|
| 128 |
"metadata": {},
|
| 129 |
-
"outputs": [
|
| 130 |
-
{
|
| 131 |
-
"data": {
|
| 132 |
-
"text/plain": [
|
| 133 |
-
"{'segments': [{'text': \" Est-ce que tu peux faire l'unicité des adresses ? Alors oui, j'avais une question là-dessus parce que tu m'avais demandé de dire quand on a deux adresses identiques. Alors là, c'est la même affaire, mais ce n'est pas le même projet. Oui, mais du coup, ça serait...\",\n",
|
| 134 |
-
" 'start': 4.155,\n",
|
| 135 |
-
" 'end': 27.159,\n",
|
| 136 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 137 |
-
" {'text': \" Ah, donc en fait, c'est de faire une base de données relationnelle finalement basée sur l'adresse. À cette adresse, quels sont les projets ? Oui, exactement. Alors, moi, ça me pose une question qui est... J'ai trouvé plusieurs parcelles.\",\n",
|
| 138 |
-
" 'start': 33.541,\n",
|
| 139 |
-
" 'end': 53.37,\n",
|
| 140 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 141 |
-
" {'text': \" J'ai des adresses qui sont différentes, mais j'ai trouvé le même endroit. Un, j'ai trouvé deux adresses. L'autre, j'en ai trouvé trois. Des fois, ça ne va pas être parfaitement bon. Non, mais ce n'est pas grave. Oui, OK.\",\n",
|
| 142 |
-
" 'start': 55.964,\n",
|
| 143 |
-
" 'end': 75.196,\n",
|
| 144 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 145 |
-
" {'text': \" Donc à une coordonnée géographique, si j'ai plusieurs projets, je concatène, c'est-à-dire que je fais la colonne project ID, ce sera une colonne structurée avec la liste des projets qui sont à cette adresse, c'est ça ? Oui. C'est dans cette forme-là que tu le veux ? C'est ça. Et idéalement, si tu sais m'extraire, ou m'identifier, ceux qui ont du Rapsotech et du Rapsosps, si ça existe. Je ne comprends pas ta question. Si on a sur une même adresse...\",\n",
|
| 146 |
-
" 'start': 76.817,\n",
|
| 147 |
-
" 'end': 106.169,\n",
|
| 148 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 149 |
-
" {'text': \" Ah oui, normalement, il y en a, oui. Mais alors, du coup, oui, parce que du coup, il faut que je te mette dans la colonne B, je te fais un truc structuré aussi avec une liste des logiciels d'origine. Par contre, si tu as 5 projets, je vais te faire une liste de 5 avec Rapsotech, Rapsotech, Rapsosps, Rapsotech, Rapsotech. Et tu veux que je te fasse une colonne mixte ? Non, mais c'est bon, si tu fais ça. Si tu fais ça, c'est bon. J'aurai les deux, ça veut dire que j'aurai les deux dedans. Ok.\",\n",
|
| 150 |
-
" 'start': 106.971,\n",
|
| 151 |
-
" 'end': 135.811,\n",
|
| 152 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 153 |
-
" {'text': \" Sinon, je te fais une colonne informative en disant dans la colonne B, j'ai des 2. Oui, oui. Je peux te faire ça. Comme ça. Et après, la question, c'est est-ce qu'on sait faire mieux sur... Ou est-ce qu'on peut tester un truc qui nous permettrait d'aller chercher celle qu'on n'a pas ? Parce qu'au final, sur les 500...\",\n",
|
| 154 |
-
" 'start': 136.613,\n",
|
| 155 |
-
" 'end': 166.544,\n",
|
| 156 |
-
" 'speaker': 'SPEAKER_02'},\n",
|
| 157 |
-
" {'text': \" ouais c'est à peu près la moitié je crois on est à 50% est-ce qu'on peut aller chercher un peu plus ? alors je pense qu'on peut aller chercher quelques pourcents de plus ouais mais tu vois je sais pas piscine là je pense qu'on a pas trouvé enfin tu vois il y a des trucs où c'est voilà scène pour théâtre des roquilles\",\n",
|
| 158 |
-
" 'start': 168.234,\n",
|
| 159 |
-
" 'end': 190.162,\n",
|
| 160 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 161 |
-
" {'text': ' à Lançon je pourrais pas mais tu vois tennis des serrons près de la société près de la société Catus tu vois ligne 29 il y en a beaucoup beaucoup en fait où il y a juste vraiment il faudrait les faire à la main donc je peux te gagner quelques pourcents peut-être',\n",
|
| 162 |
-
" 'start': 191.237,\n",
|
| 163 |
-
" 'end': 208.319,\n",
|
| 164 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 165 |
-
" {'text': \" Ah mais non, là, je ne peux pas. Là, c'est bon parce que j'ai trouvé dans Atlas. J'ai dû prendre dans Atlas. Mais quand je n'ai pas de numéro, votre souhait, c'était que si ce n'était pas précis, il ne fallait pas le prendre. Oui, oui. Non, non, mais c'est tout à fait ça. Après, ce que... Voilà, super, il y en a peut-être plein de pouvoirs de l'Europe. Là, non, je ne l'ai pas parce qu'il n'y a pas de numéro et il n'y a pas de moyen. Et ça, dans le nom de... Oui, mais non, ça sera trop compliqué. Dans le nom de l'affaire ? De l'affaire. Non, je ne crois pas.\",\n",
|
| 166 |
-
" 'start': 210.64,\n",
|
| 167 |
-
" 'end': 239.275,\n",
|
| 168 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 169 |
-
" {'text': \" J'avais été regarder s'il y avait des choses dans la description, dans Rapsotech, etc. Je pense qu'on peut grappiller des trucs vraiment en se tordant la tête, mais pas beaucoup, vraiment. Tu vois, il y en a quand même beaucoup où il n'y a juste pas d'infos. J'avais même pas vu les... Il y en a où il n'y a rien, en fait. Oui, il y en a beaucoup où il n'y a rien. Puis quand tu vois DC5 et aménagement de 26 sites data à Saint-Ouen-le-Mône,\",\n",
|
| 170 |
-
" 'start': 240.452,\n",
|
| 171 |
-
" 'end': 270.418,\n",
|
| 172 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 173 |
-
" {'text': \" C'est un truc, il faut aller faire une enquête. Il y a des adresses où j'ai été regarder, des trucs comme ça, où je trouvais que la rue n'existait pas. En fait, c'était une nouvelle rue et son nom officiel, ce n'était pas celui qui était marqué. Des fois, il y a des trucs où...\",\n",
|
| 174 |
-
" 'start': 270.828,\n",
|
| 175 |
-
" 'end': 288.319,\n",
|
| 176 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 177 |
-
" {'text': \" Ou si tu poses la même requête dans un an, peut-être que ce sera au clair avec la commune. Mais souvent, en fait, il n'y a pas grand-chose à faire, je pense, quand même. Tu vois, parc du château à Coulonges sur l'autre 10, peut-être qu'il a trouvé un nominatime. Donc, ce que je peux essayer de faire, c'est passer les adresses où je n'ai rien trouvé, mais où j'ai eu une information dans Google.\",\n",
|
| 178 |
-
" 'start': 289.923,\n",
|
| 179 |
-
" 'end': 315.367,\n",
|
| 180 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 181 |
-
" {'text': \" Ah oui. Peut-être avec le nom du projet aussi. Souvent, en fait, c'est des noms commerciaux et ça n'a rien à voir avec... Ça ne s'appellera jamais comme ça à la fin, notamment dans les résidences. Mais je peux passer dans Google. Ce qui m'embête, c'est que dans Google, j'ai beaucoup moins de leviers pour dire « oui, mais non, en fait, ce n'était pas ça ».\",\n",
|
| 182 |
-
" 'start': 316.51,\n",
|
| 183 |
-
" 'end': 343.797,\n",
|
| 184 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 185 |
-
" {'text': \" il va toujours me trouver un truc, Google. Enfin, vraiment quasiment tout le temps. Et je vais avoir du mal à dire, oui, non, mais ce n'est pas du tout ça. C'est un autre centre commercial ou c'est... Voilà. Alors que souvent, en fait, il va me trouver des trucs intéressants. Enfin, c'est vachement bien. Mais je n'ai pas de moyens de valider trop les résultats. Donc, il faut... Soit on dit, OK...\",\n",
|
| 186 |
-
" 'start': 344.138,\n",
|
| 187 |
-
" 'end': 373.916,\n",
|
| 188 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 189 |
-
" {'text': \" Tant pis, ça veut dire qu'il y aura des adresses qui seront fausses, mais il y aura beaucoup plus d'adresses et notamment beaucoup plus d'adresses justes. Google, je l'utilise moi plutôt typiquement pour avoir des temps de trajet plutôt que des géolocalisations. Mais ils ont des infos sur des boutiques, des machins comme ça, c'est pas mal.\",\n",
|
| 190 |
-
" 'start': 374.531,\n",
|
| 191 |
-
" 'end': 403.456,\n",
|
| 192 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 193 |
-
" {'text': \" Oui, oui, c'est ça. En fait, ton truc est pas mal. En soi, on remap bien toute la France. C'est bien. Pour l'instant, c'est que la densité est pas... est pas folle d'un coup. Après, on va être à 230 000, c'est toujours 0. Mais... Euh...\",\n",
|
| 194 |
-
" 'start': 408.541,\n",
|
| 195 |
-
" 'end': 435.828,\n",
|
| 196 |
-
" 'speaker': 'SPEAKER_02'},\n",
|
| 197 |
-
" {'text': \" ces deux ans de prod de Rapsotech tu vois si on en met deux fois plus ça va pas changer la face du monde en termes de densité vous avez pas tant d'assets que ça dans Rapsos et Rapsos SPS et en plus ils étaient ils sont pas tous forcément finis de construire donc c'est pour ça qu'il y a plein de trucs des fois ils marquent pas l'adresse parce qu'en fait elle existe pas ouais\",\n",
|
| 198 |
-
" 'start': 438.063,\n",
|
| 199 |
-
" 'end': 466.288,\n",
|
| 200 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 201 |
-
" {'text': \" Si t'as une idée sur un truc à tester, regardons. Au pire, on le met de côté par rapport à ce que t'as fait là. Si on n'est pas sûr du truc. Si tu veux tester le truc avec Google, on peut regarder. Mais c'est pas vraiment... On voit si vraiment ça en géolocalise plus. Ça va en géolocaliser beaucoup plus. Je suis à peu près certain de ça. C'est...\",\n",
|
| 202 |
-
" 'start': 467.039,\n",
|
| 203 |
-
" 'end': 490.179,\n",
|
| 204 |
-
" 'speaker': 'SPEAKER_02'},\n",
|
| 205 |
-
" {'text': \" Ma question, c'est pas tant la qualité de la géolocalisation que les moyens de connaître cette qualité qui me manquent. Mais dans ce cas-là, ce que je te fais, c'est un tableau séparé. Ça sera l'étape d'après, c'est de dire OK, on en a géolocalisé la moitié, maintenant on veut géolocaliser plus, donc soit...\",\n",
|
| 206 |
-
" 'start': 491.971,\n",
|
| 207 |
-
" 'end': 512.671,\n",
|
| 208 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 209 |
-
" {'text': \" Les trucs où il n'y a aucune info dans l'adresse, je ne les enverrai pas à Google. Ça ne sert à rien. Ce n'est pas pour toi. C'est plus côté SoCo. Au pire, on renvoie la liste des canevas et on demande au mec d'aller remplir. Oui. Mais là, tu pourras le faire avec une interface. Tu n'auras pas besoin de moi. Tu vas lui demander de pointer sur une carte l'endroit et tu seras content. Non ? Oui. En plus, ça va l'arranger parce que ce sera plus facile.\",\n",
|
| 210 |
-
" 'start': 515.299,\n",
|
| 211 |
-
" 'end': 544.036,\n",
|
| 212 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 213 |
-
" {'text': \" Pascal avait dit que vous étiez en train de bosser justement sur une interface pour... On est en train de connecter. On connecte l'AOS à tous les nouveaux Canva. Mais avec une interface pour saisir... C'est là. C'est vachement bien. C'est le mieux, ça. Et sur Lyon, t'as qu'un seul... T'as pas beaucoup de points sur Lyon. C'est bizarre, quand même. Oh, ça m'étonne un peu. Mais t'as tout, là ?\",\n",
|
| 214 |
-
" 'start': 548.217,\n",
|
| 215 |
-
" 'end': 575.179,\n",
|
| 216 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 217 |
-
" {'text': \" J'ai pris les 230. Est-ce que des fois, il fait des filtres sur les 10 000 premiers parce que ça devient long après ? Non, normalement, j'ai tout pris. D'accord. Il prend toutes les lignes où il y a latitude et longitude.\",\n",
|
| 218 |
-
" 'start': 576.698,\n",
|
| 219 |
-
" 'end': 603.404,\n",
|
| 220 |
-
" 'speaker': 'SPEAKER_02'},\n",
|
| 221 |
-
" {'text': \" Parce que je n'ai pas l'impression que tu en aies... Effectivement. Ah, même dans les dom-toms. Je suis content. Oui, il y en a. Après, je crois qu'elles sont un peu globales. Les adresses sont... Tu verras, il y en a peu qui soient vraiment très...\",\n",
|
| 222 |
-
" 'start': 612.722,\n",
|
| 223 |
-
" 'end': 635.077,\n",
|
| 224 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 225 |
-
" {'text': \" C'est à la ville. Oui, c'est souvent à la ville, voire des villes qui ne sont pas forcément très officielles. Non, je vais aller regarder. Toi, dans Lyon, tu en avais quoi ? Une demi-douzaine maxi dans la ville ? Oui. OK. OK.\",\n",
|
| 226 |
-
" 'start': 638.302,\n",
|
| 227 |
-
" 'end': 667.671,\n",
|
| 228 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 229 |
-
" {'text': \" Si je prends... C'est où que t'avais ? Ouais, Lyon, c'est bien, ouais. Pas portugais, c'est ça ?\",\n",
|
| 230 |
-
" 'start': 668.148,\n",
|
| 231 |
-
" 'end': 695.043,\n",
|
| 232 |
-
" 'speaker': 'SPEAKER_02'},\n",
|
| 233 |
-
" {'text': \" Il y en a plus que ça. Il m'attend. Oui, c'est ça. Tu en as combien qui traînent des lignes ? 4794. Oui. Après, j'en ai. Oui, mais après, j'ai... Il y en a plein, Reducteur Bouchu.\",\n",
|
| 234 |
-
" 'start': 697.381,\n",
|
| 235 |
-
" 'end': 725.265,\n",
|
| 236 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 237 |
-
" {'text': \" C'est parce que c'est la part d'yeux. C'est le centre commercial de la part d'yeux. Et ils ont fait tout le centre. Ils ont fait tout l'aménagement du centre et tout. Mais non, mais il n'y a pas que le Dr Bouchu quand même. Il n'y a que ça. Ben oui, oui. Oui, d'accord. En fait, c'est... Ouais, mais bon, j'ai quand même... Attends, mais c'est peut-être ma carte. Il est comme ça.\",\n",
|
| 238 |
-
" 'start': 728.404,\n",
|
| 239 |
-
" 'end': 755.606,\n",
|
| 240 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 241 |
-
" {'text': \" Tu sais, des fois, il ne charge pas tout parce que ça fait trop, en fait. Oui, mais à aucun moment, je ne l'ai dit. Oui, c'est bizarre parce qu'effectivement, il n'y a pas de machin marqué. À aucun moment, je ne l'ai dit de ne pas marquer. Bon, OK, je le regarderai. Parce que là, même le docteur Bouchu, si tu vas voir la part d'yeux, je ne vois pas d'adresse sur la part d'yeux.\",\n",
|
| 242 |
-
" 'start': 757.073,\n",
|
| 243 |
-
" 'end': 779.957,\n",
|
| 244 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 245 |
-
" {'text': \" Bah ouais, rien. Ouais, donc c'est qu'elle... Ouais, elle montre qu'elle est conne. Non, non, ça... Ça n'a pas l'air de lui...\",\n",
|
| 246 |
-
" 'start': 786.783,\n",
|
| 247 |
-
" 'end': 811.425,\n",
|
| 248 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 249 |
-
" {'text': \" Je ne sais pas, c'est peut-être mon truc qui déconne. Parce qu'il est quand même très, très rapide, ton interface. Tu veux que je vous génère une carte Folium interactive ? Bah, écoute, si t'as, ouais. Si c'est mieux que mon truc, ouais. Je ne sais pas. Ce sera parce que ça fait effectivement beaucoup d'adresses, donc elles risquent d'être grosses, mais...\",\n",
|
| 250 |
-
" 'start': 816.254,\n",
|
| 251 |
-
" 'end': 839.036,\n",
|
| 252 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 253 |
-
" {'text': \" oui donc ce serait de pouvoir leur montrer qu'il y en a plein et que voilà en gros j'ai dit 230 000 mais tu vois ça parle toujours pas Romain il veut voir il veut voir l'interface de comment on a connecté comment on récupère les documents parce qu'on est en train de faire l'interface pour récupérer les documents de Rapsotech vers Amos tu vois et donc là c'est de dire punaise bah en fait voilà aujourd'hui l'AOS c'est ça c'est x sites c'est voilà l'évolution des sites donc ça je suis en train de dire\",\n",
|
| 254 |
-
" 'start': 849.565,\n",
|
| 255 |
-
" 'end': 874.701,\n",
|
| 256 |
-
" 'speaker': 'SPEAKER_02'},\n",
|
| 257 |
-
" {'text': \" faire un dashboard en temps réel et dire voilà en fait voilà ce que c'est l'AOS voilà comment il s'enrichit voilà tout le secteur qu'on a etc et si vous aviez les équipements mon dieu ouais alors ça ce serait x50 peut-être exactement je viens de trouver une porte d'entrée pour essayer d'aller capter les trucs via Herméo on va essayer de connecter l'AOS à Herméo\",\n",
|
| 258 |
-
" 'start': 878.217,\n",
|
| 259 |
-
" 'end': 898.08,\n",
|
| 260 |
-
" 'speaker': 'SPEAKER_02'},\n",
|
| 261 |
-
" {'text': \" Les équipements devraient aller sur Herméo, donc je vais essayer d'aller pomper les rapports Herméo. Mais tu as les adresses Atlas d'équipements, les adresses d'intervention, elles doivent être pas mal, parce qu'ils s'en servent pour planifier, non ? C'est vrai que je pourrais faire ça. C'est vrai que je pourrais faire ça, demander à... Oui, ils ont accès à ça. C'est dans le Data Lake, je pense. C'est dans le Data Lake. En fait, il s'agirait de faire ce que je fais pour...\",\n",
|
| 262 |
-
" 'start': 898.814,\n",
|
| 263 |
-
" 'end': 925.811,\n",
|
| 264 |
-
" 'speaker': 'SPEAKER_02'},\n",
|
| 265 |
-
" {'text': \" Pour la construction, pour la concomitance, plus ou moins. Sauf que ce n'est pas les mêmes. Vous voulez vraiment être au bâtiment prêt. C'est d'élargir un truc qui existe déjà. Ou le faire séparément. Parce qu'en fait, si on mange... On pourrait montrer que si on rajoutait des équipements, ça ferait ça. Et on pourrait montrer tous les sites où on a plein de trucs en commun. Aussi, oui. Sachant que moi, j'ai déjà pris des adresses Atlas...\",\n",
|
| 266 |
-
" 'start': 926.442,\n",
|
| 267 |
-
" 'end': 953.37,\n",
|
| 268 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 269 |
-
" {'text': \" Donc, je pourrais les manger assez facilement, si tu veux que je le fasse. Ok. Je vais réfléchir. Il faut que je vois comment... Mais là, dans Paris, c'est vrai qu'ils ne font pas grand-chose. Franchement, on se demande s'ils bossent, les gens. Oui, c'est clair. Tu es étonné parce que j'étais à la défense et il n'y avait rien. Tu veux dire qu'il y avait moyen que mon truc ne prenne pas tout. Je pense que c'est pour ton bien. Pour des questions de... Peut-être que la mémoire de ton ordi ou la...\",\n",
|
| 270 |
-
" 'start': 954.087,\n",
|
| 271 |
-
" 'end': 983.336,\n",
|
| 272 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 273 |
-
" {'text': \" Oui, je suis d'accord. Quand tu prévisualises le tableau, il te dit que tu as émis le premier ou je ne sais pas quoi. Je suis étonné que ça marche. OK, je regarderai. Après, ils regardent pour intégrer sur la base de ton premier fichier, intégrer dans l'OS. Ils sont en train de préparer le script, donc je ne te redirai rien. Ils n'avaient pas de souci particulier. Je vais changer les deux premières et je vais rajouter une colonne.\",\n",
|
| 274 |
-
" 'start': 986.34,\n",
|
| 275 |
-
" 'end': 1013.831,\n",
|
| 276 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 277 |
-
" {'text': \" La première colonne, Project ID, ce sera une liste de projets à cette adresse. La deuxième, ce sera les correspondances des outils de production des projets. Et la troisième, ce sera est-ce que j'ai une mixité Rapsotech, Rapsosps sur l'adresse. Oui, super. J'espère qu'il y en aura quelques-uns qui sortent quand même. Pas de souci. Et donc, je te relivre ça précisément le...\",\n",
|
| 278 |
-
" 'start': 1014.599,\n",
|
| 279 |
-
" 'end': 1040.316,\n",
|
| 280 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 281 |
-
" {'text': \" Je ne sais pas quand... Je ne sais pas. Tu peux le faire quand ? Moi, ça peut être près dans une semaine, mais c'était parce que vous vouliez faire l'import à une date... C'est plus vous qui avez des contraintes, je pense. Non, mais là, ils sont en train de faire le script. Pour l'instant, je n'ai pas encore le... Donc, tu me diras. Donc, une semaine, c'est bon, quoi.\",\n",
|
| 282 |
-
" 'start': 1044.531,\n",
|
| 283 |
-
" 'end': 1062.21,\n",
|
| 284 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 285 |
-
" {'text': \" D'accord. Non, parce que ça veut dire qu'il faut que je le fasse juste avant que vous importiez pour que vous ayez les données le plus à jour possible. Donc, je préfère que tu me dises une date que vous mettez vous dans plus d'une semaine. Et puis moi, je ferai tourner tout au maximum dans une journée de manière à vous donner le soir le truc avec les données du matin. Oui, OK.\",\n",
|
| 286 |
-
" 'start': 1062.671,\n",
|
| 287 |
-
" 'end': 1085.742,\n",
|
| 288 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 289 |
-
" {'text': \" Ok, ça, je te redirai la date parce que je ne sais pas encore quand est-ce qu'ils ont... Dès qu'ils ont fini le script, je te dirai. Parfait, tu me dis, ouais. Ça marche. Ça roule. Écoute, je fais ces transfos-là et je mets en pause le grappillage d'adresses supplémentaires pour l'instant. Je te laisse me dire en fonction de ce que tu peux voir sur ta carte enrichie. Ouais, ok.\",\n",
|
| 290 |
-
" 'start': 1086.476,\n",
|
| 291 |
-
" 'end': 1111.817,\n",
|
| 292 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 293 |
-
" {'text': \" Et oui, je vous ferai dans mon... On avait relu tout ce que j'avais fait avec Stéphane. Et lui, il voulait que... On était tombés d'accord que je vous fasse une vingtaine de cas par sondage. En vous disant ce qu'on avait, ce qu'on a trouvé comme coordonnées géographiques, ce qu'on a trouvé comme parcelles. Parce qu'on a été voir dans le centre-ville de Metz comment étaient faites les parcelles par rapport aux adresses. Et effectivement, il n'y a pas de solution qui...\",\n",
|
| 294 |
-
" 'start': 1115.128,\n",
|
| 295 |
-
" 'end': 1142.807,\n",
|
| 296 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 297 |
-
" {'text': \" qui marche parfaitement pour trouver la parcelle qui va vraiment être la plus juste sur n'importe quelle géométrie de projet dans n'importe quel environnement. On sait que c'est de toute façon pas hyper... et par découpage par parcelle, etc., sur une coordonnée, il peut y avoir plusieurs parcelles. Ça mérite d'exister. La façon de le faire, c'est la façon dont on fait la base de données des bâtiments ?\",\n",
|
| 298 |
-
" 'start': 1143.285,\n",
|
| 299 |
-
" 'end': 1171.698,\n",
|
| 300 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 301 |
-
" {'text': \" Parce qu'eux, ils savent à une adresse quelles sont les parcelles qui correspondent à cette propriété-là fiscalement. Et donc, tu as un truc qui est propre. Et après, pour moi, c'est la prochaine étape. C'est d'enrichir nos adresses avec une autre base. Enfin, il faudra de toute façon. Et après, j'ai appris, tu vois, qu'avec l'AOS, quand ils rentrent une adresse, en fait, ils fonctionnent avec la latitude, avec les coordonnées GPS.\",\n",
|
| 302 |
-
" 'start': 1172.944,\n",
|
| 303 |
-
" 'end': 1202.756,\n",
|
| 304 |
-
" 'speaker': 'SPEAKER_02'},\n",
|
| 305 |
-
" {'text': \" Et ils prennent un rayon autour. Donc potentiellement, le 17 rue machin, tu peux récupérer le 18, le 19, le 17, etc. Ils peuvent choisir après laquelle c'est, c'est ça ? Et après, a priori, oui, ils peuvent choisir. C'est bien ça. Ça, c'est pas mal. Mais je pense qu'il faudra, après, c'est d'enrichir le truc.\",\n",
|
| 306 |
-
" 'start': 1203.473,\n",
|
| 307 |
-
" 'end': 1220.145,\n",
|
| 308 |
-
" 'speaker': 'SPEAKER_02'},\n",
|
| 309 |
-
" {'text': \" Oui, ça se fait. Ils avaient des données techniques sur les bâtiments, des données fiscales, c'était bien. Sauf les bâtiments publics, évidemment, qui ne sont pas soumis à l'impôt. Et tu m'avais dit qu'il y avait un outil que vous utilisiez pour le géocodage et que je pourrais regarder. Je ne sais pas si tu l'as... Oui, qu'est-ce qu'ils m'ont dit ? Ils m'ont dit que c'était OpenSign. Non, je vais leur demander. Je vais leur demander.\",\n",
|
| 310 |
-
" 'start': 1221.647,\n",
|
| 311 |
-
" 'end': 1249.514,\n",
|
| 312 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 313 |
-
" {'text': \" Je ne sais pas si c'est OpenStreetMap. OpenStreetMap, c'est moi. C'est ce que je prends. Nominatim, c'est la base de données sous-jacente à OpenStreetMap. Non, ce n'est pas OpenStreetMap. C'est l'autre. C'est...\",\n",
|
| 314 |
-
" 'start': 1250.213,\n",
|
| 315 |
-
" 'end': 1262.432,\n",
|
| 316 |
-
" 'speaker': 'SPEAKER_03'},\n",
|
| 317 |
-
" {'text': \" Je vais redemander à Arthur. Je vais lui redemander. Oui, volontiers. Je te redis. Je vais lui redemander. Ça roule. Pas de problème. Et donc, moi, je fais ces petites transportures. Je te renvoie un tableau transformé tout de suite. Oui, je veux bien, s'il te plaît. Ça roule. Je fais ça. Super. Je me le note. Merci, Eric. Je t'en prie. Soigne-toi bien. Bonne journée. Salut. Ciao.\",\n",
|
| 318 |
-
" 'start': 1264.394,\n",
|
| 319 |
-
" 'end': 1285.913,\n",
|
| 320 |
-
" 'speaker': 'SPEAKER_03'}],\n",
|
| 321 |
-
" 'language': 'fr'}"
|
| 322 |
-
]
|
| 323 |
-
},
|
| 324 |
-
"execution_count": 5,
|
| 325 |
-
"metadata": {},
|
| 326 |
-
"output_type": "execute_result"
|
| 327 |
-
}
|
| 328 |
-
],
|
| 329 |
"source": [
|
| 330 |
"response"
|
| 331 |
]
|
|
|
|
| 2 |
"cells": [
|
| 3 |
{
|
| 4 |
"cell_type": "code",
|
| 5 |
+
"execution_count": null,
|
| 6 |
"metadata": {},
|
| 7 |
"outputs": [],
|
| 8 |
"source": [
|
|
|
|
| 12 |
"\n",
|
| 13 |
"token = \"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\"\n",
|
| 14 |
"API_URL = \"https://t4vtvikeag4f1yzd.eu-west-1.aws.endpoints.huggingface.cloud\"\n",
|
| 15 |
+
"fichier_audio = Path(\"/Users/ericmattmann/Library/CloudStorage/SynologyDrive-tache/Production/SGP/CISSCT/CISSCT.mp4\")\n",
|
|
|
|
|
|
|
| 16 |
"headers = {\"Authorization\": f\"Bearer {token}\", \"Content-Type\": \"application/json\"}\n",
|
| 17 |
"with open(fichier_audio, \"rb\") as f:\n",
|
| 18 |
" audio_data = base64.b64encode(f.read()).decode(\"utf-8\")"
|
|
|
|
| 20 |
},
|
| 21 |
{
|
| 22 |
"cell_type": "code",
|
| 23 |
+
"execution_count": null,
|
| 24 |
"metadata": {},
|
| 25 |
+
"outputs": [],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
"source": [
|
| 27 |
"def get_duration_ffmpeg(file_path):\n",
|
| 28 |
" probe = ffmpeg.probe(file_path)\n",
|
|
|
|
| 39 |
},
|
| 40 |
{
|
| 41 |
"cell_type": "code",
|
| 42 |
+
"execution_count": null,
|
| 43 |
"metadata": {},
|
| 44 |
"outputs": [],
|
| 45 |
"source": [
|
|
|
|
| 90 |
},
|
| 91 |
{
|
| 92 |
"cell_type": "code",
|
| 93 |
+
"execution_count": null,
|
| 94 |
"metadata": {},
|
| 95 |
+
"outputs": [],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 96 |
"source": [
|
| 97 |
"if g < 5_400: # (1h30)\n",
|
| 98 |
" print(\"Transcription and Diarization in the same call.\")\n",
|
|
|
|
| 106 |
},
|
| 107 |
{
|
| 108 |
"cell_type": "code",
|
| 109 |
+
"execution_count": null,
|
| 110 |
"metadata": {},
|
| 111 |
+
"outputs": [],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 112 |
"source": [
|
| 113 |
"response"
|
| 114 |
]
|