Skip to main content
Rubén Solano

Chatbots and AI assistants on your data

Chatbots and AI assistants on your company's private data

An assistant that answers using your organisation's information — manuals, contracts, policies, catalogues — showing which document each answer comes from, respecting permissions and measuring how accurate it is.

Updated:

Problems it solves

  • The information exists, but nobody finds it

    It is spread across folders, emails and PDFs. Asking a colleague ends up faster than searching.

  • A generic chatbot makes up answers

    A model without access to your documents confidently says things that are not true in your company.

  • Confidentiality concerns

    You do not want to upload internal documents to a public tool or let people see what is not meant for them.

  • No way to know whether it answers well

    Without evaluation, an assistant seems to work until it fails in front of a customer.

RAG assistant architecture, without the mystery

A RAG assistant has four parts. Ingestion: your documents are read, cleaned and split into manageable chunks, keeping metadata such as title, section and date. Index: each chunk is turned into a vector (embedding) representing its meaning and stored alongside a keyword index; combining both searches usually retrieves better than either alone. Retrieval: given a question, the most relevant chunks are fetched, filtered by the user’s permissions. Generation: the model receives the question and those chunks and writes an answer limited to that context, with citations.

Evaluate before you trust

The most neglected part of assistants is evaluation. With your team I prepare a set of representative questions with the expected answer and document, and measure two things separately: whether retrieval finds the right passage and whether the final answer is faithful to it. When something fails, we then know whether to improve document preparation, search or the instructions to the model.

Privacy and security

I define with you which documents go in, who can query what and where data and usage logs are stored. Permissions are applied at retrieval, not at the end, so an unauthorised chunk never reaches the model. I log queries to detect unanswered questions, but you decide what is stored and for how long.

What I have built in this area

As a personal project I built an assistant with long-term memory that combines semantic and keyword retrieval over a graph-based store (Neo4j). It is an experimentation project, not a client deployment, and its page explains decisions and limits.

What you get

  • Document ingestion and preparation

    Reading PDFs, Word files, web pages and exports; cleaning, chunking and updating when documents change.

  • Retrieval and generation with citations

    Semantic and keyword search over your documents; each answer shows the passages it relies on.

  • Access control

    Permissions per collection or role so each person only receives information from what they may consult.

  • Quality evaluation

    A set of test questions with expected answers, simple metrics and a report on where it fails.

  • Integration

    Your own interface, a widget for your website or connection to internal tools (for example a messaging channel or your intranet).

How I approach it

  1. 01

    Define scope and users

    Which questions it must answer, who will use it, which documents are in and which are out.

  2. 02

    Prepare the knowledge base

    Inventory of sources, formats and quality. Answer quality depends more on this than on the chosen model.

  3. 03

    Build retrieval

    Chunking, embeddings and hybrid search; tests that the right passages appear among the top results.

  4. 04

    Generation with limits

    Instructions to answer only from the retrieved context, cite the source and say "I don't know" when there is no basis.

  5. 05

    Evaluate, deploy and monitor

    Tests with real questions, gradual rollout, logging of unanswered queries and periodic review.

Concrete examples

  • Policies and procedures assistant

    "What is the process to approve spending above X?" with a link to the exact section of the manual.

  • Support on technical documentation

    Answers based on product help and the history of resolved tickets.

  • Querying contracts and long documents

    Locate clauses, dates or conditions and show the source paragraph so it can be verified.

  • Catalogue assistant for a shop

    Answer product questions using the real catalogue, without inventing features.

Who it is for

  • Companies with plenty of internal documentation (procedures, manuals, contracts, regulations) that people struggle to find.
  • Support teams that repeatedly answer questions whose answer is in a document.
  • Websites or apps that want to offer an assistant based on their own catalogue or help centre.

Realistic benefits

  • Less time searching for information and fewer interruptions between colleagues.
  • Verifiable answers: every statement can be checked against the cited document.
  • A better-organised knowledge base that is useful for other things too.
  • Control over what data is used, who accesses it and what each query costs.

Limits and honesty

  • No system fully eliminates errors or hallucinations; they are reduced with good retrieval, strict instructions and evaluation, and made visible through citations.
  • If documents are outdated, contradictory or poorly scanned, the answers will reflect it. Part of the work is tidying them.
  • I do not guarantee an accuracy percentage before evaluating with your real questions.

Frequently asked questions

What is RAG and how is it different from a normal chatbot?

RAG (retrieval-augmented generation) means that, before answering, the system searches your documents for relevant passages and gives them to the model as context. The answer therefore relies on your information and can cite its source, rather than depending on what the model remembers from training.

Can my private documents end up training a public model?

It depends on the provider and the contract. Before starting I review the terms of the services involved, configure the options that prevent your data being used for training and, if needed, propose alternatives where data does not leave your infrastructure.

How do you stop the assistant from inventing answers?

It cannot be stopped completely. It is reduced by limiting the answer to the retrieved context, requiring source citations, letting it say "I don't know" and evaluating with test questions. Citations also let you check any claim.

How are permissions handled?

Each document is tied to a collection or role, and retrieval only searches what the user can see. It is designed in from the start because adding it later is hard.

Can it be integrated into my website or internal tools?

Yes. It can be offered as a web widget, a standalone interface or connected to internal channels through an API. The best option depends on who uses it and where.

Related evidence: related projects

  • Artificial intelligencePersonal project

    LLM assistant with long-term memory

    A language-model assistant with persistent memory and hybrid retrieval — semantic and keyword — over a graph-based store.

    • Python
    • Neo4j
    • Embeddings
    • TF-IDF
    • LLM
    PrototypeView case

Related services

Request a proposal

Let's talk about your case

A first conversation is enough to know whether it makes sense and where to start.