WordWeaver is a comprehensive text utility application built as a serverless function on AWS Lambda using Python and Django. It offers a suite of powerful text processing tools including multilingual translation, sentiment analysis, and text summarization. Leveraging the deep-translator
, TextBlob
, and Langchain
libraries, the application provides accurate and efficient results. The project is deployed as a Docker container on AWS ECR and integrated with API Gateway for seamless interaction.
This repository serves as the foundation for the application, building upon the core functionalities of the original Multi-language-Translator
project (https://github.com/rajendraprasath307/Multi-language-Translator). It combines these core features with advanced text analysis capabilities and a user-friendly interface.
Multi-Language Translator
- deep-translator: Python library for translating text in multiple languages, replacing the deprecated googletrans library.
Sentimental Analysis
- TextBlob: Python library for sentiment analysis, providing polarity and subjectivity scores for input text.
Text Summarization
- Langchain: A framework to build LLM pipelines with language models and integrate them into the application.
- Groq Inference Engine: Used for powering the Llama-3.1-8B LLM variant, enabling the functionality to perform high quality text summarization.
- Llama-3.1 (8B): A high-performance open-source Large Language Model for text summarization.
Web Application Development
- Django: Leveraged the Django framework for building the core web application and managing different components.
- HTML, CSS, JavaScript: For front-end development to enhance the user interface and provide easy navigation across applications.
Application Deployment
- Docker: Containerization tool used for packaging the application with all dependencies for deployment.
- Mangum: A Python library used for adapting the Django ASGI application for AWS Lambda.
- AWS Elastic Container Registry (ECR): AWS's native container registry service for storing and managing Docker images.
- AWS Lambda: AWS serverless compute service for deploying and running the Dockerized Django application and configuring settings for timeout, memory allocation, and CORS to ensure optimal performance.
Clone the project
git clone https://github.com/rauhanahmed/WordWeaver
Go to the project directory
cd WordWeaver
Install dependencies
pip install -r requirements.txt
Start the server (Any of the two approaches)
-
# Start the Django development server (will run on post 8000) python manage.py runserver
-
# Start the Uvicorn server (will run on post 7000) python main.py runserver
After performing the above steps, open any browser, and hit the localhost at the correct port.