RAG engineering: embeddings, chunking, vector databases, hybrid search, reranking.
Entry point:
/faion-netβ invoke this skill for automatic routing to the appropriate domain.
Communication: User's language. Code: English.
Specializes in RAG (Retrieval Augmented Generation) systems. Covers document processing, embeddings, vector search, and retrieval optimization.
| Area | Coverage |
|---|---|
| Chunking | Text splitting, semantic chunking, overlap strategies |
| Embeddings | Text vectorization, similarity search, models |
| Vector DBs | Qdrant, Weaviate, Chroma, pgvector |
| Retrieval | Hybrid search, reranking, metadata filtering |
| RAG Systems | Architecture, evaluation, agentic RAG |
| Task | Files |
|---|---|
| Basic RAG | chunking-basics.md β embedding-basics.md β rag-architecture.md |
| Vector DB setup | db-comparison.md β db-qdrant.md (recommended) |
| Advanced retrieval | hybrid-search-basics.md β reranking-basics.md |
| RAG evaluation | rag-eval-metrics.md β rag-eval-methods.md |
| Agentic RAG | agentic-rag.md |
Chunking (2):
Embeddings (4):
Vector Databases (4):
Retrieval (4):
RAG Systems (7):
Document Ingestion
β
Chunking (semantic/fixed)
β
Embedding Generation
β
Vector Database Storage
β
Query Processing
β
Retrieval (vector + hybrid)
β
Reranking
β
Context Assembly
β
LLM Generation
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings
from langchain_chroma import Chroma
# Chunk documents
splitter = RecursiveCharacterTextSplitter(
chunk_size=1000,
chunk_overlap=200
)
chunks = splitter.split_documents(docs)
# Generate embeddings and store
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(chunks, embeddings)
# Retrieve
retriever = vectorstore.as_retriever(
search_type="similarity",
search_kwargs={"k": 5}
)
results = retriever.invoke("query")
from qdrant_client import QdrantClient
from qdrant_client.models import Distance, VectorParams, Filter
client = QdrantClient("localhost", port=6333)
# Create collection
client.create_collection(
collection_name="docs",
vectors_config=VectorParams(size=1536, distance=Distance.COSINE)
)
# Hybrid search
results = client.search(
collection_name="docs",
query_vector=query_embedding,
query_filter=Filter(...),
limit=10
)
from cohere import Client
co = Client(api_key="...")
# Rerank retrieved docs
reranked = co.rerank(
query="query text",
documents=[doc.text for doc in results],
top_n=3,
model="rerank-english-v3.0"
)
| Metric | Measures |
|---|---|
| Retrieval Precision | Relevant docs in results |
| Retrieval Recall | Coverage of relevant docs |
| MRR | Mean reciprocal rank |
| NDCG | Ranking quality |
| Faithfulness | Grounding in context |
| Answer Relevance | Response matches query |
| Skill | Relationship |
|---|---|
| faion-llm-integration | Uses embedding APIs |
| faion-ai-agents | Agentic RAG patterns |
| faion-ml-ops | RAG evaluation |
RAG Engineer v1.0 | 22 methodologies