<?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: HK Verma</title>
    <description>The latest articles on DEV Community by HK Verma (@hkverma).</description>
    <link>https://dev.to/hkverma</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%2F2088582%2Fc1279c38-4630-4ad4-b465-cd46d8f925f8.jpg</url>
      <title>DEV Community: HK Verma</title>
      <link>https://dev.to/hkverma</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hkverma"/>
    <language>en</language>
    <item>
      <title>Reasoning Email Access Logs with LitenAI</title>
      <dc:creator>HK Verma</dc:creator>
      <pubDate>Thu, 12 Jun 2025 00:02:20 +0000</pubDate>
      <link>https://dev.to/hkverma/reasoning-email-access-logs-with-litenai-25hb</link>
      <guid>https://dev.to/hkverma/reasoning-email-access-logs-with-litenai-25hb</guid>
      <description>&lt;p&gt;Traditional log analytics tools fall short when diagnosing complex, cross-system issues due to limited context and lack of reasoning. LitenAI addresses these limitations with AI agents that reason, correlate, and explore operational data through a natural interface.&lt;br&gt;&lt;br&gt;
LitenAI agents analyze application logs, uncover key failure patterns, and recommend effective mitigation. By combining log data with domain knowledge, LitenAI enables proactive, insight-driven debugging at scale.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Why Traditional Log Analytics Tools Fall Short&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Conventional log analytics tools require users to know what to look for and how to ask for it. They rely on predefined dashboards, rigid filter rules, and manual queries—often in proprietary or complex query languages. Users must understand how different logs relate across systems and services, and even then, meaningful insights often require escalation to domain experts for deeper root cause analysis.&lt;/p&gt;

&lt;p&gt;These tools struggle when diagnosing complex, cross-system issues:&lt;/p&gt;

&lt;p&gt;Conventional log analytics tools require users to know what to look for and how to ask for it. They depend on predefined dashboards, rigid filter rules, and manual queries—often in proprietary or complex query languages. Users must understand how different logs relate across systems and services, and even then, meaningful insights often require escalation to domain experts for deeper root cause analysis. These tools fall short when diagnosing complex, cross-system issues.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Contextual Blindness: They don’t connect logs to broader operational data like source code, past tickets, engineering knowledge, or documentation.&lt;/li&gt;
&lt;li&gt;Limited Reasoning: They aggregate and visualize—but cannot explain why a problem is happening or how to fix it.&lt;/li&gt;
&lt;li&gt;Manual Overhead: Analysts must piece together evidence across tools, often writing complex queries or scripts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While AI tools have become powerful enough to automate some of this manual engineering work, traditional AI tools still fall short. Generic AI tools offer broad, detached explanations that lack grounding in real customer environments—often resulting in vague or misleading answers.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How LitenAI Breaks Through These Barriers&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;At LitenAI, we’ve developed customized AI models and agents specifically for log analytics. These agents work directly on application log data to automate analysis, reasoning, and resolution—efficiently and at scale.&lt;br&gt;&lt;br&gt;
Customers ingest logs, tickets, metrics, documentation, and metadata into a secure AI database. From there, the LitenAI Agentic AI platform initiates multi-step reasoning flows that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generate precise SQL queries based on user intent and schema&lt;/li&gt;
&lt;li&gt;Correlate data across different sources&lt;/li&gt;
&lt;li&gt;Deliver root cause insights, not just metrics&lt;/li&gt;
&lt;li&gt;Recommend mitigation backed by prior resolutions and real-time evidence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of searching dashboards or wrestling with log syntax, teams engage through conversation. LitenAI reasons, investigates, and explains—adapting to each environment with every prompt. This conversational interface and deep contextual awareness enable LitenAI to deliver precise, targeted answers tailored to each customer’s operational context.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;LitenAI Database and Agents&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;LitenAI provides an AI-powered database designed to store logs, metrics, and documents at petabyte scale. Built on a lake house architecture using object storage, it offers dramatically lower ingestion and storage costs compared to traditional log systems. LitenAI integrates seamlessly with existing data sources through streams or database connections.&lt;br&gt;&lt;br&gt;
Users can create and ingest data into these databases programmatically or via a graphical interface. AI databases and agents can be selected through the UI or code, and the agents —available as MCP Servers— can also operate within an AI agentic web.&lt;br&gt;&lt;br&gt;
For the analysis below, select the AI database named emailaccess, which includes two ingested logs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;webmail: captures webmail UI requests&lt;/li&gt;
&lt;li&gt;mailbox: records mailbox-level operations&lt;/li&gt;
&lt;/ul&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%2Fakhu1zdg2prbvyrf2b6p.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%2Fakhu1zdg2prbvyrf2b6p.png" width="391" height="206"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the UI side bar, see below and ensure that the right database and agents are selected for the tutorials shown below.&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%2Fksuz2038gcahj52nro6a.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%2Fksuz2038gcahj52nro6a.png" width="478" height="692"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Root Cause Analysis in Email Access Logs&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A customer had been experiencing frequent issues where users were unable to access their mailbox. As discussed earlier, the underlying system includes two primary logs – webmail and mailbox&lt;/p&gt;

&lt;p&gt;Traditional log tools couldn’t connect the dots between these layers or explain why mailbox access was failing. With LitenAI, the customer was able to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prompt LitenAI to investigate why mailbox access errors were occurring so often.&lt;/li&gt;
&lt;li&gt;Receive not just raw query results, but a structured root cause analysis and recommended mitigation, backed by log evidence.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Root Cause Agent: A single agent to root cause and mitigation
&lt;/h4&gt;

&lt;p&gt;Choose the &lt;strong&gt;rootcause&lt;/strong&gt; Agent from the AI agent list and prompt it to root cause.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Users are frequently unable to access their mailboxes. The webmail table contains webmail request logs, and the mailbox table contains mailbox operation logs. joined by requestid field. Investigate and identify the root cause by analyzing failed access patterns, status codes, and latency across both tables. Provide a clear explanation and recommended resolution based on the findings.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;LitenAI starts by asking follow-up questions to clarify your prompt.&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%2Fdbfu74kjxr6y0ao2pryz.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%2Fdbfu74kjxr6y0ao2pryz.png" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the prompt is clarified, LitenAI initiates the root cause analysis. Its reasoning models evaluate the context and the system calls involved. Based on this, it dynamically selects the appropriate tools—such as reasoning, search, and analysis agents—to identify and mitigate the issue.&lt;/p&gt;

&lt;p&gt;In this case, the agent begins by creating a plan. It retrieves the relevant log data and analyzes it to determine the most probable cause.&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%2F2uip0qvuya74hx02okmq.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%2F2uip0qvuya74hx02okmq.png" width="800" height="768"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It then retrieves customer knowledge using the RAG agent and continues deeper analysis. This process iterates until enough data is gathered to identify a probable cause.&lt;/p&gt;

&lt;p&gt;The most likely causes are then synthesized, and a list of possible root causes is generated.&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%2Fpud9intkh63z1aeag35e.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%2Fpud9intkh63z1aeag35e.png" width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using all available data, LitenAI determines the most probable cause and suggests appropriate mitigation.&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%2F1vhckhzm8tyfju27uwtl.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%2F1vhckhzm8tyfju27uwtl.png" width="800" height="689"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Reason and Explorer Agents: Drill down using natural chats
&lt;/h3&gt;

&lt;p&gt;You can search, analyze, visualize using natural chats. We are showing a few prompt playbooks that the user can use to investigate.&lt;/p&gt;

&lt;h4&gt;
  
  
  LitenAI Prompt Playbook: Investigating Email Access Issues
&lt;/h4&gt;

&lt;p&gt;Before using these prompts, ensure the emailaccess database is selected, and your webmail and mailbox tables are available in the lake. Make sure that &lt;strong&gt;reason&lt;/strong&gt; is selected as Liten AI Agent.&lt;/p&gt;

&lt;h5&gt;
  
  
  🔍 &lt;strong&gt;Analyze mailbox 5xx Errors&lt;/strong&gt;
&lt;/h5&gt;

&lt;blockquote&gt;
&lt;p&gt;Investigate 5xx status code errors in the mailbox table using reason agent. Identify the most frequent failure scenario and explain the likely cause. Provide a resolution based on historical patterns.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;✅ Use this when: Customers report frequent mailbox failures or timeouts.&lt;/p&gt;

&lt;p&gt;In its reasoning, it first makes a plan.&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%2Fy4s2ifmkdiwd0j63kah4.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%2Fy4s2ifmkdiwd0j63kah4.png" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It then executes the query and gets the data.&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%2Fyh30spymsn5magoqogf6.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%2Fyh30spymsn5magoqogf6.png" width="800" height="312"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It then analyzes the produces the likely issues.&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%2F0rqex3ib0ri8zgl4dkdo.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%2F0rqex3ib0ri8zgl4dkdo.png" width="800" height="283"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  🧠 &lt;strong&gt;Debug Latency In webmail service&lt;/strong&gt;
&lt;/h5&gt;

&lt;blockquote&gt;
&lt;p&gt;Reason out the high-latency cases from mailbox table. Pick top 100 worst latency records. Focus on status codes and error patterns.Identify the status code most correlated with latency spikes and explain the cause.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;✅ Use this when: Customers report frequent mailbox failures or timeouts.&lt;/p&gt;

&lt;p&gt;In this case, after planning it first generates a sql query joining the table and getting the 100 worst latency values.&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%2F3niapuvmu58mr98j94qf.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%2F3niapuvmu58mr98j94qf.png" width="800" height="591"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This code is then executed to produce the result. An analysis gives likely causes.&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%2Fdy8p00te0ahjgdo4ij9t.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%2Fdy8p00te0ahjgdo4ij9t.png" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  📊 &lt;strong&gt;Interactive Failure Visualization&lt;/strong&gt;
&lt;/h5&gt;

