Built at work · description only

Viki

An internal chatbot that answers questions from company wiki content, with references to the source.

Problem

Company knowledge was spread across internal wikis. Finding an answer meant a long search.

Solution

A retrieval-augmented generation (RAG) system. Wiki content is split into around 6,700 chunks, turned into OpenAI embeddings and stored in a FAISS vector index. For each question, the most similar chunks are retrieved and passed to the OpenAI API together with the question. The answer refers back to its sources.

Architecture of Viki Indexing: company wikis are split into about 6,700 chunks, embedded with OpenAI and stored in a FAISS index. Question: the user question is embedded, similar chunks are found in the FAISS index, the top chunks and the question go to the OpenAI API, and the answer is returned with sources. INDEXING QUESTION Company wikis Chunking ~6,700 chunks Embeddings OpenAI FAISS index User question Embedding OpenAI Similarity search in the FAISS index Top chunks + question OpenAI API answer generation Answer with sources
Schematic overview. No internal interfaces or data shown.

Stack

  • Python
  • FAISS vector index
  • OpenAI embeddings
  • OpenAI API

Result

Answers in seconds instead of a long search.

My role

Concept and development.

What I learned

Chunk size and data protection decide quality and trust. Chunk size shapes how good the answers are. Which content is allowed to go to an external API at all decides whether people can trust the tool.