From ccadc8d2146e50702c14c7ea286bf0263e28f890 Mon Sep 17 00:00:00 2001 From: johnIT56 Date: Sun, 23 Feb 2025 00:10:20 +0900 Subject: [PATCH] Adding Ollama with tts and use it as translator --- .../day5_ollama_tts-translator.ipynb | 126 ++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 week2/community-contributions/day5_ollama_tts-translator.ipynb diff --git a/week2/community-contributions/day5_ollama_tts-translator.ipynb b/week2/community-contributions/day5_ollama_tts-translator.ipynb new file mode 100644 index 0000000..2463633 --- /dev/null +++ b/week2/community-contributions/day5_ollama_tts-translator.ipynb @@ -0,0 +1,126 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "a8941402-99ee-4c3e-b852-056df3a77a5d", + "metadata": {}, + "outputs": [], + "source": [ + "import pyttsx3\n", + "import ollama\n", + "import gradio as gr\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2cbdc0ca-648a-40cc-ad30-ad8bf6126aed", + "metadata": {}, + "outputs": [], + "source": [ + "def talker(response):\n", + " # Initialize text-to-speech engine\n", + " engine = pyttsx3.init()\n", + " engine.say(response)\n", + " engine.runAndWait()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6a5b4f3c-2c6f-46db-bc66-386b30e2e707", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = \"you are a helpful assistance\"\n", + "MODEL_LLAMA = \"llama3.2\"\n", + "\n", + "\n", + "def chat(message, history):\n", + " messages = [{\"role\": \"system\", \"content\": system_message}] + history + [{\"role\": \"user\", \"content\": message}]\n", + "\n", + " response= ollama.chat(model=MODEL_LLAMA, messages=messages)\n", + "\n", + " response = response['message']['content']\n", + "\n", + " # Once the full response is generated, speak it out loud\n", + "\n", + " talker(response)\n", + "\n", + " return response\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cfdb3be4-a9cb-4564-87d8-4645ce0177b5", + "metadata": {}, + "outputs": [], + "source": [ + "gr.ChatInterface(fn=chat, type=\"messages\").launch(share=True)" + ] + }, + { + "cell_type": "markdown", + "id": "38155307-6975-49ef-b65f-7d7b1dd82d32", + "metadata": {}, + "source": [ + "# Real life use as a Translator" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fa6e4b93-27e3-4455-80ca-eb7e39d13afc", + "metadata": {}, + "outputs": [], + "source": [ + "system_message = \"you are helpful translator from english to korean, on the first prompt introduce your self \\\n", + "that you are dealing with korean translation and you would like to translate some english words or sentences to korean\" \n", + "system_message += \"dont do other tasks apart from translation\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c0ed5e28-b294-40fc-a97c-11fe264a4d1d", + "metadata": {}, + "outputs": [], + "source": [ + "gr.ChatInterface(fn=chat, type=\"messages\").launch(share=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c63a02ae-cdc1-45a8-8f51-784d8d5417e2", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}