Skip to content

Syrius AI - A clean code and architecture project designed to host knowledge sources in PDF format on AWS S3, leveraging RAG (Retrieval-Augmented Generation) for efficient source searching.

Notifications You must be signed in to change notification settings

Romain-Portanguen/syrius_ai

Repository files navigation

project-logo

SYRIUS_AI

Enhancing AI Interactions with Seamless File Processing and Intelligent Retrieval.

MIT License last-commit repo-top-language repo-language-count

Developed with the software and tools below.

JavaScript Prettier Jest Axios ESLint
Lodash TypeScript tsnode Nx JSON


Table of Contents

📍 Overview

The syrius_ai project is designed to enable files to be uploaded and to perform RAG (Retrieval-Augmented Generation) on these files in response to a question posed by the user. By integrating advanced AI models such as OpenAI, Anthropic and Mistral, the platform guarantees relevant and transparent contextual interactions. It supports file processing, text integration and vector storage, drawing on robust solutions such as AWS and Pinecone. Thanks to its modular architecture, syrius_ai offers reliable and scalable functionality for document processing, prompt generation and interaction with third-party services, while ensuring secure and efficient integration.


🧩 Features

Feature Description
⚙️ Architecture The project uses a modular architecture with Nx for managing build, serve, and test configurations, enhancing efficiency and scalability.
🔩 Code Quality The codebase adheres to modern JavaScript standards with TypeScript, using Prettier and ESLint for consistent style and quality.
🔌 Integrations Integrates with NestJS, Langchain, and AWS SDK, among others, to provide a robust backend and AI capabilities.
🧩 Modularity Highly modular, leveraging Nx to manage multiple packages and configurations, facilitating reusability and maintainability.
🧪 Testing Utilizes Jest with Nx Jest preset for testing, ensuring efficient and consistent testing practices across the project.
⚡️ Performance Performance is optimized through efficient use of TypeScript and modular architecture, though specific benchmarks are not detailed.
🛡️ Security Uses NestJS which provides built-in security features like guards and interceptors.
📦 Dependencies Key dependencies include NestJS, Langchain, AWS SDK, and various Nx plugins, supporting a wide range of functionalities.
🚀 Scalability Designed for scalability with Nx and NestJS, allowing for efficient handling of increased load and traffic.

🗂️ Repository Structure

└── syrius_ai/
    ├── README.md
    ├── apps
    │   └── api
    ├── eslint.config.js
    ├── jest.config.ts
    ├── jest.preset.js
    ├── nx.json
    ├── package-lock.json
    ├── package.json
    └── tsconfig.base.json

🚀 Getting Started

System Requirements:

  • TypeScript: version ~5.5.2

⚙️ Installation

From source

  1. Clone the syrius_ai repository:
git clone https://github.com/Romain-Portanguen/syrius_ai
  1. Change to the project directory:
cd syrius_ai
  1. Install the dependencies:
npm install

🤖 Usage

From source

Run syrius_ai using the command below:

nx serve api

🧪 Tests

Run the test suite using the command below:

nx test api

🤝 Contributing

Contributions are welcome! Here are several ways you can contribute:

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.

  2. Clone Locally: Clone the forked repository to your local machine using a git client.

    git clone https://github.com/Romain-Portanguen/syrius_ai
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.

    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.

  5. Commit Your Changes: Commit with a clear message describing your updates.

    git commit -m 'Implemented new feature x.'
  6. Push to github: Push the changes to your forked repository.

    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.

  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!

Contributor Graph


🎗 License

This project is protected under the MIT License. For more details, refer to the LICENSE file.


About

Syrius AI - A clean code and architecture project designed to host knowledge sources in PDF format on AWS S3, leveraging RAG (Retrieval-Augmented Generation) for efficient source searching.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published