&lt;blockquote&gt;
&lt;p&gt;Use SQL to select all the rows with failure status from webmail table.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;✅ Use this when: Customers report frequent mailbox failures.&lt;/p&gt;

&lt;p&gt;LitenAI will generate the SQL code. Once executed, the results will be stored in an in-memory dataset for further analysis.&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%2Fdd5axlbvl84fsimvt3yp.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%2Fdd5axlbvl84fsimvt3yp.png" width="800" height="208"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To generate an interactive visualization, prompt LitenAI to plot the data.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Plot the data.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Select appropriate values for X-axis, Y-axis, grouping, and filtering to enable interactive exploration.&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%2Fd4mk36p53fvnh78ar677.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%2Fd4mk36p53fvnh78ar677.png" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  📊 &lt;strong&gt;Visualize Access Failures and Trends&lt;/strong&gt;
&lt;/h5&gt;

&lt;blockquote&gt;
&lt;p&gt;Create a bar chart of access attempts from client IPs from mailbox table. For each client IP, in the bar, show successful and failed attempts in different color.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;✅ Use this when: Customers report frequent mailbox failures or timeouts.&lt;/p&gt;

&lt;p&gt;It first generates python code.&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%2Ftybro6acourmf57l5ske.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%2Ftybro6acourmf57l5ske.png" width="800" height="611"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once executed it will show a plot like the following.&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%2Ftkpmrzf39286dsel5vij.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%2Ftkpmrzf39286dsel5vij.png" width="800" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Research Agent: Obtain hidden insights from your data
&lt;/h4&gt;

&lt;p&gt;Sometimes, you may want to take a broader view of an issue to uncover underlying insights. For example, in the case below, we analyze access failures to identify deeper patterns.&lt;/p&gt;

&lt;h5&gt;
  
  
  Meet the LitenAI Research Agent
&lt;/h5&gt;

&lt;p&gt;LitenAI doesn’t stop at surface-level queries. The Research Agent conducts deeper, autonomous investigations—correlating logs, documents, tickets, and past incidents to uncover non-obvious insights. It builds a contextual understanding of system behavior over time, surfacing patterns and anomalies that typical tools miss.&lt;/p&gt;

&lt;p&gt;This agent excels at exploratory analysis, incident retrospectives, and strategic debugging, drawing on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Historical behavior patterns&lt;/li&gt;
&lt;li&gt;Semantic understanding of documentation and prior tickets&lt;/li&gt;
&lt;li&gt;Cross-source correlation using Smart Lake queries&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  How the Research Agent Operates Behind the Scenes
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Planner Agent: Constructs a multi-step research plan to explore the problem space.&lt;/li&gt;
&lt;li&gt;Search Agent: Identifies relevant logs, incidents, or knowledge assets.&lt;/li&gt;
&lt;li&gt;Code Generator Agent: Writes optimized queries to probe hypotheses.&lt;/li&gt;
&lt;li&gt;Execution Agent: Runs large-scale analysis over structured and unstructured data.&lt;/li&gt;
&lt;li&gt;Analysis &amp;amp; Visualization Agents: Summarize results, identify anomalies, and present visual insights.&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  Example LitenAI Research on email access data
&lt;/h5&gt;

&lt;p&gt;Before using these prompts, ensure the emailaccess database is selected, and your webmail and mailbox tables are available in the lake. Make sure that &lt;strong&gt;research&lt;/strong&gt; is selected as Liten AI Agent.&lt;/p&gt;

&lt;p&gt;Initiate the research by providing a prompt.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Perform a research analysis on mailbox access issues using the webmail and mailbox tables. Explore historical trends, status code patterns, and latency anomalies. Correlate failed access attempts by requestid and user over time. Use prior tickets or documentation if available to identify recurring issues or past resolutions. Summarize findings, highlight key insights, and recommend further areas of investigation if needed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;LitenAI begins by interpreting and clarifying the prompt.&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%2Fiufz9mys6j9c4p9kaygl.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%2Fiufz9mys6j9c4p9kaygl.png" width="800" height="553"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the prompt is clarified, LitenAI begins the research process. Its research models evaluate the context and system activity, then dynamically invoke the appropriate tools to gather deeper insights.&lt;/p&gt;

&lt;p&gt;The agent leverages its capabilities—such as reasoning, search, and analysis—to conduct an in-depth investigation.&lt;/p&gt;

&lt;p&gt;In this case, it starts by retrieving relevant data, generating the necessary query code, and performing targeted analysis.&lt;/p&gt;

&lt;p&gt;This is how a typical query can look like.&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%2Fxi4nll7gok3urk75pv0q.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%2Fxi4nll7gok3urk75pv0q.png" width="800" height="694"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It then executes the query to retrieve the relevant data.&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%2Fyx61ozmwsfv8n6nwb549.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%2Fyx61ozmwsfv8n6nwb549.png" width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It then analyzes the data to extract further insights.&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%2Fvvbks45sykwwxwk2p4tb.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%2Fvvbks45sykwwxwk2p4tb.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LitenAI performs several cycles of agentic reasoning to generate a list of insights. It then aggregates all relevant data and presents a comprehensive view of the issue.&lt;/p&gt;

&lt;p&gt;In this case, the system surfaces key insights on status code errors, latency trends, failed access attempts, and recurring issues.&lt;/p&gt;

&lt;p&gt;See below for a sample report.&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%2Feot7fyaae0afqrby7q85.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%2Feot7fyaae0afqrby7q85.png" width="800" height="608"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Additional insights are listed below.&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%2Fgv8ynbhqvw5pmol6l2wr.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%2Fgv8ynbhqvw5pmol6l2wr.png" width="800" height="612"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Research Agent is highly effective at combining general knowledge with customer data and context to generate meaningful insights. It helps identify potential issues early, enabling proactive resolution.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧪 Try It Yourself
&lt;/h2&gt;

&lt;p&gt;You can drop your prompts, …and LitenAI agents will do the rest.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://172.200.249.57:8219/" rel="noopener noreferrer"&gt;Try it now, click here!&lt;/a&gt;&lt;/p&gt;

</description>
      <category>litenai</category>
    </item>
    <item>
      <title>Extracting Insights from Server Logs Using the LitenAI Research Agent</title>
      <dc:creator>HK Verma</dc:creator>
      <pubDate>Sun, 01 Jun 2025 04:08:03 +0000</pubDate>
      <link>https://dev.to/hkverma/extracting-insights-from-server-logs-using-the-litenai-research-agent-4ng4</link>
      <guid>https://dev.to/hkverma/extracting-insights-from-server-logs-using-the-litenai-research-agent-4ng4</guid>
      <description>&lt;p&gt;In modern cloud environments, valuable insights are often buried beneath noisy logs and fragmented metrics. At LitenAI, we’re building AI-powered research agents that autonomously explore operational data, uncover meaningful patterns, and surface hidden trends—without human intervention.&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%2Fx9y2jinkmg1u6drzgnwt.jpg" 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%2Fx9y2jinkmg1u6drzgnwt.jpg" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this post, we demonstrate how a LitenAI research agent analyzed status code anomalies in server logs, revealing deeper insights behind recurring errors. The goal: to identify patterns that drive smarter operational decisions and continuous system improvement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Defining the Research Prompt
&lt;/h2&gt;

&lt;p&gt;The investigation began with a simple prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Research the status code errors in the imapserverlog table. Focus on identifying internal server errors, analyze why they occurred, and explore how they can be fixed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To enhance the depth of analysis, we expanded the scope to include grouping by error categories—4xx (client-side errors) and 5xx (server-side errors)—and requested a summary of key insights derived from each group.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Can you add more context and ask it to group by the type of errors – due to 4xx code, 5xx code etc. Also in the report, ask it to summarize the learning and insights using error groups.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Finally, once you confirm the research will start.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Yes it looks good.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The LitenAI chat can look like the following.&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%2F6xgkkk6n8zsr5de6yi67.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%2F6xgkkk6n8zsr5de6yi67.png" width="800" height="677"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the research begins, LitenAI displays the selected topic. Below is the resulting output.&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%2Fgbbwurkco5wphj7dm6zo.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%2Fgbbwurkco5wphj7dm6zo.png" width="800" height="119"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Research Workflow
&lt;/h2&gt;

&lt;p&gt;The LitenAI Root Cause Agent autonomously selects the optimal workflow to investigate an issue. It sequences tools like log search, structured analysis, causal reasoning, and customer knowledge to uncover insights.&lt;/p&gt;

&lt;p&gt;These are workflow steps.&lt;/p&gt;

&lt;h4&gt;
  
  
  Parse the research context
&lt;/h4&gt;

&lt;p&gt;Starts from a user prompt or automated trigger to define the scope—log sources, error types, and time frame.&lt;/p&gt;

&lt;h4&gt;
  
  
  Retrieve relevant data
&lt;/h4&gt;

&lt;p&gt;Generates and executes queries to extract relevant logs and errors.&lt;/p&gt;

&lt;h4&gt;
  
  
  Analyze and reason
&lt;/h4&gt;

&lt;p&gt;Combines internal knowledge and external data to analyze patterns and derive insights.&lt;/p&gt;

&lt;h4&gt;
  
  
  Surface insights
&lt;/h4&gt;

&lt;p&gt;Uses domain expertise and a tuned LitenAI model to uncover insights and anomalies.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Summarize Findings&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Produces a structured report highlighting key insights and potential actions.&lt;/p&gt;

&lt;h4&gt;
  
  
  LitenAI Research Outputs
&lt;/h4&gt;

