Skrypty do przygotowania danych transkrypcji pobierają transkrypcje filmów z YouTube i przygotowują je do użycia z przykładem Semantic Search z OpenAI Embeddings i Functions.
Skrypty do przygotowania danych transkrypcji zostały przetestowane na najnowszych wersjach Windows 11, macOS Ventura oraz Ubuntu 22.04 (i nowszych).
Important
Zalecamy zaktualizowanie Azure CLI do najnowszej wersji, aby zapewnić kompatybilność z OpenAI Zobacz Dokumentację
- Utwórz grupę zasobów
Note
W tych instrukcjach używamy grupy zasobów o nazwie "semantic-video-search" w regionie East US. Możesz zmienić nazwę grupy zasobów, ale przy zmianie lokalizacji zasobów, sprawdź tabelę dostępności modeli.
az group create --name semantic-video-search --location eastus- Utwórz zasób Azure OpenAI Service.
az cognitiveservices account create --name semantic-video-openai --resource-group semantic-video-search \
--location eastus --kind OpenAI --sku s0- Pobierz punkt końcowy i klucze do użycia w tej aplikacji
az cognitiveservices account show --name semantic-video-openai \
--resource-group semantic-video-search | jq -r .properties.endpoint
az cognitiveservices account keys list --name semantic-video-openai \
--resource-group semantic-video-search | jq -r .key1- Wdróż następujące modele:
text-embedding-ada-002w wersji2lub wyższej, o nazwietext-embedding-ada-002gpt-35-turbow wersji0613lub wyższej, o nazwiegpt-35-turbo
az cognitiveservices account deployment create \
--name semantic-video-openai \
--resource-group semantic-video-search \
--deployment-name text-embedding-ada-002 \
--model-name text-embedding-ada-002 \
--model-version "2" \
--model-format OpenAI \
--scale-settings-scale-type "Standard"
az cognitiveservices account deployment create \
--name semantic-video-openai \
--resource-group semantic-video-search \
--deployment-name gpt-35-turbo \
--model-name gpt-35-turbo \
--model-version "0613" \
--model-format OpenAI \
--sku-capacity 100 \
--sku-name "Standard"- Python 3.9 lub nowszy
Do uruchomienia skryptów przygotowujących dane transkrypcji z YouTube wymagane są następujące zmienne środowiskowe.
Zalecamy dodanie zmiennych do zmiennych środowiskowych użytkownika.
Start Windows > Edytuj zmienne środowiskowe systemu > Zmienne środowiskowe > Zmienne użytkownika dla [USER] > Nowa.
AZURE_OPENAI_API_KEY \<your Azure OpenAI Service API key>
AZURE_OPENAI_ENDPOINT \<your Azure OpenAI Service endpoint>
AZURE_OPENAI_MODEL_DEPLOYMENT_NAME \<your Azure OpenAI Service model deployment name>
GOOGLE_DEVELOPER_API_KEY = \<your Google developer API key>
Zalecamy dodanie poniższych poleceń export do pliku ~/.bashrc lub ~/.zshrc.
export AZURE_OPENAI_API_KEY=<your Azure OpenAI Service API key>
export AZURE_OPENAI_ENDPOINT=<your Azure OpenAI Service endpoint>
export AZURE_OPENAI_MODEL_DEPLOYMENT_NAME=<your Azure OpenAI Service model deployment name>
export GOOGLE_DEVELOPER_API_KEY=<your Google developer API key>-
Zainstaluj klienta git, jeśli nie jest jeszcze zainstalowany.
-
W oknie
Terminalsklonuj przykład do wybranego folderu repozytorium.git clone https://github.com/gloveboxes/semanic-search-openai-embeddings-functions.git
-
Przejdź do folderu
data_prep.cd semanic-search-openai-embeddings-functions/src/data_prep -
Utwórz wirtualne środowisko Pythona.
Na Windows:
python -m venv .venvNa macOS i Linux:
python3 -m venv .venv
-
Aktywuj wirtualne środowisko Pythona.
Na Windows:
.venv\Scripts\activate
Na macOS i Linux:
source .venv/bin/activate -
Zainstaluj wymagane biblioteki.
Na Windows:
pip install -r requirements.txtNa macOS i Linux:
pip3 install -r requirements.txt
.\transcripts_prepare.ps1./transcripts_prepare.shZastrzeżenie:
Niniejszy dokument został przetłumaczony przy użyciu automatycznej usługi tłumaczeniowej AI Co-op Translator. Mimo że dokładamy starań, aby tłumaczenie było jak najbardziej precyzyjne, prosimy mieć na uwadze, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w języku źródłowym należy traktować jako źródło wiarygodne i autorytatywne. W przypadku informacji o kluczowym znaczeniu zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.