|
1 | 1 | # 🤖 Agent Z transcribe podcast |
| 2 | + |
2 | 3 | <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> |
3 | 4 | [](#contributors) |
4 | 5 | <!-- ALL-CONTRIBUTORS-BADGE:END --> |
| 6 | +[](https://github.com/zenika-open-source/agent-Z-transcribe-podcast/actions/workflows/release.yml) |
| 7 | +[](https://github.com/zenika-open-source/agent-Z-transcribe-podcast/releases) |
| 8 | + |
| 9 | +This is an AI Agent to transcribe podcasts to be easily readable as a book 🤘 |
| 10 | + |
| 11 | +## ✨ Features |
5 | 12 |
|
6 | | -This is an IA Agent to transcribe podcasts to be easily readable as a book 🤘 |
| 13 | +- **Podcast Transcription**: Transcribes French tech podcasts into readable text. |
| 14 | +- **Timestamps**: Option to include timestamps in the transcription. |
| 15 | +- **Download**: Save transcription as a Markdown file directly from the browser (compatible with Cloud Run). |
| 16 | +- **Modern AI**: Powered by Gemini 1.5 Pro. |
| 17 | + |
| 18 | + |
7 | 19 |
|
8 | 20 | ## 🛠️ Configuration |
9 | 21 |
|
| 22 | +**Prerequisites:** |
| 23 | +- Java 25 |
| 24 | + |
10 | 25 | 1️⃣ Export these 2 variables: |
11 | 26 | ```sh |
12 | 27 | export GOOGLE_GENAI_USE_VERTEXAI=FALSE |
13 | 28 | export GOOGLE_API_KEY=<your gemini API> |
14 | 29 | ``` |
15 | 30 |
|
16 | | -2️⃣ Create a `.env file`. The template `.env-template` in avaiable. |
| 31 | +2️⃣ Create a `.env` file. The template `.env-template` is available. |
17 | 32 |
|
18 | | -## ✨ Development |
| 33 | +## 🧑💻 Development |
19 | 34 |
|
20 | 35 | To run your agent (if you have only one specific agent): |
21 | 36 |
|
22 | 37 | ```sh |
23 | 38 | mvn dependency:build-classpath -Dmdep.outputFile=cp.txt && java -cp target/classes:$(cat cp.txt) transcribe.ZPodcastTranscribe |
24 | 39 | ``` |
25 | 40 |
|
26 | | -To run the UI, run this command and go to ```http://localhost:8888``` |
27 | | - |
28 | | - |
| 41 | +Then go to [http://localhost:8080/](http://localhost:8080/). |
29 | 42 |
|
30 | 43 | ## 🐳 Docker |
31 | 44 |
|
32 | | -This app could be runned with Docker and this command |
33 | | -``` |
34 | | -docker build -t agent-z-transcribe-podcast |
35 | | -docker run -p 8888:8888 -e PORT=8888 agent-z-transcribe-podcast |
36 | | -``` |
37 | | - |
38 | | -## 🚀 Deployment |
39 | | - |
40 | | -To deploy on Cloud Run: |
41 | | - |
42 | | -- authentification on GCP with `gcloud auth login` |
43 | | - |
44 | | -- configure settings exporting variables: |
45 | | - |
46 | | -```sh |
47 | | -export GOOGLE_CLOUD_PROJECT=<your projet> |
48 | | -export GOOGLE_CLOUD_LOCATION=<location like europe-west1> |
49 | | -export GOOGLE_GENAI_USE_VERTEXAI=<true if you deploy on Google Cloud, else false> |
50 | | -export GOOGLE_API_KEY=<your GOOGLE API KEY> |
51 | | -``` |
52 | | -
|
53 | | -or adding them into a `.env` file (cf `env-template` file) |
54 | | -``` |
55 | | -export GCLOUD_PROJECT= |
56 | | -export GCLOUD_LOCATION=europe-west1 |
57 | | -export GCLOUD_GENAI_USE_VERTEXAI=FALSE |
58 | | -export GOOGLE_API_KEY= |
59 | | -``` |
60 | | -
|
61 | | -- and run the `gcloud` command. |
| 45 | +This app can be run with Docker: |
62 | 46 |
|
63 | 47 | ```sh |
64 | | -gcloud run deploy agent-z-transcribe-podcast \ |
65 | | ---source . \ |
66 | | ---region $GCLOUD_LOCATION \ |
67 | | ---project $GCLOUD_PROJECT \ |
68 | | ---allow-unauthenticated \ |
69 | | ---memory 1Gi \ |
70 | | ---max-instances 1 \ |
71 | | ---set-env-vars="GOOGLE_CLOUD_PROJECT=$GCLOUD_PROJECT,GOOGLE_CLOUD_LOCATION=$GCLOUD_LOCATION,GOOGLE_GENAI_USE_VERTEXAI=$GCLOUD_GENAI_USE_VERTEXAI,GOOGLE_API_KEY=$GOOGLE_API_KEY" |
72 | | - |
| 48 | +docker build -t agent-z-transcribe-podcast . |
| 49 | +docker run -p 8080:8080 -e PORT=8080 agent-z-transcribe-podcast |
73 | 50 | ``` |
74 | 51 |
|
| 52 | +## 🚀 Deployment |
75 | 53 |
|
76 | | -## ✨Contribute |
77 | | -
|
78 | | -Anyone can contribute to this project. For the moment, please add your question or purpose something in [a new issue](https://github.com/zenika-open-source/opensource-statistics/issues). |
| 54 | +To deploy on Cloud Run: |
79 | 55 |
|
| 56 | +1. Authenticate on GCP: |
| 57 | + ```sh |
| 58 | + gcloud auth login |
| 59 | + ``` |
| 60 | + |
| 61 | +2. Configure settings by exporting variables: |
| 62 | + ```sh |
| 63 | + export GOOGLE_CLOUD_PROJECT=<your project> |
| 64 | + export GOOGLE_CLOUD_LOCATION=<location like europe-west1> |
| 65 | + export GOOGLE_GENAI_USE_VERTEXAI=<true if you deploy on Google Cloud, else false> |
| 66 | + export GOOGLE_API_KEY=<your GOOGLE API KEY> |
| 67 | + ``` |
| 68 | +
|
| 69 | +3. Deploy using `gcloud`: |
| 70 | + ```sh |
| 71 | + gcloud run deploy agent-z-transcribe-podcast \ |
| 72 | + --source . \ |
| 73 | + --region $GOOGLE_CLOUD_LOCATION \ |
| 74 | + --project $GOOGLE_CLOUD_PROJECT \ |
| 75 | + --allow-unauthenticated \ |
| 76 | + --memory 1Gi \ |
| 77 | + --max-instances 1 \ |
| 78 | + --set-env-vars="GOOGLE_CLOUD_PROJECT=$GOOGLE_CLOUD_PROJECT,GOOGLE_CLOUD_LOCATION=$GOOGLE_CLOUD_LOCATION,GOOGLE_GENAI_USE_VERTEXAI=$GOOGLE_GENAI_USE_VERTEXAI,GOOGLE_API_KEY=$GOOGLE_API_KEY" |
| 79 | + ``` |
| 80 | +
|
| 81 | +## ✨ Contribute |
| 82 | +
|
| 83 | +Anyone can contribute to this project. For the moment, please add your question or purpose something in [a new issue](https://github.com/zenika-open-source/agent-Z-transcribe-podcast/issues). |
80 | 84 |
|
81 | 85 | ## 🙏 Contributors |
82 | 86 |
|
|
0 commit comments