&lt;p&gt;In this case it first gets the relevant data using SQL query.&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%2F2vtmm5wmtt4g9c3gnil1.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%2F2vtmm5wmtt4g9c3gnil1.png" width="652" height="313"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the data that after executing the query.&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%2Fwedofhbxzm2o19q8tgim.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%2Fwedofhbxzm2o19q8tgim.png" width="646" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It can then analyze the data for insights.&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%2Fjg9n2ak6t3qnljuonvb2.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%2Fjg9n2ak6t3qnljuonvb2.png" width="800" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the end, it first produces some insights.&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%2F3po3xfi0qx4220pgrtjk.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%2F3po3xfi0qx4220pgrtjk.png" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It then produces a research output summarizing the research and insights.&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%2Ffgsonlityvj12iqf7y8g.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%2Ffgsonlityvj12iqf7y8g.png" width="800" height="721"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How LitenAI Research Agent Helps&lt;/p&gt;

&lt;p&gt;Unlike manual debugging workflows, LitenAI’s Reasoning Agent automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connects to structured logs (SQL, data lakes, or APIs)&lt;/li&gt;
&lt;li&gt;Identifies patterns across multiple error classes&lt;/li&gt;
&lt;li&gt;Synthesizes explanations grounded in system context&lt;/li&gt;
&lt;li&gt;Presents insights with recommended next actions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All through a natural, conversational interface—empowering engineers to quickly understand system behavior and insights effectively.&lt;/p&gt;

&lt;h3&gt;
  
  
  Drill Down on the Research
&lt;/h3&gt;

&lt;p&gt;LitenAI also offers agents like Data Explorer and Reasoning, allowing users to drill into data with full research context. These tools support deeper investigation and understanding of underlying insights.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧪 Try It Yourself
&lt;/h2&gt;

&lt;p&gt;You can drop prompts like –&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Research status code spikes in service logs from last month, and explain why it keeps happening&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;…and LitenAI agents will do the rest.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://172.200.249.57:8219/" rel="noopener noreferrer"&gt;Try it now, click here!&lt;/a&gt;&lt;/p&gt;

</description>
      <category>litenai</category>
    </item>
    <item>
      <title>Diagnosing Service Incidents with LitenAI Root Cause Agent</title>
      <dc:creator>HK Verma</dc:creator>
      <pubDate>Sun, 01 Jun 2025 04:07:45 +0000</pubDate>
      <link>https://dev.to/hkverma/diagnosing-service-incidents-with-litenai-root-cause-agent-2nc0</link>
      <guid>https://dev.to/hkverma/diagnosing-service-incidents-with-litenai-root-cause-agent-2nc0</guid>
      <description>&lt;p&gt;In modern cloud-native systems, subtle error patterns hidden in log data can silently erode reliability—eventually leading to major outages. At LitenAI, we’ve built an intelligent Root Cause Agent that automates the analysis of such issues using natural language prompts, structured data reasoning, and contextual understanding. Powered by our MCP framework, the agent can integrate with tools like Jira, automatically triggering investigations as incidents are logged—analyzing the issue in real time, identifying the root cause, and suggesting or executing resolutions.&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%2F4ip1odjde2628u1zpevf.jpg" 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%2F4ip1odjde2628u1zpevf.jpg" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this post, we demonstrate how the Root Cause Agent diagnoses a recurring service failure by analyzing status code data from system logs.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Incident
&lt;/h2&gt;

&lt;p&gt;The analysis can be triggered either by a user prompt or automatically when a new incident is logged. In this example, the issue was manually submitted by a user:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;I have seen a bunch of errors in&lt;/em&gt; imapserverlog_. This is causing the service to fail once in a while with server error messages. Could you root cause?_&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The agent responds like this –&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%2Ftqwgj7ip1vf7lsu4bv9o.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%2Ftqwgj7ip1vf7lsu4bv9o.png" width="800" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can modify the root cause prompt till it captures the whole issue.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Previously 4xx and 5xx type of errors have been seen. Please include them. Look for other errors as well.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Once the user confirms the prompt, the agent proceeds with the root cause analysis.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Yes, this looks good.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The prompt generation can look like this.&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%2Ft7lr19fokx5uv2d4qfsd.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%2Ft7lr19fokx5uv2d4qfsd.png" width="800" height="535"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One the research prompt is completed, LitenAI will start the research.&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%2Faly0awrowch5cenx7fda.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%2Faly0awrowch5cenx7fda.png" width="800" height="296"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Root Cause Workflow
&lt;/h2&gt;

&lt;p&gt;The LitenAI Root Cause Agent autonomously determines the optimal workflow to investigate incidents. It intelligently selects and sequences tools such as log search, structured analysis, causal reasoning, and ranking algorithms to pinpoint the most likely root cause.&lt;/p&gt;

&lt;p&gt;The agent executes the following steps:&lt;/p&gt;

&lt;h4&gt;
  
  
  Parse the incident context
&lt;/h4&gt;

&lt;p&gt;The agent begins by processing either a user prompt or an automated trigger, identifying the relevant scope—such as log sources, error categories, and the timeframe.&lt;/p&gt;

&lt;h4&gt;
  
  
  Retrieve relevant data
&lt;/h4&gt;

&lt;p&gt;It then generates a relevant query to extract error and other log data.&lt;/p&gt;

&lt;h4&gt;
  
  
  Analyze and reason
&lt;/h4&gt;

&lt;p&gt;It evaluates the impact and frequency of each error, correlating them with system behavior and historical incident patterns to identify potential root causes.&lt;/p&gt;

&lt;h4&gt;
  
  
  Rank potential causes
&lt;/h4&gt;

&lt;p&gt;It uses domain knowledge and a tuned LitenAI model to identify the most probable root cause based on the available evidence.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Compiled a structured report&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;It summarizes the findings, including error distributions, root causes, and recommended remediation steps.&lt;/p&gt;

&lt;h4&gt;
  
  
  LitenAI Root Cause Outputs
&lt;/h4&gt;

&lt;p&gt;In this case it first gets the relevant data using SQL query.&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%2Fwy7xmt4b9x4uspvs5wcl.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%2Fwy7xmt4b9x4uspvs5wcl.png" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then it gets the data and performs multiple analysis and reasoning steps.&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%2Flcorhyl2s2mretyrg2oh.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%2Flcorhyl2s2mretyrg2oh.png" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After a few minutes of analysis, the agent produces a report outlining potential causes. In this case, the IMAP service is experiencing a high volume of internal server errors, which require remediation. A follow-up root cause session can be initiated to explore resolution strategies. One possible mitigation is to roll back the recent changes.&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%2Fjdmjs3bcjj3p6o3gkla6.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%2Fjdmjs3bcjj3p6o3gkla6.png" width="800" height="652"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How LitenAI Root Cause Agent Helps
&lt;/h2&gt;

&lt;p&gt;Unlike manual debugging workflows, LitenAI Root Cause Agent automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connects to structured logs (SQL, data lakes, or APIs)&lt;/li&gt;
&lt;li&gt;Identifies patterns across multiple error classes&lt;/li&gt;
&lt;li&gt;Synthesizes explanations grounded in system context&lt;/li&gt;
&lt;li&gt;Presents insights with recommended next actions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All through a natural, conversational interface—empowering SREs and developers to jump straight to solutions.&lt;/p&gt;

&lt;h4&gt;
  
  
  Drill down on the root cause
&lt;/h4&gt;

&lt;p&gt;LitenAI also offers agents like Data Explorer and Reasoning, which allow users to drill down into the data with full context from the incident. These tools can be used to further investigate and understand the underlying issue.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧪 Try It Yourself
&lt;/h2&gt;

&lt;p&gt;You can drop prompts like –&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Investigate status code spikes in service logs from last month, and explain the root causes.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;…and LitenAI agents will do the rest.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://172.200.249.57:8219/" rel="noopener noreferrer"&gt;Try it now, click here.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>litenai</category>
    </item>
    <item>
      <title>Building a simple Research Agent with MCP server on HTTP Streaming</title>
      <dc:creator>HK Verma</dc:creator>
      <pubDate>Wed, 21 May 2025 01:35:20 +0000</pubDate>
      <link>https://dev.to/hkverma/building-a-simple-research-agent-with-mcp-server-on-http-streaming-4a8n</link>
      <guid>https://dev.to/hkverma/building-a-simple-research-agent-with-mcp-server-on-http-streaming-4a8n</guid>
      <description>&lt;p&gt;Among the many emerging capabilities of large language models (LLMs), one of the most powerful is their ability to translate natural language into structured actions via API calls. This concept is formalized as “tools” in the OpenAI API. Model Context Protocol (MCP) builds on this idea by decoupling tools into standalone servers and clients. The result is a dynamic, agentic architecture where components can be composed, discovered, and orchestrated in real-time.&lt;/p&gt;

&lt;p&gt;At &lt;a href="https://www.litenai.com" rel="noopener noreferrer"&gt;&lt;strong&gt;LitenAI&lt;/strong&gt;&lt;/a&gt;, we’re developing AI agents for data engineering, and we’ve adopted MCP to power them in production environments. In this post, I’ll walk you through how we used MCP to build a &lt;strong&gt;research agent&lt;/strong&gt; that answers any question by recursively refining a prompt, conducting live web searches, and summarizing the results.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agent Overview
&lt;/h3&gt;

&lt;p&gt;The research agent is composed of three parts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Prompt Refiner&lt;/strong&gt; : Refines the user’s input into a clearer research question.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Searcher&lt;/strong&gt; : Conducts iterative web searches using DuckDuckGo with AI reflections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Summarizer&lt;/strong&gt; : Synthesizes the search results into a professional report.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here’s how the architecture works:&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%2Fsqw65ihj5w5reu7d89mg.jpg" 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%2Fsqw65ihj5w5reu7d89mg.jpg" width="721" height="150"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step-by-Step Code Walkthrough
&lt;/h3&gt;

