SiteGenie.

SiteGenie: Your AI-powered website companion. Enhance interactions effortlessly with our innovative chatbot. Trained on your content, it seamlessly integrates, delivering instant responses to boost engagement.

MIT License

Stars
1

About SiteGenie

SiteGenie is an innovative AI chatbot meticulously designed to enhance website interactions. Trained on user-provided links, this advanced chatbot seamlessly integrates with websites, delivering instant responses and boosting user engagement. It expedites interactions by eliminating time-consuming searches, significantly improving operational efficiency.

Features

  • Tailored Data Training: Our chatbot receives specialized training from carefully selected web pages, nurturing a vast knowledge base for GPT model proficiency.
  • Enhanced Knowledge Base: Ingest website content into a searchable knowledge base to ensure a robust reference source for chatbot training, enabling accurate and contextually relevant responses.
  • Instantaneous Responses: The chatbot promptly addresses user queries regarding website content, eliminating the need for human intervention and significantly reducing user wait time.
  • Effortless Integration: Easily embed the chatbot directly onto any website using HTML iframe embedding, with advanced customization options and theming to enrich user satisfaction and engagement.
  • Responsive and Efficient Design: Implemented as an end-to-end solution that works on multiple screen sizes with the help of Tailwind CSS, enabling users to efficiently accomplish tasks without navigating multiple pages.

SiteGenie aims to deliver an intuitive and effective solution for crafting, personalizing, and launching AI-driven chatbots, ultimately elevating user engagement and satisfaction across various domains and industries.

Link to install Screenshot of landing page

💡 How SiteGenie works ?

sequenceDiagram
    participant User
    participant System
    participant Langchain
    participant OpenAI
    participant Supabase
    participant AWS Lambda

    User ->> System: Request website URL
    System ->> Langchain: Perform recursive data scraping
    Langchain ->> System: Return scraped content
    System ->> System: Clean content (Stemming, Lemmatization)
    System ->> System: Split content into documents
    System ->> OpenAI: Create vector embeddings
    OpenAI ->> System: Return vector embeddings
    System ->> Supabase: Add vector embeddings to vector store
    Supabase ->> System: Confirm addition
    System ->> User: System ready to process prompts

    User ->> System: Send prompt with context
    System ->> OpenAI: Generate response using vector store context
    OpenAI ->> System: Return generated response
    System ->> User: Return response

    Note over System, AWS Lambda: Deployment

    System ->> AWS Lambda: Deploy backend on AWS Lambda
    AWS Lambda ->> System: Serverless deployment allows on-demand execution

    Note over System: Environments

    System ->> AWS Lambda: Deploy code to staging
    System ->> AWS Lambda: Deploy tested code to production

    Note over System: Integration Testing

    System ->> System: Run integration tests for API
    System ->> System: Automate deployment script
    System ->> System: Clone repo, run tests locally, deploy to staging, run tests again

    Note over System: GitHub Actions

    System ->> GitHub Actions: Run integration tests on every commit
    GitHub Actions ->> System: Ensure code quality and functionality

    Note over System: Repositories

    System ->> System: Maintain frontend and backend repositories
    System ->> System: Secure main branch with branch protection rules
    System ->> System: Require pull request and code review for merges to main branch

This sequence diagram depicts the interaction flow within a system handling website data processing and AI-driven response generation. Initially, the system scrapes data recursively from the requested URL, cleans it, and generates vector embeddings using OpenAI. These embeddings are stored in Supabase. Upon receiving prompts from users, the system leverages these stored embeddings to generate contextually relevant responses via OpenAI. Deployment on AWS Lambda allows for scalable serverless execution, with staging and production environments ensuring smooth integration through automated testing and GitHub Actions, maintaining code quality and security with stringent repository management practices like branch protection and code reviews for merges.

Contributing

Built Over NextJS Version

  • Clone the repository

    git clone https://github.com/your_username_/Project-Name.git
    
  • Install dependencies

    npm install
    

Setting-up .env file

Your .env file should include

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<YOUR_CLERK_KEY>
CLERK_SECRET_KEY=<YOUR_CLERK_SECRET_KEY>
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/user-dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/user-dashboard

🤝 Contributing to Library

[!NOTE] Contributing Guidelines

Open a terminal and run the following git command:

git clone "COPIED_URL"

e.g : git clone https://github.com/vedanti-u/db.ai.git

npm install
cd sitegenie

Now create a branch using the git checkout command:

git checkout -b new-branch-name

e.g : git checkout -b llm-prompt-support

Name your branch according to the feature you are working on :

e.g : you want to work on creating more llm prompt support, name your branch like llm-prompt-support

(follow this naming convention i.e using "-" in between)

Create a .env File with format

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<YOUR_CLERK_KEY>
CLERK_SECRET_KEY=<YOUR_CLERK_SECRET_KEY>
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/user-dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/user-dashboard

$ git add filename.md

where filename is the file you have modified or created

If you are looking to add all the files you have modified in a particular directory, you can stage them all with the following command: git add .

Or, alternatively, you can type git add -all for all new files to be staged.

e.g : $ git push --set-upstream origin optimise-binding

your branch will be merged on code review


https://github.com/vedanti-u/SiteGenie

:octocat: Statistics

Badges
Extracted from project README
Open Source Love svg2 Open Source? Yes! GitHub contributors GitHub commits GitHub issues GitHub issues-closed GitHub pull-requests closed GitHub pull-requests closed GitHub pull-requests merged GitHub license