Skip to content

Middleware

FastAPI

FastAPI is used as the main API backend due to its speed and easy-to-use features. It offers high performance and asynchronous capabilities to adeptly handle document processing requests.

RabbitMQ

RabbitMQ is a message broker that will allow us to have traceability through our pipelines as it uses acknowledgements to conclude whether a task has been completed or not.

Celery

Celery facilitates efficient task processing by offloading resource-intensive operations to enhance overall system responsiveness. It supports distributed task queues, aligning well with the need for parallelized processing.

Redis

Redis, an in-memory data store, is used for performance optimization through caching, particularly for frequently accessed data like recurring queries.

PostgreSQL

PostgreSQL, chosen for its reliability, acts as a secure repository for user information, document metadata, and extracted entities, addressing our imperative security concerns.