&lt;p&gt;Let’s dive into the core components of the agent.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Environment Setup and Imports
&lt;/h3&gt;

&lt;p&gt;We begin with the usual imports and initialization:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from openai import OpenAI
from duckduckgo_search import DDGS
from mcp.server.streamable_http_manager import StreamableHTTPSessionManager
…
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We also prepare a base message list to keep track of the conversation for refining prompts.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Prompt Refinement Function
&lt;/h3&gt;

&lt;p&gt;This function uses OpenAI tools API to refine a vague user input into a sharp research prompt.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def refine_prompt(messages, prompt: str) -&amp;gt; tuple[bool, str]:
  tools = [{
    'type': 'function',
    'function': {
    "name": "refined_prompt_tool",
  …
  }
}]
messages.append({
  "role": "user",
  "content": f"Refine this topic into a clear research question: {prompt}"
})
completion = client.chat.completions.create(
  model="gpt-4",
  messages=messages,
  tools=tools
)
…
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The function returns a tuple: the refined prompt and whether the user accepted it. MCP Server interacts with User till the prompt is refined.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Recursive Web Search
&lt;/h3&gt;

&lt;p&gt;Once a refined prompt is ready, we search using DuckDuckGo API. We then ask the LLM to reflect on the result, and give a better phrasing based on it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def search_and_reflect(search_prompt, research_messages, max_results: int = 2) -&amp;gt; str: ddgs = DDGS() results = ddgs.text(search_prompt, max_results=max_results) for i, result in enumerate(results): research_messages.append({ "role": "assistant", "content": f"[{result['title']}]({result['href']}): {result['body']}" }) research_messages.append({ "role": "user", "content": "Can you suggest a more focused follow-up search?" }) completion = client.chat.completions.create( model="gpt-4", messages=research_messages ) return completion.choices[0].message.content
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We repeat this step iteration times (default 2–3) to improve coverage.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Summary Generation
&lt;/h3&gt;

&lt;p&gt;Finally, we prompt the LLM to synthesize the entire research thread:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;research_messages.append({ "role": "user", "content": "Write a concise and professional research summary from the context."})final_response = client.chat.completions.create( model="gpt-4", messages=research_messages)summary_text = final_response.choices[0].message.content
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The summary becomes the output of our tool.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wrapping it All in a MCP Server
&lt;/h3&gt;

&lt;p&gt;To make this a deployable tool, we wrap the whole logic inside an MCP server with HTTP streaming support:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@app.call_tool()
async def call_tool(name: str, arguments: dict) -&amp;gt; list[types.TextContent]:
…
  return [types.TextContent(type="text", text=summary_text)]
  ...
  session_manager = StreamableHTTPSessionManager(
    app=app,
    event_store=None,
    json_response=json_response,
    stateless=True,
  )
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run it with bash from the github directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;uv run mcp-research-agent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This can be tested using an MCP Inspector. See here for a test output image.&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%2F06pt27b8gqta3vaserua.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%2F06pt27b8gqta3vaserua.png" width="800" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why This Matters
&lt;/h3&gt;

&lt;p&gt;Deploying MCP agents like this is non-trivial. Production workloads demand HTTP(S), secure data handling, and multi-node stateless operation. MCP now supports &lt;strong&gt;HTTP streaming&lt;/strong&gt; , making it easier to deploy agents using standard protocols. This unlocks the possibility of &lt;strong&gt;plug-and-play agents&lt;/strong&gt; that can interact with enterprise systems behind firewalls.&lt;/p&gt;

&lt;p&gt;At &lt;strong&gt;LitenAI&lt;/strong&gt; , we’re building AI agents to automate reasoning on enterprise data. This research agent is just one example of how MCP and LLMs can power complex, multi-step workflows in production environments.&lt;/p&gt;

&lt;h3&gt;
  
  
  Try it Yourself
&lt;/h3&gt;

&lt;p&gt;Want to explore the code? It’s available here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/hkverma/research-mcp-agent" rel="noopener noreferrer"&gt;https://github.com/hkverma/research-mcp-agent&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We at &lt;a href="https://www.litenai.com" rel="noopener noreferrer"&gt;LitenAI&lt;/a&gt; love to hear your feedback or collaborate on use cases. Reach out!&lt;/p&gt;

</description>
      <category>litenai</category>
      <category>ai</category>
      <category>genai</category>
      <category>mcp</category>
    </item>
    <item>
      <title>Tutorial: Reason and analyze log data with LitenAI Agent</title>
      <dc:creator>HK Verma</dc:creator>
      <pubDate>Fri, 28 Mar 2025 08:00:03 +0000</pubDate>
      <link>https://dev.to/hkverma/tutorial-reason-and-analyze-log-data-with-litenai-agent-dlc</link>
      <guid>https://dev.to/hkverma/tutorial-reason-and-analyze-log-data-with-litenai-agent-dlc</guid>
      <description>&lt;p&gt;Our customers struggle to obtain effective technical answers using generic LLM and AU tools, as the responses were too broad and failed to address their specific issues. With our solution, we helped them ingest their &lt;a href="https://litenai.com/?p=586" rel="noopener noreferrer"&gt;data into LitenAI&lt;/a&gt;. Leveraging &lt;a href="https://litenai.com/?p=584" rel="noopener noreferrer"&gt;LitenAI AI Agentic flow&lt;/a&gt;, customers can now resolve issues in a targeted and efficient manner. LitenAI learns from existing knowledge to deliver precise, tailored answers using all data that meet their unique needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://litenai.com/getting-started/" rel="noopener noreferrer"&gt;LitenAI is available now&lt;/a&gt; on demand. Please &lt;a href="https://litenai.com/#contact" rel="noopener noreferrer"&gt;contact us&lt;/a&gt; to try it out now.&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%2F1z0l3oqyrnxoe335wqt4.jpg" 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%2F1z0l3oqyrnxoe335wqt4.jpg" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here are some general steps to follow for resolving issues. Please note that this is a guideline script. LitenAI is a fully conversational agent and will respond to your prompts. While prompting, you may need to clarify the task that needs to be performed. In this Agentic flow, LitenAI accesses the necessary agents to perform the tasks and completes them. The system includes a combination of AI, a big data semantic engine, and a structural SQL query engine. For the following prompts, select logreason smart lake.&lt;/p&gt;

&lt;p&gt;See a summary sheet below. Scroll down to see the prompts and expected response. Scroll further down below for lake tab settings.&lt;/p&gt;

&lt;h4&gt;
  
  
  Reasoning using LitenAI Agents
&lt;/h4&gt;

&lt;p&gt;The Reasoning Agent is a top-level flow that plans and calls LitenAI agents to resolve customer questions. The LitenAI planner defines the flow, and each agent’s execution determines the next step until resolution.&lt;/p&gt;

&lt;p&gt;For example, we can ask it to resolve an internal status error like this.&lt;/p&gt;

&lt;p&gt;Reason out the internal status errors like 5xx in imapserverlog table. Analyze it for one most likely cause and give a resolution.&lt;/p&gt;

&lt;p&gt;LitenAI first generates a plan as shown below.&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%2F7oszilt6wj1gd25ztfku.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%2F7oszilt6wj1gd25ztfku.png" width="750" height="211"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The code generator agent creates accurate code by leveraging the smart lake and big data platform, which provide all necessary information for precision.&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%2Fvhdbuu696aoihuju0jax.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%2Fvhdbuu696aoihuju0jax.png" width="719" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The code is executed on the LitenAI big data platform for interactive responses. LitenAI enhances query performance with tensorized data storage and an accelerator library.&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%2Fooi3fju68kcswmxeokke.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%2Fooi3fju68kcswmxeokke.png" width="739" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, it performs an analysis to produce a final resolution.&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%2F668rbu31hqwtpmgz0o4t.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%2F668rbu31hqwtpmgz0o4t.png" width="722" height="184"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  LitenAI Agents
&lt;/h4&gt;

&lt;p&gt;LitenAI agents are activated based on user prompts, enabling users to analyze data and explore specific areas of interest effectively.&lt;/p&gt;

&lt;h5&gt;
  
  
  Search Agents
&lt;/h5&gt;

&lt;p&gt;We can first search through the open tickets and identify available engineers within the company using LitenAI’s search agents. See sample scripts below:&lt;/p&gt;

&lt;p&gt;Search for the open tickets from tickets table.&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%2Fhn5pycg4z4aunfpt4an0.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%2Fhn5pycg4z4aunfpt4an0.png" width="782" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is a critical open ticket that needs attention. If necessary, we can use semantic search to identify available engineers and determine if the ticket should be assigned to them.&lt;/p&gt;

&lt;p&gt;Can you search for an engineer with expertise to solve latency issues causing service disruptions from engineers table?&lt;/p&gt;

&lt;p&gt;The system provides a list of engineers. Customers can either reassign tasks or request assistance from an engineer. Below is a sample chat illustrating how customers can perform these tasks.&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%2Fcb4hq9ywv2hfb5ylz5pq.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%2Fcb4hq9ywv2hfb5ylz5pq.png" width="702" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Planning Agent
&lt;/h5&gt;

&lt;p&gt;An engineer can request a plan to identify the root cause of latency issues in the email service.&lt;/p&gt;

&lt;p&gt;Can you tell me how to root cause high latency values? Latency is measured by timestamp difference from imapserverlog to webaccesslog table. For now, provide high level direction without any code.&lt;/p&gt;

&lt;p&gt;An engineer can request a plan to identify the root cause of latency issues in the email service. LitenAI analyzes customer flow and service logs to provide insights. Below is a sample chat demonstrating how an engineer can retrieve relevant data by joining tables.&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%2Fwbngzyv0haq6o0suinti.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%2Fwbngzyv0haq6o0suinti.png" width="800" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Query and Execution Agents
&lt;/h5&gt;

