All templates
Template· Starters
RAG pipeline scaffold
Chunk → embed → retrieve → answer, with citations.
#rag#python
python
"""
Minimal RAG pipeline: ingest -> chunk -> embed -> store -> retrieve.
Docs: https://python.langchain.com/docs/tutorials/rag/
"""
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings
from langchain_postgres import PGVector
DB_URL = "postgresql+psycopg://user:pass@localhost:5432/rag"
COLLECTION = "docs"
def ingest(documents: list[str]) -> None:
splitter = RecursiveCharacterTextSplitter(chunk_size=800, chunk_overlap=100)
chunks = splitter.create_documents(documents)
store = PGVector(
embeddings=OpenAIEmbeddings(model="text-embedding-3-large"),
collection_name=COLLECTION,
connection=DB_URL,
)
store.add_documents(chunks)
def retrieve(query: str, k: int = 5):
store = PGVector(
embeddings=OpenAIEmbeddings(model="text-embedding-3-large"),
collection_name=COLLECTION,
connection=DB_URL,
)
return store.similarity_search(query, k=k)
if __name__ == "__main__":
ingest(["Your first document text here."])
print(retrieve("example question"))