Este proyecto utiliza modelos de inteligencia artificial de última generación para crear un tutor de inglés interactivo. Combina las capacidades de Seamless Communication de Meta AI para la traducción y síntesis de voz, con la potencia de LangChain y los modelos de lenguaje generativos (LLMs) de Ollama o Google AI (como Gemini) para crear una experiencia de aprendizaje conversacional.
Los usuarios pueden practicar su inglés hablando o escribiendo, recibiendo respuestas en audio (tanto en inglés como en español) y texto.
- Traducción de voz a texto: Convierte la voz del usuario (en español o inglés) a texto utilizando el modelo SeamlessM4Tv2 de Meta AI.
- Interacción con LLM: Utiliza LangChain para gestionar la conversación y un LLM (Ollama o Gemini de Google AI) como "cerebro" del tutor, proporcionando respuestas educativas y contextuales.
- Generación de audio: Convierte las respuestas de texto del LLM a audio en inglés y español utilizando SeamlessM4Tv2.
- Interfaz gráfica amigable: Desarrollado con Gradio para facilitar la interacción del usuario.
- Memoria conversacional: Recuerda las últimas interacciones para mantener un contexto en la conversación.
- Facilidad de uso: Con una interfaz intuitiva que puede ser usada por cualquier persona.
Este proyecto utiliza las siguientes herramientas de Google:
- Gemma2 Un modelo de AI Open Source que se ejecuta en local, para mi caso uso Gemma 2 de 9B parametros
- Ollama: para ejecutar modelos de lenguaje generativo, si bien no es una herramienta de google, lo uso para ejecutar modelos como Gemma 2 en local
- Google AI (Gemini): Un potente modelo de lenguaje generativo utilizado como el LLM principal para la interacción conversacional (opcional, se puede usar Ollama).
- Google Colab: (Opcional) Entorno de Jupyter Notebooks en la nube que facilita la experimentación y el desarrollo con acceso a GPUs.
Para usar Gemini, necesitas una API key de Google AI Studio. Puedes obtenerla aquí: Google AI Studio.
Gemma lo puedes encontrar en Huggingface o en Ollama
- Python 3.9 o superior
- pip (gestor de paquetes de Python)
- Una cuenta de GitHub (para clonar el repositorio)
- (Opcional) Una API key de Google AI Studio si quieres usar Gemini, de no ser asi usar Gemma2
-
Clona el repositorio:
git clone https://github.com/alarcon7a/english-teacher-ai.git cd english-teacher-ai
-
Crea un entorno virtual (recomendado):
python3 -m venv .venv source .venv/bin/activate # En Windows: .venv\\Scripts\\activate
-
Instala las dependencias:
pip install -r requirements.txt
Si vas a usar Gemini, exporta tu API key como una variable de entorno:
export GOOGLE_API_KEY="TU_API_KEY_AQUÍ"
O si estas en Colab podrias hacerlo asi:
from google.colab import userdata
import os
GOOGLE_API_KEY = userdata.get('GOOGLE_API_KEY')
os.environ['GOOGLE_API_KEY'] = GOOGLE_API_KEY
- Ejecuta Gemma con Ollama
ollama run gemma2
- Ejecuta la aplicación:
python teacher.py
Esto iniciará la interfaz de Gradio en tu navegador.
- Podrias tambien ejecutar el notebook English_teacher_with_gemini.ipynb paso a paso como guia para el uso de Gemini como tutor de ingles.
Haz clic en el botón de grabación o sube un archivo de audio en español o inglés.
El tutor transcribirá tu voz a texto, procesará la entrada con el LLM y generará una respuesta.
Escucharás la respuesta en audio (español e inglés) y verás la transcripción en la interfaz.
¡Las contribuciones son bienvenidas! Si quieres mejorar este proyecto, por favor sigue estos pasos:
- Haz un fork del repositorio.
- Crea una nueva rama con tu feature o bugfix: git checkout -b feature/mi-nueva-feature
- Realiza tus cambios y haz commit: git commit -m "Añadir mi nueva feature"
- Haz push a tu rama: git push origin feature/mi-nueva-feature
- Abre un Pull Request en GitHub.