&lt;p&gt;Give me a plan to debug latency. latency is measured as timestamp difference from imapserverlog to webaccesslog table. These tables are joined by requestid fields. Pick the field names provided in the prompts. In the SQL, keep all the fields of both the tables in the output with names prepended with table abbreviations. Show 500 highest latency values. Execute the generated SQL.&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%2Fahtbfk79nmgtutb2zf2n.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%2Fahtbfk79nmgtutb2zf2n.png" width="611" height="754"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After execution, the data can be reviewed. If needed you can confirm to execute the generated code like.&lt;/p&gt;

&lt;p&gt;Execute the generated SQL.&lt;/p&gt;

&lt;p&gt;This is executed on the big data cluster with accelerated Spark cluster. Sample dataset outputs are printed out as well.&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%2Fjf9ddeu9gtrxt23cscbl.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%2Fjf9ddeu9gtrxt23cscbl.png" width="800" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Visualization Agent
&lt;/h5&gt;

&lt;p&gt;Various plots can be created to visualize and interpret the information, which can also be shared if needed.&lt;/p&gt;

&lt;p&gt;Plot the data.&lt;/p&gt;

&lt;p&gt;The explorer plot can be seen below.&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%2Fxjopklt1auwe5dk5d5wv.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%2Fxjopklt1auwe5dk5d5wv.png" width="800" height="735"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Analyze Agents
&lt;/h5&gt;

&lt;p&gt;User can now ask for possible latency causes to understand if status codes could be an issue.&lt;/p&gt;

&lt;p&gt;Can you analyze the possible causes of high latency focusing on status codes?&lt;/p&gt;

&lt;p&gt;LitenAI reviews documents and data to identify potential causes.&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%2Fqkwnrmotjvtjxn1unqbl.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%2Fqkwnrmotjvtjxn1unqbl.png" width="800" height="686"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Analyze to select one status code primarily responsible for latency degradation. Provide a resolution.&lt;/p&gt;

&lt;p&gt;We can analyze specific causes to understand their impact on the service. By leveraging knowledge documents and historical data, LitenAI identifies the relevant code and suggests possible resolutions.&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%2F8glqnmf0ei4hpu9trhy4.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%2F8glqnmf0ei4hpu9trhy4.png" width="779" height="827"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;503 service not available is an issue here. LitenAI Engineer provides possible resolutions to the problem. Customers can chat with LitenAI Engineer to explore and drill down more into specific issues.&lt;/p&gt;

&lt;h4&gt;
  
  
  Smart Lake
&lt;/h4&gt;

&lt;p&gt;In the &lt;a href="https://litenai.com/?p=586" rel="noopener noreferrer"&gt;LitenAI Smart Lake&lt;/a&gt;, the customer ingested their knowledge documents and established connections to their required databases. All data is securely stored within the customer’s storage. Customers can ingest data using various methods, either programmatically from stored files or through streams for continuous ingestion. Additionally, data can be uploaded and managed through Lake Agents, either via chat or using the Lake GUI interface to populate the lake. If you are going through these prompts, make sure to select logreason data lake. Select lake tab and ensure that logreason lake is selected. See a screen shot below.&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%2F7suqxgdz7qizc252ollb.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%2F7suqxgdz7qizc252ollb.png" width="780" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We presented a sample session demonstrating how LitenAI can resolve customer issues. Our service is now available on the cloud. Please &lt;a href="https://litenai.com/getting-started/" rel="noopener noreferrer"&gt;contact us to get started&lt;/a&gt;, we value your feedback and look forward to helping resolve your challenges.&lt;/p&gt;

</description>
      <category>litenai</category>
      <category>debug</category>
      <category>loganalytics</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Tutorial: Running LitenAI locally using python package</title>
      <dc:creator>HK Verma</dc:creator>
      <pubDate>Wed, 26 Mar 2025 23:50:51 +0000</pubDate>
      <link>https://dev.to/hkverma/tutorial-running-litenai-locally-using-python-package-12en</link>
      <guid>https://dev.to/hkverma/tutorial-running-litenai-locally-using-python-package-12en</guid>
      <description>&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%2Ftti36ey8pzhficn44wmj.jpg" 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%2Ftti36ey8pzhficn44wmj.jpg" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Introduction&lt;/p&gt;

&lt;p&gt;&lt;a href="https://litenai.com/#contact" rel="noopener noreferrer"&gt;Contact us&lt;/a&gt; to get the latest python package.&lt;br&gt;&lt;br&gt;
All data is local and accessible only to the user. LitenAI does not collect any data from user.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prepare Your Environment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This Python package has been tested on Linux. For other operating systems, you can run it locally using &lt;a href="https://dev.to/hkverma/tutorial-running-litenai-locally-using-docker-image-5ani-temp-slug-9944707"&gt;LitenAI Docker image.&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure that Java version 17 is installed and in use. If not, do the following.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install openjdk-17-jre-headless
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Ensure python version is greater than 3.12&lt;/li&gt;
&lt;li&gt;Create a virtual environment for LitenAI under your preferred directory (in the command below replace /path/to/venvs with your desired install location)
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python3 -m venv /path/to/venvs/litenaisource /path/to/venvs/litenai/bin/activate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Install LitenAI package&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In all the following commands, replace  with the actual version provided by the installer.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extract the LitenAI package as given below; it should contain three items: a Python wheel file, a config file, and a lake directory.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tar -xvzf litenai-&amp;lt;version&amp;gt;.tgz
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Change to the extracted directory, then install the LitenAI package using the provided .whl file. This will install all necessary LitenAI packages and the executable.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd &amp;lt;litenai-version&amp;gt;pip install litenai-&amp;lt;version&amp;gt;-py3-none-any.whl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;To install AutoGluon for CPU-only usage, use the following command:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install autogluon.tabular --extra-index-url https://download.pytorch.org/whl/cpu
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Setup LitenAI Config files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;LitenAI is highly configurable. Before the first run, edit the litenai-config.yml file.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the LLM section, add your openai_api_key.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;llm:
# LLM API key to for API calls
openai_api_key: "&amp;lt;Insert your key here&amp;gt;"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;In the smartlake section of litenai-config.yml, replace /exact/path/to/lake with the local directory where the lake was extracted. All data will be in your local storage provided below.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;liten:
# Liten lake root location
smartlake:
lake_url: 'file:/exact/path/to/lake'
lakestore: 'file:/exact/path/to/lake/litenailakestore.json'
# log files path
_log_dir: "/exact/path/to/lake/logs"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Start the LitenAI local service&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Launch the service using the following command:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;litenchat.sh -c ./litenai-config.yml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Once started, the service is typically available on port 8210. The URL and port are also printed in the terminal. On the first run, it discovers all ingested tables, which may take a few minutes. Subsequent starts should be much faster.&lt;br&gt;&lt;br&gt;
Open a Chrome browser and navigate to &lt;a href="http://localhost:8210" rel="noopener noreferrer"&gt;http://localhost:8210&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:8210
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It will launch the chatbot. You can find the login IDs in the litenai-config.yml files for reference.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try out example chats&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The installation includes a pre-loaded Smart Lake database. Explore various chat examples in the &lt;strong&gt;&lt;a href="https://litenai.com/articles/" rel="noopener noreferrer"&gt;Articles&lt;/a&gt;&lt;/strong&gt; section. These are some of the sessions available for you to try it out.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://litenai.com/rethinking-technical-support-performance-debugging-with-ai-agent/" rel="noopener noreferrer"&gt;Tutorial: Reason and analyze log data with LitenAI Agent&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://dev.to/hkverma/tutorial-analyzing-network-packets-4d84-temp-slug-8541861"&gt;Analyzing network packets&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://dev.to/hkverma/tutorial-automating-machine-operations-and-support-13mp-temp-slug-4900593"&gt;Automating Machine Operations and Support&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://dev.to/hkverma/tutorial-litenai-agent-transforming-raw-data-into-reliable-table-46of-temp-slug-3123430"&gt;LitenAI Agent: Transform raw data into reliable table&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can ask anything about ingested data or anything else. You can also ingest your data and ask LitenAI about this data.&lt;br&gt;&lt;br&gt;
For any issues or inquiries, feel free to &lt;a href="https://litenai.com/#contact" rel="noopener noreferrer"&gt;contact us.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>litenai</category>
    </item>
    <item>
      <title>Tutorial: LitenAI Agent transforming raw data into reliable table</title>
      <dc:creator>HK Verma</dc:creator>
      <pubDate>Fri, 21 Mar 2025 18:41:54 +0000</pubDate>
      <link>https://dev.to/hkverma/tutorial-litenai-agent-transforming-raw-data-into-reliable-table-32c1</link>
      <guid>https://dev.to/hkverma/tutorial-litenai-agent-transforming-raw-data-into-reliable-table-32c1</guid>
      <description>&lt;p&gt;Our customers often spend significant time cleaning incoming raw data before it can be ingested into clean, structured tables. With LitenAI, these tasks can be performed simply by using natural language prompts. The agent reads the files, removes or modifies entries, and converts the data into the desired table structure or schema before writing it to a persistent table. This process reduces manual effort for engineers and empowers non-engineers to accomplish the same tasks effortlessly.&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%2Fsqq24u22cntmsnee19oi.jpg" 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%2Fsqq24u22cntmsnee19oi.jpg" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Previously, customers struggled to get precise answers from their AI chat tools — responses were too broad and failed to take context into account. In this solution, we ingest data into the &lt;a href="https://litenai.com/?p=586" rel="noopener noreferrer"&gt;LitenAI Smart Lake,&lt;/a&gt; and the &lt;a href="https://litenai.com/?p=584" rel="noopener noreferrer"&gt;LitenAI Agentic Flow&lt;/a&gt; completes the data processing based on customer requests.&lt;/p&gt;

