„Whisper“ modelio panaudojimas su „Gradio“ sąsaja lietuvių kalbos atpažinimui
Šiame straipsnyje aptarsime, kaip panaudoti „OpenAI Whisper“ dirbtinio intelekto modelį kartu su „Gradio“ biblioteka, lietuvių kalbos transkribavimui. Programinis kodas bus vykdomas „Google Colab“ aplinkoje naudojant „Python“ programavimo kalbą, kas leis lengvai išbandyti sprendimą be sudėtingos konfigūracijos kompiuteryje.
„Whisper“ yra galingas kalbos atpažinimo modelis, gebantis transkribuoti ir versti daugelį kalbų, įskaitant ir lietuvių. Jis pasižymi aukštu tikslumu ir greičiu, todėl yra puikus pasirinkimas automatiniu būdu transkribuojant ilgus garso ar vaizdo įrašus.
„Gradio“ - „Python“ programavimo kalbos biblioteka, skirta greitam ir paprastam dirbtinio intelekto modelių sąsajų kūrimui. Naudodami „Gradio“ galime sukurti intuityvią vartotojo sąsają, leidžiančią kitiems išbandyti „Whisper“ modelį. Ši biblioteka ypač naudinga demonstruojant modelio galimybes, kuriant prototipus ar integruojant modelius į esamus projektus.
Pasiruošimas
Pirmiausiai turime įdiegti „Whisper“ ir „Gradio“ bibliotekas. Tai galite padaryti naudodami pip paketų diegimo įrankį:
!pip install git+https://github.com/openai/whisper.git
!pip install gradio
Toliau savo „Python“ aplinkoje importuojame šias bibliotekas:
import whisper
import gradio as gr
Modelio užkrovimas
„Whisper“ biblioteka siūlo įvairius iš anksto apmokytus modelius, kurie skiriasi dydžiu, greitaveika ir tikslumu. Šiame pavyzdyje naudojame „large“ modelį, tačiau galite pasirinkti ir kitus variantus: „tiny“, „base“, „small“ arba „medium“. Kuo modelis didesnis, tuo jis tikslesnis.
model = whisper.load_model("large")
Transkripcijos funkcija
Sukurkime funkciją, kuri naudos „Whisper“ modelį gauto audio įrašo transkripcijai:
def transcribe(audio):
result = model.transcribe(audio)
return result["text"]
Gradio sąsaja
Naudodami „Gradio“ biblioteką, sukurkime paprastą vartotojo sąsają, leidžiančią įrašyti garsą naudojantis mikrofonu arba įkeliant audio failą ir gauti jo transkripciją:
iface = gr.Interface(
fn=transcribe,
inputs=gr.Audio(type="filepath"),
outputs="text",
title="Whisper transkripcija",
description="Naudokite savo mikrofoną kalbos transkripcijai su OpenAI „Whisper" modeliu."
)
iface.launch()
Ši sąsaja turės garso įvestį ir grąžins tekstinį rezultatą. Paleidus launch()
metodą, „Gradio“ sąsaja bus prieinama naršyklėje ir pasiekiama sugeneruotu unikaliu adresu.