You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
langchain/templates/rag-semi-structured
Erick Friis ebf998acb6
Templates (#12294)
Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
Co-authored-by: Lance Martin <lance@langchain.dev>
Co-authored-by: Jacob Lee <jacoblee93@gmail.com>
11 months ago
..
docs Templates (#12294) 11 months ago
rag_semi_structured Templates (#12294) 11 months ago
tests Templates (#12294) 11 months ago
LICENSE Templates (#12294) 11 months ago
README.md Templates (#12294) 11 months ago
poetry.lock Templates (#12294) 11 months ago
pyproject.toml Templates (#12294) 11 months ago
rag_semi_structured.ipynb Templates (#12294) 11 months ago

README.md

Semi structured RAG

This template performs RAG on semi-structured data (e.g., a PDF with text and tables).

See this blog post for useful background context.

Data loading

We use partition_pdf from Unstructured to extract both table and text elements.

This will require some system-level package installations, e.g., on Mac:

brew install tesseract poppler

Chroma

Chroma is an open-source vector database.

This template will create and add documents to the vector database in chain.py.

These documents can be loaded from many sources.

LLM

Be sure that OPENAI_API_KEY is set in order to the OpenAI models.

Adding the template

Create your LangServe app:

langchain serve new my-app
cd my-app

Add template:

langchain serve add rag-semi-structured

Start server:

langchain start

See Jupyter notebook rag_semi_structured for various way to connect to the template.