&lt;p&gt;In this blog, we demonstrate how this works through a chat interface, but it can also be used programmatically in notebooks via the litenai package.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://litenai.com/getting-started/" rel="noopener noreferrer"&gt;LitenAI is available now&lt;/a&gt; on demand. Please &lt;a href="https://litenai.com/#contact" rel="noopener noreferrer"&gt;contact us&lt;/a&gt; to try it out now.&lt;/p&gt;

&lt;p&gt;In the smartlake, there are two tables one containing raw menu and another one cleaned up. The tables can be created when a file is ingested, or it can be created using LitenAI smart lake. Scroll down to see the lake details.&lt;/p&gt;

&lt;p&gt;Below are the general steps showing how raw data can be cleaned and loaded:&lt;/p&gt;

&lt;h4&gt;
  
  
  Data table structures
&lt;/h4&gt;

&lt;p&gt;We will start by reading the raw and JSON files into the Smart Lake. For this demonstration, I’ve created a new lake called menus, where all related tables and data will reside.&lt;/p&gt;

&lt;p&gt;All incoming files are ingested into a table called menuraw. The fields and data types for this table can be automatically inferred from the content, so there’s no need to define the schema in advance. However, if the schema is already known, the table can also be created beforehand using a schema JSON structure.&lt;/p&gt;

&lt;p&gt;You can describe and generate these tables using a simple natural language prompt.&lt;/p&gt;

&lt;p&gt;Describe menus.menuraw table&lt;/p&gt;

&lt;p&gt;Chat bot would show the menuraw table structure:&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%2Fviqti3lntle620rponcz.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%2Fviqti3lntle620rponcz.png" width="800" height="556"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All cleaned up data is added to the menu table. You can view the structure of the menu table by using a prompt like this:&lt;/p&gt;

&lt;p&gt;Describe menus.menu table&lt;/p&gt;

&lt;p&gt;The following describes the menu table. You can view its schema and details here.&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%2Fydo97jc0urw0w9gdqzjv.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%2Fydo97jc0urw0w9gdqzjv.png" width="800" height="556"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You’ll notice that the table structures differ, and some rows may contain incorrect information that needs to be cleaned.&lt;/p&gt;

&lt;p&gt;Demo files are included with the Smart Lake. See the smart lake section below for instructions if you want to upload menu files.&lt;/p&gt;

&lt;h4&gt;
  
  
  Cleaning and writing the new table
&lt;/h4&gt;

&lt;p&gt;You can review the menuraw table if needed. Use prompts like the ones below to explore its contents.&lt;/p&gt;

&lt;p&gt;Count the number of rows in menus.menuraw table.&lt;/p&gt;

&lt;p&gt;It will show the total rows outputs:&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%2F2q35zqcvzf8qmxlpiwe5.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%2F2q35zqcvzf8qmxlpiwe5.png" width="399" height="143"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also search for rows having negative or null values.&lt;/p&gt;

&lt;p&gt;Generate sql to select rows from menus.menuraw table any of its column having null entries or if price is negative. Execute the sql.&lt;/p&gt;

&lt;p&gt;This should generate the sql and execute it.&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%2F362wkl8hgtd8q457h3gf.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%2F362wkl8hgtd8q457h3gf.png" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can use a prompt to generate code for the specific cleanup you need. Be as precise as possible in your request — this helps generate accurate code. The code can also be executed directly from the same prompt.&lt;/p&gt;

&lt;p&gt;In this example, I’ll first generate the cleanup code and then run it.&lt;/p&gt;

&lt;p&gt;Create python code for table menus.menuraw dropping all rows having negative price value. Create a dataset dropping all the rows with NULL in any of the fields. In this dataset, rename chain field to restaurant. Also, add another field called location. For ‘Casa Mexicana’ and ‘Maharaja Center’ restaurant, location should be San Jose. For ‘Mandarin House’ and ‘Olive Garden’ the location should be San Francisco. Save the final output dataset into menus.menu table. Use dfsout name for the final output dataset.&lt;/p&gt;

&lt;p&gt;The generated code includes the available data and execution context. It is also validated to ensure accuracy. An example of the generated code is shown below.&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%2Fwpdlqgcd83zwlrujn8t4.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%2Fwpdlqgcd83zwlrujn8t4.png" width="800" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This code can now be executed.&lt;/p&gt;

&lt;p&gt;Execute the generated python code.&lt;/p&gt;

&lt;p&gt;It would execute, and the following output is displayed.&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%2Fj0b8z8qff8isla755rwo.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%2Fj0b8z8qff8isla755rwo.png" width="792" height="276"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can review the output data or visualize it to ensure everything looks correct. Below are a few example prompts and their outputs.&lt;/p&gt;

&lt;p&gt;Generate SQL to select 5 rows of menus.menu table. Execute the code.&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%2F9zs6u1noge6dgjo8dqzt.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%2F9zs6u1noge6dgjo8dqzt.png" width="800" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Count the number of rows in menus.menu table&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%2Fwp8wkc072sbmu805fg15.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%2Fwp8wkc072sbmu805fg15.png" width="232" height="145"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the output, you can see that 12 rows were dropped due to invalid data. The row count decreased from 80 in menuraw to 68 in menu. You can also verify that a valid location is now included in the table.&lt;/p&gt;

&lt;p&gt;Additionally, you can generate plots as needed to further inspect the data.&lt;/p&gt;

&lt;p&gt;Generate python to plot the number of menu items grouped by integer values of price from menus.menu table. Use a bar graph.&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%2Fvrkpzm4isx4aq410354y.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%2Fvrkpzm4isx4aq410354y.png" width="800" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Execute the code.&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%2F2qi3qln2hxd68ubv8mr5.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%2F2qi3qln2hxd68ubv8mr5.png" width="682" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Smart Lake
&lt;/h4&gt;

&lt;p&gt;In the &lt;a href="https://litenai.com/?p=586" rel="noopener noreferrer"&gt;LitenAI Smart Lake&lt;/a&gt;, the customer ingested their data and connected to their required databases. All data is securely stored within the customer’s own storage environment. Data can be ingested in multiple ways — either programmatically from stored files or through streaming for continuous ingestion. Additionally, data can be uploaded and managed using Lake Agents, either via chat or through the Lake GUI.&lt;/p&gt;

&lt;p&gt;If you are following along with these prompts, make sure to select the menus data lake. Go to the Lake tab and ensure that menus lake is selected. See the screenshot below for reference.&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%2Fm03d73hxu5bz2nr8mv4t.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%2Fm03d73hxu5bz2nr8mv4t.png" width="800" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can load files into the menuraw table. The demo files are loaded with the litenai demo. However, to load them, simply select a file from the menu and click the Ingest button as shown below.&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%2Fia5vai7h42ubk58g4u6d.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%2Fia5vai7h42ubk58g4u6d.png" width="800" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this example, we demonstrated how data can be cleaned and loaded into another table using simple prompts. With LitenAI, data engineering tasks that once required manual effort from engineers can now be handled automatically by intelligent agents. These agents can understand instructions, generate the necessary code, and execute the operations seamlessly. This not only saves time but also makes complex data tasks accessible to non-engineers.&lt;/p&gt;

&lt;p&gt;Please &lt;a href="https://litenai.com/getting-started/" rel="noopener noreferrer"&gt;contact us to get started&lt;/a&gt;, we value your feedback and look forward to helping resolve your challenges.&lt;/p&gt;

</description>
      <category>litenai</category>
    </item>
    <item>
      <title>Tutorial: Automating Machine Operations and Support</title>
      <dc:creator>HK Verma</dc:creator>
      <pubDate>Fri, 21 Mar 2025 18:11:32 +0000</pubDate>
      <link>https://dev.to/hkverma/tutorial-automating-machine-operations-and-support-2826</link>
      <guid>https://dev.to/hkverma/tutorial-automating-machine-operations-and-support-2826</guid>
      <description>&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%2Fttkhg2fhv5alb3lpe1df.jpg" 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%2Fttkhg2fhv5alb3lpe1df.jpg" width="683" height="1024"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this use case, the customer owns an expensive MRI machine that requires regular servicing or repairs. LitenAI assists technicians through a conversational interface, providing expert information sourced from ingested manuals and log data. By consolidating all data into its &lt;a href="https://litenai.com/?p=586&amp;amp;preview=true" rel="noopener noreferrer"&gt;Smart Data Lake&lt;/a&gt;, LitenAI enables intelligent searches and in-depth analysis. &lt;a href="https://litenai.com/?p=584&amp;amp;preview=true" rel="noopener noreferrer"&gt;The LitenAI Agent&lt;/a&gt; leverages this data to identify patterns and provide precise technical support for these devices.&lt;/p&gt;

&lt;p&gt;Preventive maintenance tasks are routinely carried out. Below is a chat session illustrating a preventive maintenance interaction between a technician and the system.&lt;/p&gt;

&lt;p&gt;If you are running these chats from Liten demo lake, make sure that you select techassist as your lake. Scroll down below for the smart lake settings to be used.&lt;/p&gt;

&lt;h4&gt;
  
  
  Preventive Maintenance
&lt;/h4&gt;

&lt;p&gt;Customers can simply request tasks to be performed on a machine. In this example, we have ingested an MRI machine manual to demonstrate the process. You can ask a question like this.&lt;/p&gt;

&lt;p&gt;I need help with quarterly maintenance of Philips MRI machine. Do not provide details. Include any test images.&lt;/p&gt;

