36 tutorials & walkthroughs for all levels
Evaluation
A guided walkthrough to learn everything about evaluation
Creating Your First QA Pipeline with Retrieval-Augmentation
Build your first generative QA pipeline with OpenAI GPT models
Creating a Generative QA Pipeline with Retrieval-Augmentation
Use a large language model in your search system through PromptNode
Creating a Hybrid Retrieval Pipeline
Learn how to combine Retrievers to enhance retrieval
Generating Structured Output with Loop-Based Auto-Correction
Learn how to extract structured data using an LLM, and to validate the generated output against a predefined schema.
Building Fallbacks to Websearch with Conditional Routing
Learn how to direct the query to a web-based RAG route when necessary
Building a Chat Application with Function Calling
Learn how to build chat applications that have agent-like behavior with OpenAI function calling
Customizing Agent to Chat with Your Documents
Advanced Customizations for Agents with Memory
Filtering Documents with Metadata
Learn how to filter down to specific documents at retrieval time using metadata
Preprocessing Different File Types
Learn how to build an indexing pipeline that will preprocess files based on their file type
Embedding Metadata for Improved Retrieval
Learn how to embed metadata while indexing, to improve the quality of retrieval results
Serializing LLM Pipelines
Learn how to serialize and deserialize your pipelines between YAML and Python
Build Your First Question Answering System
Get Started by creating a Retriever Reader pipeline.
Build an Extractive QA Pipeline
Learn how to build a Haystack pipeline that uses an extractive model to display where the answer to your query is.
Build a Scalable Question Answering System
Create a scalable Retriever Reader pipeline that uses an ElasticsearchDocumentStore.
Utilizing Existing FAQs for Question Answering
Create a smarter way to answer new questions using your existing FAQ documents.
Preprocessing Your Documents
Start converting, cleaning, and splitting Documents using Haystack’s preprocessing capabilities.
How to Use Pipelines
Learn about the many ways which you can route queries through the nodes in a pipeline.
Fine-Tuning a Model on Your Own Data
Improve the performance of your Reader by performing fine-tuning.
Better Retrieval with Embedding Retrieval
Use Transformer based dense Retrievers to improve your system’s performance.
Creating a Hybrid Retrieval Pipeline
Learn how to combine keyword-based retrieval and dense retrieval to enhance retrieval
Customizing PromptNode for NLP Tasks
Use PromptNode and PromptTemplate for your custom NLP tasks
Answering Multihop Questions with Agents
Use Agent to answer multihop questions with extractive models
Building a Conversational Chat App
Use ConversationalAgent to build a human-like chat application
Classifying Documents & Queries by Language
Learn how to classify documents and route queries by language, for both indexing and RAG pipelines
Question Generation
Generate a set of questions that can be answered by a given Document.
Evaluating RAG Pipelines
Learn how to evaluate your RAG pipelines using statistical and model-based evaluation metrics
Query Classifier
Classify incoming queries so that they can be routed to the nodes that are best at handling them.
Simplifying Pipeline Inputs with Multiplexer
Learn how to declutter the inputs of complex pipelines
Document Classification at Index Time
Generate and attach classification labels to your Documents when indexing.
Text-To-Image Search Pipeline with Multimodal Retriever
Use a MultiModalRetriever to build a cross-modal search pipeline.
Evaluation of a QA System
Learn how to evaluate the performance of individual nodes as well as entire pipelines.
Training Your Own Dense Passage Retrieval Model
Learn about training a Dense Passage Retrieval model and the data needed to do so.
Using Haystack with REST API
Create a production-ready pipeline and interact with Haystack REST API.
Open-Domain QA on Tables
Perform question answering on tabular data.
Generative Pseudo Labeling for Domain Adaptation
Use a Retriever and a query generator to perform unsupervised domain adaptation.