/intellectia

Intellectia - Your Guardian Against Misleading AI-Generated Content

Primary LanguageTypeScriptMIT LicenseMIT

If you're excited about LLM, embedding, LangChain, AI, and ML, this repository is your gateway to a world of possibilities. Welcome aboard! 🚀🤖📚

Intellectia

Your Guardian Against Misleading AI-Generated Content.

At Intellectia, we're on a mission to eliminate misinformation and AI-generated deception. Our vigilant system detects and removes misleading articles, thanks to the dedicated efforts of our user community. With human reviews ensuring accuracy, we're your trusted platform for truthful, transparent, and reliable content. Join us in the fight against misinformation!

"Welcome, valued contributors! 🌟 Whether you're a seasoned expert or new to the field, there's a place for everyone to make a meaningful impact here. Your unique perspective and skills are highly appreciated, and together, we can achieve great things. Let's collaborate, learn, and build something extraordinary. 🚀👏"

🔗 Useful Links:

Intellectia Client Development

Intellectia Client Development focuses on enhancing the client-side features of the application. The table below provides development status:

Page Name Features Status
Authentication/LoginPage Email, Password, Google Login ✔️ Functional
Authentication/SignUpPage Email, Password, Google SignUp ✔️ Functional
Dashboard/ChooseTopics Dashboard/ChooseTopics is a page that empowers users to personalize their dashboard experience by selecting their preferred topics and interests, ensuring they receive relevant content and updates. ✔️ Functional

Do we use AI?

Yes, we do utilize AI technology within our platform. We employ Large Language Models (LLMs) to enable our users to engage in conversations with Intellectia and seek answers to their questions. It's important to note that our AI system retrieves responses solely from our carefully curated database and knowledge base. These resources are comprised of trusted articles written by human experts and reviewed by human editors. We have a strict policy in place to exclude any content generated by AI algorithms.

The rationale behind this policy is to address concerns related to potential misinformation or inaccuracies that can arise from AI-generated content. LLMs, including those from OpenAI, have been known to generate persuasive yet factually incorrect information, which can lead to misunderstandings or inaccuracies. By relying exclusively on human-reviewed and curated content, we aim to ensure the highest level of accuracy and reliability in the information provided to our users.

Think of "Intellectia" as a vast library of knowledge that users can engage with through conversational interactions. We achieve this through the use of LLM technology, although it's important to clarify that we don't utilize OpenAI models specifically. Instead, we are considering the adoption of the "https://mistral.ai/news/announcing-mistral-7b/" technology, which appears to be a promising choice for our platform. This decision aligns with our commitment to delivering accurate and trustworthy information to our users while leveraging advanced AI tools to enhance their experience.

Intellectia's Content Verification Process: Keeping It Reliable

To maintain accuracy in the articles you find on Intellectia, we take a special approach. See, it's really tough for computers to spot if a piece of writing was done by a smart AI like chatGPT or a human 🤖🧑. So, we rely on real people to check.

Here's how it works: When someone wants to share an article on Intellectia, we don't just post it right away. Instead, we send it to a group of reviewers 👩‍⚖️👨‍⚖️. These are users who are pretty smart in certain topics 🧠. They pick at least three areas they're good at and review articles related to those topics. For an article to go live, it needs the thumbs-up from at least half of these reviewers 👍👍.

But here's the cool part: These reviewers are chosen carefully 🕵️‍♀️🕵️. We look at their past work and what they know to make sure they're the right folks for the job 🔍. So, anyone on Intellectia can be both a reviewer and a writer 📝👩‍⚖️, making our community strong and dependable. 💪

Why Become a Reviewer? 🧐'

Ever wondered why someone would want to become a reviewer on Intellectia? 🤔

Well, here's the deal: Once a user becomes a reviewer for articles in a specific topic, Intellectia acknowledges their expertise. We do this by giving their profile a distinct appearance and a special, exclusive badge 🏅, signaling to the community that this person is an expert in the field they review articles in. Reviewers stand out among regular users on our platform, making them easily recognizable.

But that's not all! We keep track of every interaction with the articles, including the ones reviewed by our esteemed reviewers. This means that all the articles reviewed by a reviewer are proudly displayed on their profile, showcasing their contributions.

In addition to this, we go the extra mile by featuring our reviewers across various topics in the GitHub readme section. This exposure not only boosts their reputation but also opens up opportunities for high-paying jobs.

Becoming a reviewer on Intellectia is not just about contributing; it's about standing out, showcasing your expertise, and accessing exciting opportunities! 🚀

Setup

Project Setup Instructions

  1. Clone the Repository:

    git clone git@github.com:prasenjeet-symon/intellectia.git
    
  2. Database Configuration:

    Method 1 (Local Setup)

    • Ensure you have XAMPP installed and running.

    • Create a MySQL database for your project in XAMPP. Note down the database name, username, and password.

    • Copy the .env.example file to a new file named .env in the packages/server directory.

    • Open the .env file and replace the placeholders with your MySQL database connection details

    Method 2 (Using Docker)

    • Ensure you have Docker, Docker Compose, and Docker Desktop setup installed

    • Create .env file in the root directory using the template from .env.example file

    • Start docker deamon using the below mentioned command. This command will steup mysql at port 3306 and a basic admin gui at localhost:8080

    docker-compose up -d
    • (Optional) For spinning only mysql server run
    docker-compose up -d  db
  3. Server Setup

    • Navigate to server folder

      cd packages/server
    • Install packages

      npm install
    • Run prisma migrate

      npx prisma migrate dev
    • Start the server

      npm start
  4. Client Setup

    • Navigate to client folder

      cd packages/client
    • Install packages

      npm install
    • Start the server

      npm dev
  5. Environment setup

    • There is a env.example file available in the corresponding folder. Create a .env file and copy environmnet variables from .env.example file

By following these setup instructions, you'll have your Express project located at 'packages/server' connected to a MySQL database using XAMPP, with database migration capabilities using Prisma, and environment variables properly configured. Make sure to adapt the configuration and environment variables to your specific project requirements.