← Back to projects

Industry Β· 2023

Chat Bot

Confidential

Machine LearningLLMDeployment

// PROJECT SUMMARY

Large organizations accumulate thousands of internal documents containing procedures, policies, legal information and specialized company knowledge. Finding the right information can become increasingly difficult as this knowledge base grows.

We developed a private enterprise AI chatbot that allows employees to interact with internal documentation using natural language while keeping company data inside the organization's own IT environment.

The solution was developed as a technology demonstrator for highly regulated organizations such as banks and insurance companies, where confidentiality, data control and predictable AI behavior are critical requirements.

// THE PROBLEM

Modern AI chatbots provide an intuitive way to access information, but public cloud-based AI services introduce important concerns for organizations handling confidential or regulated information.

The customer needed a system where sensitive documents would never leave the organization's controlled IT infrastructure.

There was another equally important requirement.

The chatbot shouldn't behave like a general-purpose AI assistant. If an employee asked something that wasn't covered by the organization's approved knowledge base, the correct answer should be: β€œI don't know.”

The challenge was therefore not simply to make an AI system answer questions. It was to create one that could reliably determine when it should answer and when it should not.

// THE SOLUTION

We developed a complete private AI chatbot platform built around an open-source large language model and designed to operate within a closed IT environment.

Internal documents are processed into a searchable knowledge base that allows the system to identify information relevant to a user's question and use that information when generating an answer.

The chatbot was deliberately constrained to the provided knowledge base rather than being positioned as a general-purpose assistant.

This created a controlled interface between employees and internal company knowledge while allowing sensitive information and AI processing to remain within the organization's infrastructure.

// OUR WORK

JPM Systems was responsible for:

// KEY CHALLENGES

Keeping Sensitive Data Private

Privacy wasn't an additional feature β€” it was a fundamental architectural requirement.

The system was designed so that internal documents and user interactions could remain within the customer's controlled IT environment rather than being sent to external AI services.

This made the solution suitable for exploring AI use cases in organizations where confidential information, legal documents and internal procedures cannot simply be uploaded to public cloud-based tools.

Teaching the System Slovenian

High-quality AI performance depends heavily on the underlying model and the data available for the target language.

One of the major development challenges was achieving strong performance in Slovenian.

We had to identify and prepare appropriate datasets, evaluate model behavior and adapt the system so that both understanding and generated responses met the required quality.

This provided significant practical experience in dataset preparation, model customization and evaluating the relationship between training effort, computational requirements and resulting model quality.

Knowing When Not to Answer

One of the hardest problems was controlling the boundary of the chatbot's knowledge.

Finding something vaguely similar in a document isn't enough. The system must determine whether the retrieved information is actually relevant enough to answer the question.

We developed and tuned the retrieval and vector similarity logic used to match user questions against the internal knowledge base.

Thresholds and retrieval strategies had to be carefully calibrated so the chatbot could distinguish between β€œI found information relevant to this question.” and β€œThis information isn't available in my knowledge base.” This was essential for creating a system users could trust.

Reducing Hallucinations

General-purpose LLMs are designed to generate plausible responses, which is almost the opposite of what was required for this application.

For an enterprise knowledge system, confidently inventing an answer is significantly worse than admitting that the information isn't available.

The solution therefore combined controlled retrieval, context management and answer-generation rules to reduce unsupported responses and keep answers grounded in the provided documentation.

Understanding the Real Cost of Private AI

Running AI locally introduces a different set of engineering and business considerations.

Throughout the project, we evaluated the computational resources required for model training, customization and inference, giving us practical insight into the relationship between model size, hardware requirements, response performance and operating cost.

This was important not only for building the demonstrator, but also for understanding how such a solution could realistically be deployed for enterprise customers.

// THE RESULT

The completed demonstrator showed that employees could interact with internal company documentation through a natural-language chatbot while keeping the underlying information within a controlled IT environment.

The project successfully demonstrated private LLM deployment, Slovenian language adaptation, semantic document search, controlled knowledge retrieval and grounded answer generation.

It also gave us practical experience across the complete private-AI technology stack β€” from dataset preparation and model customization to embeddings, vector retrieval, infrastructure requirements and inference costs.

Most importantly, the project demonstrated an important principle for enterprise AI: a trustworthy chatbot isn't defined only by how well it can answer questions. It is also defined by how reliably it knows when it should not answer.

We use analytics cookies to understand how visitors use the site. You can accept or decline.