RAG Systems in Production
|
This content was generated with the assistance of AI and should be verified against the official documentation of each tool and framework before being relied on in production. This section’s bibliography lists the reference material consulted while preparing these pages. |
This sub-section was written on 2026-09-30 against LangChain 1.4.3 (with langchain-core 1.6.6, langgraph 1.2.12 and
langchain-classic 1.0.8) and FastAPI 0.142.2 on Python 3.12, Spring AI 2.0.1 on Spring Boot 4.1.1 with Java 21, and
LangChain4j 1.20.2; the full list is in the version baseline below. Every version was read from PyPI
and Maven Central on that date. Every import in the Python snippets was resolved against the released packages in a
scratch virtual environment, and every Java snippet was compiled against the released jars in a scratch Maven project
that imports spring-ai-bom 2.0.1 and langchain4j-bom 1.20.2. No live model, database or graph was called while the
pages were checked, so the outputs shown are illustrative; each page says what was checked in its lead paragraph.
A retrieval-augmented generation (RAG) prototype takes an afternoon: split some Markdown, embed it, store the vectors, retrieve the five nearest chunks and paste them into a prompt. The Vector Databases & RAG section of this site covers exactly that path, and covers it well. Everything that happens after the prototype works is the subject of this sub-section: real PDFs with tables and scanned pages, documents that change every hour, users who must not see each other’s files, conversations that span days and devices, answers that must cite their sources and admit when they do not know, an HTTP API and an MCP server in front of the same retriever, a latency budget, a cost per question, a knowledge graph for the questions vectors cannot answer, and the evaluation and tracing that tell you whether last week’s change made things better or worse. This is the day-2 problem of RAG.
What Vector Databases & RAG covers and what this sub-section adds
The two sections describe one system. The pages here link the foundations instead of repeating them.
| Topic | Covered in Vector Databases & RAG | Added here |
|---|---|---|
Ingestion |
Document Ingestion & Chunking: loaders, splitters, chunk sizes and overlap for clean text. |
Document Parsing (the parser ladder, OCR, structure as metadata), Multimodal RAG (tables, images, audio) and Ingestion Pipelines & Freshness (idempotent jobs, CDC, deletes, PII redaction). |
Retrieval |
Retrieval Strategies (multi-query, HyDE, parent-document, MMR), Hybrid Search & Re-ranking, Metadata Filtering. |
Query Understanding & Routing (routing across vector, SQL, graph and tools; text-to-SQL) and Advanced Indexing Patterns (hypothetical questions, propositions, RAPTOR, contextual retrieval, late chunking). |
Conversation |
Agent Memory & Semantic Cache: memory tables and a semantic cache. |
Conversational RAG & Memory: persisting conversations in three stacks, multi-device sessions, retention and deletion. |
Answer quality |
Prompt Augmentation & Generation and Evaluating RAG Systems (offline metrics). |
Citations & Grounding, Hallucination Detection & Correction and Evaluation at Scale (reference-free metrics, CI gates, online judging). |
Security |
The security checklist in Production Considerations. |
|
Exposure |
Serving RAG as an API (REST, SSE, WebSocket) and RAG Behind MCP. |
|
Graphs |
GraphRAG & Knowledge Graph Construction, Text2Cypher & Graph Retrievers and Graph-Powered Recommendations. |
|
Operations |
Scale path and capacity in Production Considerations. |
Production RAG Architecture, Caching, Latency & Cost, Observability & Tracing and Deployment Patterns. |
The running scenario: DocsAssistant as a production service
Every page extends the same service. DocsAssistant answers questions about this site’s documentation. It reuses the
corpus, the pgvector schema (documents, chunks, chunk_embeddings) and the local models of
PostgreSQL & pgvector, the agent of
LangChain and Spring AI, and the docs-assistant MCP server
of Exposing RAG through MCP. Here it grows into a service with users:
-
Ingestion adds real PDFs with tables and images next to the AsciiDoc sources, keeps the index fresh from change events and deletes what was deleted.
-
POST /v1/asktakes a question, aconversationIdand optional filters, and streams the answer as server-sent events with citations. -
Conversation IDs persist memory per authenticated user, across devices.
-
Per-component ACLs filter retrieval: a caller’s groups come from the verified token and become a metadata filter.
-
The same retriever is exposed through an MCP server, so coding assistants and agents can search the docs.
-
A Neo4j graph of components, pages and concepts answers the questions that need relationships (GraphRAG).
Each build page shows the same capability three times: Python (LangChain 1.x with FastAPI), Java (Spring AI 2.0 on Spring
Boot 4.1) and Java (LangChain4j 1.20). Model names are never hard-coded in the snippets: every example reads the chat
and embedding model from configuration (CHAT_MODEL, EMBEDDING_MODEL, or the spring.ai. and langchain4j.
properties), so the same code runs against a local runtime from Running LLMs Locally or a
hosted provider.
Reading path
Read the pages in navigation order on a first pass. Shorter paths:
From prototype to first production release
-
Production RAG Architecture for the target shape and the latency budget.
-
Access Control & Privacy before anyone else can log in.
Improving answer quality
-
Evaluation at Scale first, so every change is measured.
-
Query Understanding & Routing and Advanced Indexing Patterns.
-
Citations & Grounding and Hallucination Detection & Correction.
Hardening
Knowledge graphs
Exposing RAG to other tools
-
RAG Behind MCP, with Exposing RAG through MCP for the protocol detail.
What’s covered
Architecture
-
Production RAG Architecture — the reference microservice architecture, a stateless orchestrator with fan-out and gather, independent scaling tiers, the latency budget, DIY versus RAG platforms, total cost of ownership and a POC-to-production plan.
Ingestion
-
Document Parsing — what is inside a PDF, the parser ladder from pypdf to a vision model, Docling and Unstructured, OCR, structure as metadata, and the Tika and PDF readers on the JVM.
-
Multimodal RAG — tables, images, audio and video, visual citations and multimodal hallucinations.
-
Ingestion Pipelines & Freshness — batch and streaming ingestion, idempotent jobs, content hashes, CDC with Debezium and Kafka, deletes, PII redaction and provenance.
Retrieval
-
Query Understanding & Routing — rewriting, condensation, self-query filters, decomposition, routing across vector, SQL, graph and tools, and safe text-to-SQL.
-
Advanced Indexing Patterns — hypothetical questions, propositions, auto-merging, sentence windows, multi-vector, RAPTOR, contextual retrieval and late chunking.
Conversation and answers
-
Conversational RAG & Memory — condensation, window, summary and long-term memory, persistence in three stacks, multi-device sessions, retention and memory poisoning.
-
Citations & Grounding — chunk IDs end to end, structured answers with citations, citation verification and the UX of sources.
-
Hallucination Detection & Correction — faithfulness, LLM-as-judge and HHEM, blocking and asynchronous checks, regenerate and abstain.
-
Guardrails & Prompt Injection — input and output guardrails, indirect injection through documents, delimiting context and tool allow-lists.
-
Access Control & Privacy — ACLs as filters derived from identity, tenancy models, redaction, encryption, audit and data residency.
Exposing RAG
-
Serving RAG as an API — the
/v1/askcontract, OpenAPI, SSE and WebSocket streaming, async ingestion, idempotency keys, OAuth2, rate limits, versioning, CORS and a browser widget. -
RAG Behind MCP — the same retriever as an MCP tool, resource and prompt, identity mapping, and consumption from Claude Code, Copilot and LangGraph.
-
Caching, Latency & Cost — cache tiers, semantic-cache thresholds, event-driven invalidation, prompt caching, model cascades and cost per request.
Knowledge graphs
-
GraphRAG & Knowledge Graph Construction — when a graph helps, Microsoft GraphRAG, LLM extraction, entity resolution and incremental updates.
-
Text2Cypher & Graph Retrievers — vector-Cypher, hybrid and text-to-Cypher retrievers with read-only execution.
-
Graph-Powered Recommendations — LLM-summarised embeddings plus GDS KNN and Louvain.
Operations
-
Evaluation at Scale — synthetic test sets, reference-free metrics, CI gates, online judging, A/B tests and the feedback flywheel.
-
Observability & Tracing — spans, OpenTelemetry GenAI conventions, RAG metrics and tracing backends.
-
Deployment Patterns — containers, managed platforms, GPU inference, secrets, blue/green rollouts, loads and disaster recovery.
Cheat sheet
-
Cheat Sheet (PDF) — a one-page, printable summary.
Version baseline
Every version below was read from PyPI, Maven Central and Docker Hub on 2026-09-30. Each page repeats the subset it uses in its lead paragraph; if a page and this table ever disagree after an update, this table wins.
| Area | Versions |
|---|---|
LangChain (Python) |
|
Web layer (Python) |
FastAPI 0.142.2, whose |
Parsing |
Docling 2.131.0, Unstructured 0.27.10, pypdf 6.19.0 and PyMuPDF 1.28.2; Apache Tika through the Spring AI and LangChain4j readers. |
Privacy |
Presidio ( |
Neo4j and GraphRAG |
Neo4j 2026.09.0 (calendar versioning), |
MCP |
The 2026-07-28 revision of the specification and the Python |
Evaluation |
RAGAS 0.4.3, DeepEval 4.2.7 and Open RAG Eval ( |
Spring AI |
2.0.1 through |
LangChain4j |
1.20.2 through |
Stores |
PostgreSQL 17 with pgvector, as in PostgreSQL & pgvector; Redis for caches, as in Redis Use Cases and Patterns. |
Where the books are out of date
The requester-provided books below are excellent on concepts, but several of their APIs have moved on. The pages flag each difference where it matters; the most important are collected here.
-
LangChain. Older examples import
langchain.text_splitterand build agents withcreate_react_agent. In LangChain 1.x the splitters live inlangchain_text_splitters, agents are built withlangchain.agents.create_agentand extended with middleware, and several retrievers used in Learning LangChain (ParentDocumentRetriever,MultiVectorRetriever,SelfQueryRetriever, the indexing API) now live inlangchain-classic. LlamaIndex moved its documentation todevelopers.llamaindex.ai(llama-index0.14.25 on 2026-09-30). -
The Neo4j book’s stack. It uses LangChain4j 0.35, a pre-1.0 Spring AI, an earlier Haystack line, an OpenAI embedding model of 2022 and Neo4j 5.21. The current versions are LangChain4j 1.20 (with the community Neo4j embedding store and text-to-Cypher retriever), Spring AI 2.0.1 (with
Neo4jVectorStoreandNeo4jChatMemoryRepository),haystack-ai3.2.0 withneo4j-haystack2.2.1, and the calendar-versioned Neo4j 2026.x releases; the embedding model it uses has been superseded. It predatesneo4j-graphrag’s text2cypher retrievers, `SimpleKGPipeline, the LLM Graph Builder and the Neo4j MCP servers, which these pages document from Neo4j’s own documentation. -
Spring AI. Books written for Spring AI 1.0 or earlier describe
PromptChatMemoryAdvisor(gone in 2.0), property paths with an.optionssegment (dropped), andChatModel.call()running tools (it no longer does). See Migrating from 1.x to 2.x. -
The Python cookbook’s UI layer. Its only interface is Streamlit, on the end-of-life
python:3.9image, with the 0.x OpenAI Agents SDK. REST, FastAPI and server-sent events are not covered; Serving RAG as an API fills that gap from the FastAPI documentation. -
Not covered by any of the books: SSE and WebSocket API design, authoring a RAG-behind-MCP server, and LangChain 1.x middleware for guardrails and memory.
Bibliography
The following sources were consulted while preparing the pages of this sub-section. Every code example was written from the current official documentation and checked against the released packages as described above — never copied from a book. Every documentation page cited on the pages is listed here once. The official documentation hosts could not be fetched from the environment the pages were checked in, so the version numbers come from the package registries and the API shapes from the released packages; the links are the documentation’s canonical addresses.
Requester-provided books
These books are consulted references for concepts only. Their text and code are not reproduced; concepts are paraphrased and credited on the page that uses them.
-
Mendelevitch, Ofer, and Forrest Sheng Bao. Hands-On RAG for Production: Design, Develop, and Deploy Production-Ready RAG Applications. O’Reilly Media, 1st ed., May 2026. ISBN 979-8-341-62171-8. Publisher page: https://www.oreilly.com/library/view/hands-on-rag-for/9798341621701/. Official code repository: https://github.com/ofermend/hands-on-rag. Consulted for parsing (Chapter 2), ingestion at scale, freshness, guardrails, hallucinations and RAG UX (Chapter 3), latency budgets, the reference architecture, caching tiers and security (Chapter 4), DIY versus platforms (Chapter 5), evaluation (Chapter 6), memory and agent observability (Chapter 7), multimodal RAG (Chapter 8) and knowledge-enhanced RAG with graph updates (Chapter 9).
-
Polzer, Dominik. RAG with Python Cookbook: Practical Recipes from Data Preprocessing to LLM Agents. O’Reilly Media, 1st ed., Apr 2026. ISBN 979-8-341-60056-0. Publisher page: https://www.oreilly.com/library/view/rag-with-python/9798341600553/. Official code repository: https://github.com/polzerdo55862/RAG-with-Python-Cookbook. Consulted for loaders and OCR (Chapter 3), hypothetical-question and proposition chunking (Chapter 4), query routing, auto-merging and sentence-window retrieval (Chapter 7), the Neo4j knowledge graph (Chapter 9), synthetic test sets and faithfulness (Chapter 10), and text-to-SQL and container deployment (Chapter 11).
-
Anthapu, Ravindranatha, and Siddhant Agarwal. Building Neo4j-Powered Applications with LLMs: Create LLM-driven search and recommendations applications with Haystack, LangChain4j, and Spring AI. Packt Publishing, Jun 2025. ISBN 978-1-83620-623-1 (print), 978-1-83620-622-4 (ebook). Publisher page: https://www.packtpub.com/en-us/product/building-neo4j-powered-applications-with-llms-9781836206231. Official code repository: https://github.com/PacktPublishing/Building-Neo4j-Powered-Applications-with-LLMs. Consulted for graph modelling and GraphRAG (Chapters 3 to 5), filtered and multi-hop queries (Chapter 6), LLM-summarised embeddings and GDS recommendations (Chapters 8 to 10) and Cloud Run deployment with initial and incremental loads (Chapter 12).
-
Oshin, Mayo, and Nuno Campos. Learning LangChain. O’Reilly Media, 2025. ISBN 978-1-098-16728-8. Publisher page: https://www.oreilly.com/library/view/learning-langchain/9781098167271/. Official code repository: https://github.com/langchain-ai/learning-langchain. Chapters 2 and 3 consulted for query transformation, routing, text-to-SQL, multi-vector indexing and RAPTOR.
-
Huyen, Chip. AI Engineering: Building Applications with Foundation Models. O’Reilly Media, 2024. ISBN 978-1-098-16630-4. Publisher page: https://www.oreilly.com/library/view/ai-engineering/9781098166298/. Official repository: https://github.com/chiphuyen/aie-book. Chapter 6 (RAG) and Chapter 10 (architecture, caching, guardrails and user feedback) consulted.
-
Walls, Craig. Spring AI in Action. Manning Publications, 2026. ISBN 978-1-63343-611-4. Publisher page: https://www.manning.com/books/spring-ai-in-action. Official code repository: https://github.com/habuma/spring-ai-in-action-samples. Chapters 4, 5 and 10 consulted for RAG, chat memory and securing RAG.
oreilly.com and packtpub.com answer automated fetches with an HTTP 403 response, but the publisher pages above are
live pages when opened in a browser.
Official documentation
Parsing
-
Docling: https://docling-project.github.io/docling/, and the LangChain Docling loader: https://docs.langchain.com/oss/python/integrations/document_loaders/docling
-
Unstructured: https://docs.unstructured.io/
-
LlamaParse: https://www.llamaindex.ai/llamaparse
-
Apache Tika: https://tika.apache.org/
-
pypdf: https://pypdf.readthedocs.io/, PyMuPDF: https://pymupdf.readthedocs.io/, Tesseract OCR: https://tesseract-ocr.github.io/
-
Cloud document AI services: Amazon Textract, Azure AI Document Intelligence, Google Document AI
LangChain and LangGraph
-
LangChain: RAG, Retrieval, Short-term memory, Long-term memory, Streaming, Guardrails, MCP, Middleware
-
LangGraph: Persistence, Memory
-
Integrations: PGVector, langchain-neo4j
-
LangSmith: Observability
-
LlamaIndex: https://developers.llamaindex.ai/python/framework/
Spring AI
-
Retrieval Augmented Generation, Chat Memory, ETL Pipeline, Neo4j vector store, PGvector, Vector Databases (filter expressions), ChatClient API, Advisors, Evaluation Testing, Observability, MCP Server Boot Starter
-
Spring Framework and Spring Boot: WebFlux, MVC asynchronous requests (SSE), WebSockets, Spring Security OAuth 2.0 Resource Server JWT
LangChain4j
Neo4j
-
neo4j-graphrag: https://neo4j.com/docs/neo4j-graphrag-python/current/ (the knowledge-graph builder and RAG user guides) and its repository https://github.com/neo4j/neo4j-graphrag-python
-
The LLM Graph Builder: https://neo4j.com/labs/genai-ecosystem/llm-graph-builder/
-
Neo4j GenAI documentation: https://neo4j.com/docs/genai/
-
Graph Data Science: https://neo4j.com/docs/graph-data-science/current/
-
Cypher manual: https://neo4j.com/docs/cypher-manual/current/
-
The Neo4j MCP servers: https://github.com/neo4j-contrib/mcp-neo4j
-
The Haystack Neo4j integration: https://haystack.deepset.ai/integrations/neo4j-document-store
-
Microsoft GraphRAG: https://microsoft.github.io/graphrag/
Privacy, guardrails and hallucination detection
-
Presidio: https://microsoft.github.io/presidio/
-
Llama Guard 4 model card: https://huggingface.co/meta-llama/Llama-Guard-4-12B
-
ShieldGemma model card: https://ai.google.dev/gemma/docs/shieldgemma
-
HHEM: https://huggingface.co/vectara/hallucination_evaluation_model
Evaluation
-
Open RAG Eval: https://github.com/vectara/open-rag-eval
-
RAGAS: https://docs.ragas.io/
Observability
-
Langfuse: https://langfuse.com/docs
-
Phoenix: https://arize.com/docs/phoenix
-
OpenTelemetry: Python, Java agent
Web, messaging and deployment
-
FastAPI: Server-Sent Events, Custom Response, WebSockets, CORS, FastAPI in Containers
-
Debezium: https://debezium.io/documentation/
-
Apache Kafka: https://kafka.apache.org/documentation/
-
pgvector: https://github.com/pgvector/pgvector
-
Kubernetes: https://kubernetes.io/docs/home/, Google Cloud Run: https://cloud.google.com/run/docs, Amazon ECS: https://docs.aws.amazon.com/ecs/, Azure Kubernetes Service: https://learn.microsoft.com/azure/aks/
Further documentation pages cited on the pages of this sub-section (links to sections within these pages are not repeated):
-
LangChain and LangGraph: https://docs.langchain.com/oss/python/integrations/graphs/neo4j_cypher, https://docs.langchain.com/oss/python/langchain/messages, https://docs.langchain.com/oss/python/langchain/models, https://docs.langchain.com/oss/python/langchain/structured-output, https://docs.langchain.com/oss/python/langchain/tools, https://reference.langchain.com/python/langchain-core/vectorstores/base/VectorStore, https://reference.langchain.com/python/langchain/embeddings/base/init_embeddings, https://reference.langchain.com/python/langchain_classic/indexes/, https://reference.langchain.com/python/langchain_classic/retrievers/
-
Spring (AI, Boot, Framework, Security, Kafka): https://docs.spring.io/spring-ai/reference/api/audio/transcriptions.html, https://docs.spring.io/spring-ai/reference/api/embeddings.html, https://docs.spring.io/spring-ai/reference/api/mcp/mcp-annotations-server.html, https://docs.spring.io/spring-ai/reference/api/multimodality.html, https://docs.spring.io/spring-ai/reference/api/structured-output-converter.html, https://docs.spring.io/spring-boot/reference/features/external-config.html, https://docs.spring.io/spring-boot/reference/features/task-execution-and-scheduling.html, https://docs.spring.io/spring-kafka/reference/index.html, https://docs.spring.io/spring-kafka/reference/kafka/receiving-messages/listener-annotation.html, https://docs.spring.io/spring-security/reference/servlet/integrations/cors.html
-
LangChain4j: https://docs.langchain4j.dev/integrations/language-models/ollama/, https://docs.langchain4j.dev/tutorials/chat-and-language-models/, https://docs.langchain4j.dev/tutorials/structured-outputs/
-
Parsing and OCR: https://docling-project.github.io/docling/concepts/chunking/, https://docling-project.github.io/docling/concepts/docling_document/, https://docling-project.github.io/docling/examples/custom_convert/, https://docling-project.github.io/docling/examples/export_tables/, https://docling-project.github.io/docling/examples/pictures_description/, https://docling-project.github.io/docling/usage/, https://docs.unstructured.io/open-source/core-functionality/chunking, https://docs.unstructured.io/open-source/core-functionality/partitioning, https://pymupdf.readthedocs.io/en/latest/recipes-text.html, https://pypdf.readthedocs.io/en/stable/user/extract-text.html, https://tesseract-ocr.github.io/tessdoc/, https://tesseract-ocr.github.io/tessdoc/ImproveQuality.html
-
Neo4j: https://neo4j.com/docs/cypher-manual/current/clauses/match/, https://neo4j.com/docs/cypher-manual/current/clauses/merge/, https://neo4j.com/docs/cypher-manual/current/functions/vector/, https://neo4j.com/docs/cypher-manual/current/subqueries/existential/, https://neo4j.com/docs/graph-data-science/current/algorithms/knn/, https://neo4j.com/docs/graph-data-science/current/algorithms/louvain/, https://neo4j.com/docs/java-manual/current/, https://neo4j.com/docs/java-manual/current/query-simple/, https://neo4j.com/docs/java-manual/current/transactions/, https://neo4j.com/docs/neo4j-graphrag-python/current/user_guide_kg_builder.html, https://neo4j.com/docs/neo4j-graphrag-python/current/user_guide_rag.html, https://neo4j.com/docs/operations-manual/current/authentication-authorization/, https://neo4j.com/docs/operations-manual/current/backup-restore/
-
Evaluation: https://deepeval.com/docs/metrics-faithfulness, https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/faithfulness/, https://docs.ragas.io/en/stable/getstarted/rag_testset_generation/
-
Observability: https://docs.micrometer.io/micrometer/reference/concepts.html, https://opentelemetry.io/docs/languages/java/api/, https://opentelemetry.io/docs/languages/python/instrumentation/, https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-spans/
-
Security and privacy: https://microsoft.github.io/presidio/analyzer/, https://microsoft.github.io/presidio/anonymizer/, https://owasp.org/www-project-top-10-for-large-language-model-applications/, https://pyjwt.readthedocs.io/en/stable/, https://pyjwt.readthedocs.io/en/stable/usage.html
-
MCP hosts: https://code.claude.com/docs/en/mcp, https://code.visualstudio.com/docs/agents/reference/mcp-configuration
-
Data stores, messaging and platforms: https://debezium.io/documentation/reference/stable/connectors/postgresql.html, https://docs.confluent.io/platform/current/clients/confluent-kafka-python/html/index.html, https://docs.docker.com/build/building/best-practices/, https://docs.vllm.ai/en/latest/features/automatic_prefix_caching.html, https://fastapi.tiangolo.com/advanced/events/, https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/, https://kubernetes.io/docs/concepts/workloads/controllers/deployment/, https://redis.io/docs/latest/commands/set/, https://redis.io/docs/latest/develop/data-types/sets/, https://redis.io/docs/latest/develop/interact/pubsub/, https://sqlglot.com/sqlglot.html, https://www.postgresql.org/docs/current/continuous-archiving.html, https://www.postgresql.org/docs/current/ddl-rowsecurity.html, https://www.postgresql.org/docs/current/sql-set-transaction.html
-
Python standard library and web platform: https://developer.mozilla.org/docs/Web/API/Streams_API/Using_readable_streams, https://docs.python.org/3/library/asyncio-task.html, https://docs.python.org/3/library/difflib.html, https://docs.python.org/3/library/hashlib.html, https://docs.python.org/3/library/math.html, https://docs.python.org/3/library/statistics.html, https://docs.python.org/3/library/unicodedata.html
Specifications and standards
-
Model Context Protocol, revision 2026-07-28: https://modelcontextprotocol.io/specification/2026-07-28
-
OpenTelemetry semantic conventions for generative AI: https://opentelemetry.io/docs/specs/semconv/gen-ai/
-
OpenAPI Specification 3.2.0: https://spec.openapis.org/oas/v3.2.0.html
-
HTML Living Standard, server-sent events: https://html.spec.whatwg.org/multipage/server-sent-events.html
-
RFC 6455, The WebSocket Protocol: https://www.rfc-editor.org/rfc/rfc6455
-
RFC 6750, OAuth 2.0 Bearer Token Usage: https://www.rfc-editor.org/rfc/rfc6750
-
RFC 9457, Problem Details for HTTP APIs: https://www.rfc-editor.org/rfc/rfc9457
-
The Idempotency-Key HTTP header field (IETF draft): https://datatracker.ietf.org/doc/draft-ietf-httpapi-idempotency-key-header/
-
Regulation (EU) 2016/679 (GDPR): https://eur-lex.europa.eu/eli/reg/2016/679/oj
-
RFC 8594, The Sunset HTTP Header Field: https://www.rfc-editor.org/rfc/rfc8594
-
URL Fragment Text Directives (WICG): https://wicg.github.io/scroll-to-text-fragment/
Papers and engineering articles
-
Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, 2020: https://arxiv.org/abs/2005.11401
-
Edge et al., From Local to Global: A Graph RAG Approach to Query-Focused Summarization, 2024: https://arxiv.org/abs/2404.16130
-
Sarthi et al., RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval, 2024: https://arxiv.org/abs/2401.18059
-
Faysse et al., ColPali: Efficient Document Retrieval with Vision Language Models, 2024: https://arxiv.org/abs/2407.01449
-
Gao et al., Precise Zero-Shot Dense Retrieval without Relevance Labels (HyDE), 2022: https://arxiv.org/abs/2212.10496
-
Chen et al., Dense X Retrieval: What Retrieval Granularity Should We Use? (propositions), 2023: https://arxiv.org/abs/2312.06648
-
Günther et al., Late Chunking: Contextual Chunk Embeddings Using Long-Context Embedding Models, 2024: https://arxiv.org/abs/2409.04701
-
Anthropic, Introducing Contextual Retrieval, 2024: https://www.anthropic.com/engineering/contextual-retrieval
-
Min et al., FActScore: Fine-grained Atomic Evaluation of Factual Precision in Long Form Text Generation, 2023: https://arxiv.org/abs/2305.14251
-
Es et al., RAGAS: Automated Evaluation of Retrieval Augmented Generation, 2023: https://arxiv.org/abs/2309.15217
-
Upadhyay et al., UMBRELA: UMbrela is the (Open-Source Reproduction of the) Bing RELevance Assessor, 2024: https://arxiv.org/abs/2406.06519
-
Pradeep et al., Initial Nugget Evaluation Results for the TREC 2024 RAG Track with the AutoNuggetizer Framework, 2024: https://arxiv.org/abs/2411.09607
-
Greshake et al., Not what you’ve signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection, 2023: https://arxiv.org/abs/2302.12173
-
Inan et al., Llama Guard: LLM-based Input-Output Safeguard for Human-AI Conversations, 2023: https://arxiv.org/abs/2312.06674
-
Zeng et al., ShieldGemma: Generative AI Content Moderation Based on Gemma, 2024: https://arxiv.org/abs/2407.21772
-
Liu et al., Lost in the Middle: How Language Models Use Long Contexts, 2023: https://arxiv.org/abs/2307.03172
The requester-provided books are consulted references, not the primary source of any example on these pages. On any discrepancy between a book and the official documentation of a tool or framework, the official documentation is authoritative.
References
-
Vector Databases & RAG — the foundations this sub-section builds on.
-
Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks