citation

**Citations and Attribution in RAG** **Why Citations Matter** LLMs can hallucinate. Citations ground responses in source documents, enabling verification and building trust. **Citation Approaches** **Inline Citations** Reference sources within the response: ``` According to the documentation [1], the maximum batch size is 64. The API rate limit is 1000 requests per minute [2]. [1] api-docs.md, Section 3.2 [2] rate-limits.md ``` **Post-hoc Attribution** After generation, find supporting sources: ```python def add_citations(response: str, sources: list) -> str: sentences = split_sentences(response) cited = [] for sentence in sentences: source = find_best_source(sentence, sources) if source and similarity > threshold: cited.append(f"{sentence} [{source.id}]") else: cited.append(sentence) return " ".join(cited) ``` **Grounded Generation** Force LLM to cite while generating: ``` Generate a response using ONLY the provided sources. For each claim, cite the source in [brackets]. Sources: [1] doc1.txt: ... [2] doc2.txt: ... Question: ... Answer (cite every fact): ``` **Implementation Patterns** **Chunk-Level Attribution** ```python def generate_with_citations(query: str, chunks: list) -> str: context = " ".join([f"[{i}] {c.text}" for i, c in enumerate(chunks)]) response = llm.generate(f""" Answer using the sources below. Cite each fact with [source number]. Sources: {context} Question: {query} Answer: """) return response ``` **Verification** Check if citations are accurate: ```python def verify_citation(claim: str, source: str) -> bool: result = llm.generate(f""" Does this source support this claim? Claim: {claim} Source: {source} Answer (yes/no): """) return "yes" in result.lower() ``` **Citation Metadata** Include useful context: ```python citation = { "source_id": "doc123", "title": "API Documentation", "page": 5, "chunk_text": "...", "confidence": 0.92, "url": "https://..." } ``` **Best Practices** - Always retrieve more context than needed - Use chunk IDs, not just document names - Verify high-stakes citations - Make citations clickable in UI - Handle cases with no good source gracefully

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account