Document assistants and chatbots
Question answering over policies, contracts, manuals, tickets and knowledge bases. Every answer links to the passages it came from, and the assistant says so when the documents don't contain the answer.
Services · RAG development
Retrieval-augmented generation (RAG) lets a large language model answer from your documents, databases and internal knowledge instead of from memory. I design and build RAG systems that run in production: they cite their sources, respect who is allowed to see what, and are tested against real questions before anyone relies on them.
I've built RAG assistants for large Saudi enterprises, semantic matching used in government hiring, and open-source tooling that LangChain merged upstream. I work freelance or on contract, remote or on-site in Riyadh, with teams across Saudi Arabia, the GCC and MENA.
Question answering over policies, contracts, manuals, tickets and knowledge bases. Every answer links to the passages it came from, and the assistant says so when the documents don't contain the answer.
Dense retrieval with re-ranking for internal search, recommendations and matching problems, such as pairing candidate resumes with job requirements. Hybrid search adds keyword matching for names, codes and numbers that vectors miss.
Agents that decide what to look up, query several sources, call your APIs and tools, and combine the results. Built with LangChain and the Model Context Protocol (MCP), so new data sources plug in without a rewrite.
Parsing PDFs, Office files, web pages, emails and meeting transcripts; chunking that follows document structure; metadata for filtering and permissions; and incremental updates so the index stays current.
We agree on the questions the system must answer and collect real examples with expected answers. That test set is written before any code, so every later change can be measured against it.
I build ingestion, chunking, embeddings and search, then measure retrieval on its own: does the right passage come back in the top results? Most weak RAG systems fail here, not in the LLM.
Prompts, citations and refusal rules on top of retrieval, plus access control so each user only gets answers from documents they're allowed to read. The model can be an API model or an open-weight model on your own servers.
A FastAPI service in Docker on Kubernetes or your cloud, with logging, user feedback and dashboards. When documents, prompts or models change, the test set runs again before release.
RAG assistants and LLM chatbots for large-scale Saudi enterprise use cases, with retrieval over FAISS and Chroma and self-hosted LLaMA and Qwen models on GPU Kubernetes. No data leaves the client's infrastructure.
Impact: data-sovereign generative AI for privacy-critical environments.
Dense retrieval with sentence-transformers and FAISS, followed by re-ranking, to match candidate resumes to job requirements in recruitment workflows handling thousands of applications.
Impact: deployed in government hiring workflows.
A system that combines retrieval-augmented generation with ML classifiers to analyze open-ended survey responses at scale. I wrote up the design step by step.
I designed multi-server resource loading for get_resources in LangChain's MCP adapters: it fetches resources from every connected server concurrently when no server is named. The LangChain team merged it upstream in #380, building on my PR #360.
Yes. The whole stack, including the LLM, the embedding model and the vector database, can run on your own servers or in a cloud region inside Saudi Arabia.
Yes, with extra work on spelling normalization, dialects and mixed Arabic–English text. That work is covered on its own page.
Sometimes, but RAG comes first in most projects: it keeps answers current and traceable without retraining. Fine-tuning with LoRA or QLoRA helps when you need a specific style, format or vocabulary, and the two work well together.
Usually with a short consultation, then a proof of concept on a sample of your documents and real questions, scored against the test set.
Send a short description of your documents, your users and the questions they need answered. I reply in English or Arabic.