&lt;p&gt;The answer provided is specific and derived directly from the ingested data, ensuring relevance over generic responses.&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%2F0cge0476t5b91lz1e6pl.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%2F0cge0476t5b91lz1e6pl.png" width="800" height="636"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Customers can now query the service record table to review previous maintenance work. They can access the latest records and learn from them as needed.&lt;/p&gt;

&lt;p&gt;Query the servicerecord to show me the PMs done on this MRI machine.&lt;/p&gt;

&lt;p&gt;This query performs a search on the service record table.&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%2Fm9z8xdq0gyzk60nvyqtd.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%2Fm9z8xdq0gyzk60nvyqtd.png" width="800" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Customers can request specific steps for each test and ask clarifying questions as needed.&lt;/p&gt;

&lt;p&gt;Provide me exact names of test that are part of Calibration Checks for MRI machines from manuals. Don’t include any details on the steps.&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%2Fgjcgnc2u900htrrpt2ny.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%2Fgjcgnc2u900htrrpt2ny.png" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the example below, steps for medical field tests are provided, derived directly from customer-ingested documents.&lt;/p&gt;

&lt;p&gt;Show me the exact setup steps for medical field homogeneity test from manuals. Do not include details.&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%2F1f0k6mnq0pknug77ppzw.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%2F1f0k6mnq0pknug77ppzw.png" width="800" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once completed, customers can generate reports and add them to the records if needed. Agents can also be customized to ensure the report format aligns with customer requirements.&lt;/p&gt;

&lt;p&gt;Generate report showing the test result and setup using manuals.&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%2Fcgijo8t8njkruyfsrji5.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%2Fcgijo8t8njkruyfsrji5.png" width="800" height="727"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Break Fix
&lt;/h3&gt;

&lt;p&gt;When machines break down, they need to be repaired as quickly as possible to minimize operating costs. LitenAI assists technicians by providing expert answers, reducing delays and idle time caused by waiting for human experts. Customers can initiate troubleshooting by describing the problem they observe in the system.&lt;/p&gt;

&lt;p&gt;Image produced is noisy and does not look correct. Can you suggest me a few fixes from Philips Insignia MRI manual.&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%2F6z93f0lfqmszdjr3ai3q.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%2F6z93f0lfqmszdjr3ai3q.png" width="660" height="829"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Customers can now inquire about additional scenarios and explore various possibilities.&lt;/p&gt;

&lt;p&gt;Tried these steps, but did not fix the issue. Could a faulty coil be an issue?&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%2Fwhb34bm1nqtdn85trv1c.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%2Fwhb34bm1nqtdn85trv1c.png" width="797" height="515"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Machine logs are available in the LitenAI Smart Lake, allowing customers to search for failures or anomalies. LitenAI leverages big data technology to securely store all data and elastically scale to accommodate large log volumes.&lt;/p&gt;

&lt;p&gt;Query using sql for fault or gradient in message field of mrilogs table.&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%2Fpb5rqo1m8tknzewfeofw.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%2Fpb5rqo1m8tknzewfeofw.png" width="745" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Customer can now ask for exact steps to fix this possible issue.&lt;/p&gt;

&lt;p&gt;From the manual, tell me exact steps to fix coil failures. Include any test images.&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%2Fgvtwrn59zgj3zv8av26v.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%2Fgvtwrn59zgj3zv8av26v.png" width="648" height="907"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Customers can now generate detailed reports.&lt;/p&gt;

&lt;p&gt;Can you create a text report with headers and tables summarizing the work done on break fix.&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%2F12q10yvwqiw7qub77731.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%2F12q10yvwqiw7qub77731.png" width="800" height="312"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The report includes a conclusion, and the reporting agent can be customized as needed. Reports can also be recorded in a table if required.&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%2Fx61kzwjfj1dxlpsyxosl.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%2Fx61kzwjfj1dxlpsyxosl.png" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Reasoning Agent
&lt;/h5&gt;

&lt;p&gt;In reasoning agent, a technician poses a high-level question, and LitenAI generates a plan, executing steps to provide a final answer.&lt;/p&gt;

&lt;p&gt;Can you reason out and provide a single resolution. My Phillips MRI machine has been giving incorrect images. Look for faulty or gradient in mrilogs table. See if that is an issues. If not, look for other causes of failures. I want you to analyze and come back with the most likely cause of failure.&lt;/p&gt;

&lt;p&gt;LitenAI first generates a plan.&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%2Fdm1d592uvh7gzah76dtw.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%2Fdm1d592uvh7gzah76dtw.png" width="750" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It then generates the query code and runs it on LitenAI accelerated big data platform.&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%2Fmujedtg9o5wmejwoyynr.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%2Fmujedtg9o5wmejwoyynr.png" width="701" height="211"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It then analyzes it and generates the likely cause of failure.&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%2Fxophgt4j9egfgeeq200e.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%2Fxophgt4j9egfgeeq200e.png" width="732" height="196"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The reasoning agent enhances its accuracy and effectiveness as LitenAI’s Smart Lake ingests more data and users engage with the agents.&lt;/p&gt;

&lt;h3&gt;
  
  
  Business Analytics
&lt;/h3&gt;

&lt;p&gt;LitenAI securely stores machine data and customer documents within customer-controlled storage. The LitenAI Agent enables the extraction and visualization of various metrics and trends for business purposes.&lt;/p&gt;

&lt;p&gt;This example examines the service record to analyze the number of tasks completed daily over the course of a year.&lt;/p&gt;

&lt;p&gt;For servicerecord table, use sql to count the number of rows for every day before year 2020. Execute the generated SQL.&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%2Fcfjrie8wlct83wdaovtv.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%2Fcfjrie8wlct83wdaovtv.png" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Data can also be plotted and shared for better visualization and communication.&lt;/p&gt;

&lt;p&gt;Plot the data in line.&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%2F8w7fgucai8i5rdr8at1a.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%2F8w7fgucai8i5rdr8at1a.png" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using LitenAI agents, analytics can be completed on this data. Reports and plots can be generated to help with understanding the machine usage as well as its failures among other tasks. These all get done using a conversational interface.&lt;/p&gt;

&lt;h4&gt;
  
  
  Smart Lake
&lt;/h4&gt;

&lt;p&gt;In the &lt;a href="https://litenai.com/?p=586" rel="noopener noreferrer"&gt;LitenAI Smart Lake&lt;/a&gt;, the customer ingested their knowledge documents and established connections to their required databases. All data is securely stored within the customer’s storage. Customers can ingest data using various methods, either programmatically from stored files or through streams for continuous ingestion. Additionally, data can be uploaded and managed through Lake Agents, either via chat or using the Lake GUI interface to populate the lake. If you are going through these prompts, make sure to select techassist data lake. Select lake tab and ensure that techassist lake is selected. See a screen shot below.&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%2F3hrxfjmzdrhm39jbaf6o.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%2F3hrxfjmzdrhm39jbaf6o.png" width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://litenai.com/#contact" rel="noopener noreferrer"&gt;Contact us&lt;/a&gt; to explore how our tools can support your equipment and use case.&lt;/p&gt;

</description>
      <category>litenai</category>
    </item>
    <item>
      <title>Tutorial: Analyzing network packets</title>
      <dc:creator>HK Verma</dc:creator>
      <pubDate>Thu, 20 Mar 2025 22:40:09 +0000</pubDate>
      <link>https://dev.to/hkverma/tutorial-analyzing-network-packets-k07</link>
      <guid>https://dev.to/hkverma/tutorial-analyzing-network-packets-k07</guid>
      <description>&lt;p&gt;LitenAI supports uploading packet files in PCAP format, storing all packets in its Smart Lake. For demonstration, a table named pcap has been created in the LogReason Smart Lake. It can ingest large volumes of packet data for analysis. While PCAP files are currently used, any network-related log files can be uploaded and analyzed using LitenAI.&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%2Fjqkikugiliqjmg0s9fgo.jpg" 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%2Fjqkikugiliqjmg0s9fgo.jpg" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scroll down for chat examples. Scroll further down for more information on LitenAI Smart Lake.&lt;/p&gt;

&lt;p&gt;LitenAI supports high-level reasoning and detailed packet analysis. Below are some examples, but it can be applied to many other use cases. &lt;a href="https://litenai.com/#contact" rel="noopener noreferrer"&gt;Contact us&lt;/a&gt; to test it with your data—either on &lt;a href="https://litenai.com/getting-started/" rel="noopener noreferrer"&gt;our cloud platform&lt;/a&gt; or &lt;a href="https://dev.to/hkverma/tutorial-running-litenai-locally-using-docker-image-5ani-temp-slug-9944707"&gt;locally via a Docker installation.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  General Analysis
&lt;/h2&gt;

&lt;p&gt;Users can ask high-level questions, and LitenAI will generate a structured plan to analyze network congestion based on the provided prompt. You can also explore specific details—scroll down to see examples.&lt;/p&gt;

&lt;p&gt;Generate sql to find out the number of packets between src_ip and dst_ip for each protocol type from the pcap table. Execute the sql.&lt;/p&gt;

&lt;p&gt;This generates and executes the code, then displays the resulting rows with the relevant information.&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%2Fy2voiwzpqe8vrfyhp8zp.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%2Fy2voiwzpqe8vrfyhp8zp.png" width="487" height="234"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ask any question to analyze the data.&lt;/p&gt;

&lt;p&gt;Analyze the data to tell me more about the overloaded IP addresses.&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%2Fnokne0au1tiu7h2p6hlz.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%2Fnokne0au1tiu7h2p6hlz.png" width="800" height="244"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also explore it as a plot, if needed.&lt;/p&gt;

&lt;p&gt;Plot the dataset.&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%2Fwqjxjcqs35sxfpt63bub.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%2Fwqjxjcqs35sxfpt63bub.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LitenAI can extract various types of information from packets to analyze congestion more effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding packet contents
&lt;/h2&gt;

