<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vaishnavi Unnikrishnan</title>
    <description>The latest articles on DEV Community by Vaishnavi Unnikrishnan (@vaishnavi_unnikrishnan).</description>
    <link>https://dev.to/vaishnavi_unnikrishnan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2736324%2F1e088656-86ac-4cce-90b2-e025588c87a4.jpeg</url>
      <title>DEV Community: Vaishnavi Unnikrishnan</title>
      <link>https://dev.to/vaishnavi_unnikrishnan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vaishnavi_unnikrishnan"/>
    <language>en</language>
    <item>
      <title>LimeLight-An Autonomous Assistant for Enterprise Community Platforms Using RAG, LangChain, and LLaMA 3</title>
      <dc:creator>Vaishnavi Unnikrishnan</dc:creator>
      <pubDate>Sat, 03 May 2025 14:48:45 +0000</pubDate>
      <link>https://dev.to/vaishnavi_unnikrishnan/limelight-an-autonomous-assistant-for-enterprise-community-platforms-using-rag-langchain-and-5cdn</link>
      <guid>https://dev.to/vaishnavi_unnikrishnan/limelight-an-autonomous-assistant-for-enterprise-community-platforms-using-rag-langchain-and-5cdn</guid>
      <description>&lt;p&gt;In today’s dynamic online communities, users frequently seek clarity on enterprise technologies, frameworks, and tools. However, many relevant posts go unanswered or receive inconsistent feedback. To address this gap, &lt;strong&gt;LimeLight&lt;/strong&gt; was developed—an intelligent assistant designed to autonomously detect relevant discussions, retrieve contextual data, and generate high-quality, sentiment-aware responses in Niche communities like Reddit and Slack.&lt;/p&gt;

&lt;p&gt;This project demonstrates how Retrieval-Augmented Generation (RAG), modern language models, and sentiment analysis can be combined to enrich community interactions in a scalable and meaningful way.&lt;/p&gt;




&lt;h2&gt;
  
  
  Project Overview
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;LimeLight&lt;/strong&gt; is a modular, AI-driven system integrated into a community platform. It automatically identifies posts related to enterprise technologies, retrieves relevant information from a vector database, and responds with well-formed, context-sensitive comments. It also considers the sentiment of user posts to adjust tone and engagement accordingly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Intelligent Content Detection
&lt;/h3&gt;

&lt;p&gt;LimeLight identifies relevant content using a hybrid method of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keyword filtering (e.g., references to enterprise platforms, services, or tools)&lt;/li&gt;
&lt;li&gt;Semantic similarity via sentence embeddings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This ensures the assistant only engages with content aligned to its knowledge domain.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. RAG-Based Contextual Responses
&lt;/h3&gt;

&lt;p&gt;When a relevant post is detected:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Associated data is retrieved from a &lt;strong&gt;ChromaDB&lt;/strong&gt; vector store&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;LangChain&lt;/strong&gt; RAG pipeline feeds this context into &lt;strong&gt;LLaMA 3&lt;/strong&gt;, running locally via &lt;strong&gt;Ollama&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A response is generated and inserted into the conversation thread&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Sentiment-Aware Interaction
&lt;/h3&gt;

&lt;p&gt;LimeLight evaluates the sentiment of the original post (positive, neutral, or negative) and adjusts its tone accordingly. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A negative sentiment triggers more empathetic or supportive language&lt;/li&gt;
&lt;li&gt;Neutral or factual posts receive concise and informative replies&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Automated Post Engagement
&lt;/h3&gt;

&lt;p&gt;On post creation, the system performs the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Checks if the content is within scope&lt;/li&gt;
&lt;li&gt;If relevant, triggers &lt;code&gt;generate_response()&lt;/code&gt; in &lt;code&gt;bot.py&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Inserts a comment into the database, visible in the discussion thread&lt;/li&gt;
&lt;li&gt;Tags the response as authored by "LimeLight" with a timestamp&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Technology Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;FastAPI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;HTML, CSS, Jinja2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;td&gt;MongoDB (accessed via Motor)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LLM&lt;/td&gt;
&lt;td&gt;LLaMA 3 (served via Ollama)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RAG Pipeline&lt;/td&gt;
&lt;td&gt;LangChain + HuggingFace&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vector Store&lt;/td&gt;
&lt;td&gt;ChromaDB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Embeddings&lt;/td&gt;
&lt;td&gt;Sentence Transformers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ML Extension&lt;/td&gt;
&lt;td&gt;Sentiment Analysis (Planned)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dashboard&lt;/td&gt;
&lt;td&gt;HighCharts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Installation &amp;amp; Usage
&lt;/h2&gt;

&lt;p&gt;Clone the repository:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/VaishnaviUnnikrishnan/NicheBot.git
&lt;span class="nb"&gt;cd &lt;/span&gt;NicheBot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Set up the virtual environment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; venv venv
&lt;span class="nb"&gt;source &lt;/span&gt;venv/bin/activate       &lt;span class="c"&gt;# For Mac/Linux&lt;/span&gt;
venv&lt;span class="se"&gt;\S&lt;/span&gt;cripts&lt;span class="se"&gt;\a&lt;/span&gt;ctivate          &lt;span class="c"&gt;# For Windows&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install dependencies:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start the application:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uvicorn main:app &lt;span class="nt"&gt;--reload&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ensure LLaMA 3 is active using Ollama:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama run llama3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Visit the platform at &lt;a href="http://localhost:8000" rel="noopener noreferrer"&gt;http://localhost:8000&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  System Architecture
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Post
   │
   ├──&amp;gt; Relevance Detection (keywords + embeddings)
   │
   ├──&amp;gt; ChromaDB Vector Retrieval
   │
   ├──&amp;gt; LangChain RAG Pipeline
   │
   ├──&amp;gt; LLaMA 3 Generates Response
   │
   ├──&amp;gt; Sentiment Analysis
   │
   └──&amp;gt; Auto-Comment as "LimeLight"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The architecture is modular, with separation of concerns across:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main.py&lt;/code&gt; – routing and server logic&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;response.py&lt;/code&gt; – relevance and sentiment processing&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;bot.py&lt;/code&gt; – RAG pipeline and language generation&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Future Enhancements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Replace keyword detection with an LLM-based classifier for improved topic relevance&lt;/li&gt;
&lt;li&gt;Integrate advanced sentiment classification using transformer-based models&lt;/li&gt;
&lt;li&gt;Expand to support other domains beyond enterprise tech&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Sneakpeak
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6377s9pu9atwz1dh15e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6377s9pu9atwz1dh15e.png" alt="Interactions in Community" width="800" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdh7xr9b246b3tuhyxc8i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdh7xr9b246b3tuhyxc8i.png" alt="Limelight's response" width="800" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8fpnre6txx8f74pzk7hi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8fpnre6txx8f74pzk7hi.png" alt="User Feedback on the responses given by Limelight" width="800" height="358"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Contact
&lt;/h2&gt;

&lt;p&gt;For queries, feedback, or collaboration opportunities, contact:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Email:&lt;/strong&gt; &lt;a href="mailto:v.ukrishnan8@gmail.com"&gt;v.ukrishnan8@gmail.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rag</category>
      <category>chromadb</category>
      <category>langchain</category>
      <category>fastapi</category>
    </item>
  </channel>
</rss>