&lt;p&gt;LitenAI helps you analyze and understand your packets more effectively. It can interpret packet data and respond to your queries through chat. Think of it as a valuable addition to Wireshark.&lt;/p&gt;

&lt;p&gt;First, obtain the packets for analysis. Let’s start with a row. For now, TCP layers are excluded, but you can include them if needed for a more comprehensive TCP analysis.&lt;/p&gt;

&lt;p&gt;Select one packet row from pcap table without layers_tcp column using sql and execute it,&lt;/p&gt;

&lt;p&gt;The packet is stored in a dataset and displayed. You can now ask LitenAI to describe the packet and its contents.&lt;/p&gt;

&lt;p&gt;Describe the dataset.&lt;/p&gt;

&lt;p&gt;It presents all packet information in a clear and readable format.&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%2F1g2uwff4dmbmvte6si1u.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%2F1g2uwff4dmbmvte6si1u.png" width="662" height="625"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can now query the packet for various types of information. Here are a few examples:&lt;/p&gt;

&lt;p&gt;Analyze the data to tell me the application protocol used to transfer files from PC to server?&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%2Fu0ro8gjsbwz1wvgoeu6r.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%2Fu0ro8gjsbwz1wvgoeu6r.png" width="690" height="207"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Analyze the data to tell me the IP address of the server.&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%2Fmaop4rs4gy0virodpxnk.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%2Fmaop4rs4gy0virodpxnk.png" width="671" height="165"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Various other questions related to packets can be asked, and it will provide answers. Through calls to large language models (LLMs), it understands multiple natural languages and can respond appropriately.&lt;/p&gt;

&lt;p&gt;Upload the packet you’re interested in and ask your question. You can also filter specific packets or columns to focus on relevant data. LitenAI will help you find the right packet efficiently.&lt;/p&gt;

&lt;p&gt;Various types of packets with different protocols can be analyzed. Below is an analysis of a DHCP packet.&lt;/p&gt;

&lt;p&gt;Select one packet row with dhcp protocol using sql and execute it.&lt;/p&gt;

&lt;p&gt;Analyze to tell me the DHCP server IP address?&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%2Flcyqrl22vzoahftvw0ur.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%2Flcyqrl22vzoahftvw0ur.png" width="800" height="206"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Analyze the data to visualize this DHCP exchange in ascii?&lt;/p&gt;

&lt;p&gt;This produces DHCP exchange in ASCII as shown below.&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%2Fcnw1inchgvfdyahgz3du.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%2Fcnw1inchgvfdyahgz3du.png" width="800" height="535"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Analyze the data to get a mind map of 4 dhcp frames and highlight latency?&lt;/p&gt;

&lt;p&gt;This generates a detailed mind map. Below is a small sample for reference.&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%2Fryelhn2mg4x9of47vxwg.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%2Fryelhn2mg4x9of47vxwg.png" width="800" height="155"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is more information about the LitenAI Smart Lake Storage Layer.&lt;/p&gt;

&lt;h4&gt;
  
  
  Smart Lake
&lt;/h4&gt;

&lt;p&gt;In the &lt;a href="https://litenai.com/?p=586" rel="noopener noreferrer"&gt;LitenAI Smart Lake&lt;/a&gt;, the customer ingested their knowledge documents and established connections to their required databases. All data is securely stored within the customer’s storage. Customers can ingest data using various methods, either programmatically from stored files or through streams for continuous ingestion. Additionally, data can be uploaded and managed through Lake Agents, either via chat or using the Lake GUI interface to populate the lake. If you are going through these prompts, make sure to select logreason data lake. Select lake tab and ensure that logreason lake is selected. You can also select pcap table to make it default if no table name can be identified from the prompts.&lt;/p&gt;

&lt;p&gt;To ingest a new file, you can select pcap type and choose a file. Click on Ingest. It will append the pcap information to pcap table.&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%2F9sd1jkv13xxewxqbmfda.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%2F9sd1jkv13xxewxqbmfda.png" width="800" height="234"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This blog highlights the capabilities of AI in analyzing network packets. Various types of analysis can be performed, and customers can integrate their own agents for specific tasks. &lt;a href="https://litenai.com/#contact" rel="noopener noreferrer"&gt;Contact us&lt;/a&gt;for more information.&lt;/p&gt;

</description>
      <category>litenai</category>
    </item>
    <item>
      <title>Tutorial: Running LitenAI Locally using Docker Image</title>
      <dc:creator>HK Verma</dc:creator>
      <pubDate>Mon, 10 Mar 2025 22:09:41 +0000</pubDate>
      <link>https://dev.to/hkverma/tutorial-running-litenai-locally-using-docker-image-3ff5</link>
      <guid>https://dev.to/hkverma/tutorial-running-litenai-locally-using-docker-image-3ff5</guid>
      <description>&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%2Fk0i8nw43koqlbcmk6t56.jpg" 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%2Fk0i8nw43koqlbcmk6t56.jpg" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Introduction&lt;/p&gt;

&lt;p&gt;&lt;a href="https://litenai.com/#contact" rel="noopener noreferrer"&gt;Contact us&lt;/a&gt; to get the latest docker image.&lt;br&gt;&lt;br&gt;
All data is local and accessible only to the user. LitenAI does not collect any data from user.&lt;/p&gt;

&lt;p&gt;Installation Steps&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prepare Your Environment&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure &lt;a href="https://docs.docker.com/engine/install/" rel="noopener noreferrer"&gt;&lt;u&gt;Docker&lt;/u&gt;&lt;/a&gt; is installed and running.&lt;/li&gt;
&lt;li&gt;Confirm your user is part of the Docker group. For assistance, follow the &lt;a href="https://docs.docker.com/engine/install/linux-postinstall" rel="noopener noreferrer"&gt;&lt;u&gt;Docker post-install guide&lt;/u&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Load the Docker Image&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Download the Docker image from the &lt;u&gt;LitenAI Store&lt;/u&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.docker.com/reference/cli/docker/image/load" rel="noopener noreferrer"&gt;&lt;u&gt;Load&lt;/u&gt;&lt;/a&gt; the image using the following command. Version is the release version number like v0.1.112
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker load &amp;lt; litenai.&amp;lt;version&amp;gt;.tar.gz
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Verify the image load with the below command. Note down the tag number, it will be needed to start the container.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker image ls
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Set Environment Variables&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set your API key to a valid Azure, OpenAI or local API key
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export LITENAI_API_KEY="api_key"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Bring up the docker container&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Replace  with the number from ‘&lt;em&gt;docker image ls’&lt;/em&gt; command above
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker run -d --name litenai_container -p 8210:8210 -p 8221:8221 -e LITENAI_API_KEY=${LITENAI_API_KEY} litenai/litenai:&amp;lt;tag&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Access the Chat Interface in your local browser, by visiting the URL below&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:8210
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Stop the container&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker stop litenai_container
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sample Chat Sessions&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Access the Chat Interface in your local browser, by visiting the URL below&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:8210
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Click on the &lt;strong&gt;Lake&lt;/strong&gt; tab. The Docker environment comes pre-loaded with two lakes: &lt;strong&gt;logreason&lt;/strong&gt; and &lt;strong&gt;techassist&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;To explore the &lt;strong&gt;logreason&lt;/strong&gt; lake, select it from the Lake tab. You can then follow the sample &lt;a href="https://litenai.com/rethinking-technical-support-performance-debugging-with-ai-agent/" rel="noopener noreferrer"&gt;chat session described in the blog&lt;/a&gt; to understand how to analyze customer sessions and identify the root causes of performance issues.&lt;/p&gt;

&lt;p&gt;To explore the &lt;strong&gt;techassist&lt;/strong&gt; lake, select it from the Lake tab. After the lake loads, you can follow the &lt;a href="https://litenai.com/automating-device-support-debugging-and-analysis/" rel="noopener noreferrer"&gt;sample chat session described in the blog&lt;/a&gt; to understand how technicians maintain and repair medical devices.&lt;/p&gt;

&lt;p&gt;Configuration for Self-hosted LLM&lt;/p&gt;

&lt;p&gt;LitenAI supports the use of locally hosted LLMs. To configure this, you need to provide the URL for the LLM call and specify the LLM model being used. An example configuration is shown below.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set Environment Variables&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export LITENAI_SERVE_URL="http://localhost:8000/v1"export LITENAI_LLM_MODEL="meta-llama/Llama-3.2-1B-Instruct"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Run the Docker command below&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker run -d --name liten_container -p 8210:8210 -p 8221:8221 -e LITENAI_API_KEY=${LITENAI_API_KEY} -e LITENAI_SERVE_URL=${LITENAI_SERVE_URL} -e LITENAI_LLM_MODEL=${LITENAI_LLM_MODEL} -e LITENAI_AZURE_API_VERSION="" litenai/litenai:&amp;lt;tag&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Access the Chat Interface in your local browser, by visiting the URL below&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:8210
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Configuration for OpenAI Service  &lt;/p&gt;

&lt;p&gt;LitenAI is configured to use the Azure OpenAI service by default. However, it can also integrate with the OpenAI service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set Environment Variables&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You will need to obtain an OpenAI API key from your OpenAI account.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export LITENAI_API_KEY=&amp;lt;OpenAI-API-Key&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Run the Docker command below&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Set the serve URL and Azure API versions to empty values.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker run -d --name liten_container -p 8210:8210 -p 8221:8221 -e LITENAI_API_KEY=${LITENAI_API_KEY} -e LITENAI_SERVE_URL="" -e LITENAI_AZURE_API_VERSION="" litenai/litenai:&amp;lt;tag&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Access the Chat Interface in your local browser, by visiting the URL below&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:8210
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>litenai</category>
    </item>
  </channel>
</rss>
