CoolFace
Datasetpublic

saidsef/knowledge-base-docs

Knowledge Base Documentation Dataset A comprehensive, pre-processed and vectorized dataset containing documentation from 25+ popular open-source projects and cloud platforms, optimized for Retrieval-Augmented Generation (RAG) applications. πŸ“Š Dataset Overview This dataset aggregates technical documentation from leading open-source projects across cloud-native, DevOps, machine learning, and infrastructure domains. Each document has been chunked and embedded using… See the full description on the dataset page: https://huggingface.co/datasets/saidsef/knowledge-base-docs.

sourceHugging Faceupdated 3d agoView on Hugging Face
1likes142downloads
Dataset Card

Knowledge Base Documentation Dataset

A comprehensive, pre-processed and vectorized dataset containing documentation from 25+ popular open-source projects and cloud platforms, optimized for Retrieval-Augmented Generation (RAG) applications.

πŸ“Š Dataset Overview

This dataset aggregates technical documentation from leading open-source projects across cloud-native, DevOps, machine learning, and infrastructure domains. Each document has been chunked and embedded using the all-MiniLM-L6-v2 sentence transformer model.

Dataset ID: saidsef/knowledge-base-docs

🎯 Sources

The dataset includes documentation from the following projects:

SourceDomainFile Types
kubernetesContainer OrchestrationMarkdown
terraformInfrastructure as CodeMDX
kustomizeKubernetes ConfigurationMarkdown
ingress-nginxKubernetes IngressMarkdown
helmPackage ManagementMarkdown
external-secretsSecrets ManagementMarkdown
prometheusMonitoringMarkdown
argo-cdGitOpsMarkdown
istioService MeshMarkdown
scikit-learnMachine LearningRST
ciliumNetworking & SecurityRST
redisIn-Memory DatabaseMarkdown
grafanaObservabilityMarkdown
dockerContainerizationMarkdown
linuxOperating SystemRST
ckad-exercisesKubernetes CertificationMarkdown
aws-eks-best-practicesAWS EKSMarkdown
gcp-professional-servicesGoogle CloudMarkdown
external-dnsDNS ManagementMarkdown
google-kubernetes-engineGKEMarkdown
consulService MeshMarkdown
vaultSecrets ManagementMDX
tektonCI/CDMarkdown
model-context-protocol-mcpAI Context ProtocolMarkdown

πŸ“‹ Dataset Schema

Each row in the dataset contains the following fields:

FieldTypeDescription
contentstringChunked text content (500 words with 50-word overlap)
original_idint/floatReference to the original document ID
embeddingslist[float]384-dimensional embedding vector from all-MiniLM-L6-v2

πŸ”§ Dataset Creation Process

1. Data Collection

  • β€”Shallow clone of 25+ GitHub repositories
  • β€”Extraction of documentation files (.md, .mdx, .rst)

2. Content Processing

  • β€”Removal of YAML frontmatter
  • β€”Conversion to LLM-friendly markdown format
  • β€”Stripping of scripts, styles, and media elements
  • β€”Code block preservation with proper formatting

3. Text Chunking

  • β€”Chunk size: 500 words
  • β€”Overlap: 50 words
  • β€”Ensures semantic continuity across chunks

4. Vectorization

  • β€”Model: all-MiniLM-L6-v2
  • β€”Embedding dimensions: 384
  • β€”Normalization: Enabled for cosine similarity
  • β€”Pre-computed embeddings for fast retrieval

5. Storage Format

  • β€”Format: Apache Parquet
  • β€”Compression: Optimized for query performance
  • β€”File: knowledge_base.parquet

πŸ’» Usage Examples

Loading the Dataset

python
import pandas as pd
from datasets import load_dataset

# From Hugging Face Hub
dataset = load_dataset("saidsef/knowledge-base-docs")
df = dataset['train'].to_pandas()

# From local Parquet file
df = pd.read_parquet("knowledge_base.parquet", engine="pyarrow")

Semantic Search / RAG Implementation

python
import numpy as np
from sentence_transformers import SentenceTransformer

# Load the same model used for embedding
model = SentenceTransformer('all-MiniLM-L6-v2', trust_remote_code=True)

def retrieve(query, df, k=5):
    """Retrieve top-k most relevant documents using cosine similarity"""
    # Encode the query
    query_vec = model.encode(query, normalize_embeddings=True)
    
    # Convert embeddings to matrix
    embeddings_matrix = np.vstack(df['embeddings'].values)
    
    # Calculate cosine similarity
    norms = np.linalg.norm(embeddings_matrix, axis=1) * np.linalg.norm(query_vec)
    scores = np.dot(embeddings_matrix, query_vec) / norms
    
    # Add scores and sort
    df['score'] = scores
    return df.sort_values(by='score', ascending=False).head(k)

# Example query
results = retrieve("How do I configure an nginx ingress controller?", df, k=3)
print(results[['content', 'score']])

Building a RAG Pipeline

python
from transformers import pipeline

# Load a question-answering model
qa_pipeline = pipeline("question-answering", model="distilbert-base-cased-distilled-squad")

def rag_answer(question, df, k=3):
    """RAG: Retrieve relevant context and generate answer"""
    # Retrieve relevant documents
    context_rows = retrieve(question, df, k=k)
    context_text = " ".join(context_rows['content'].tolist())
    
    # Generate answer
    result = qa_pipeline(question=question, context=context_text)
    return result['answer'], context_rows

answer, sources = rag_answer("What is a Kubernetes pod?", df)
print(f"Answer: {answer}")

πŸ“ˆ Dataset Statistics

python
# Total chunks
print(f"Total chunks: {len(df)}")

# Average chunk length
df['chunk_length'] = df['content'].apply(lambda x: len(x.split()))
print(f"Average chunk length: {df['chunk_length'].mean():.0f} words")

# Embedding dimensionality
print(f"Embedding dimensions: {len(df['embeddings'].iloc[0])}")

πŸš€ Use Cases

  • β€”RAG Applications: Build retrieval-augmented generation systems
  • β€”Semantic Search: Find relevant documentation across multiple projects
  • β€”Question Answering: Create technical support chatbots
  • β€”Documentation Assistant: Help developers navigate complex documentation
  • β€”Learning Resources: Train models on high-quality technical content
  • β€”Comparative Analysis: Compare documentation approaches across projects

πŸ” Performance Considerations

  • β€”Pre-computed embeddings: No need for runtime encoding
  • β€”Optimized retrieval: Matrix multiplication for fast cosine similarity
  • β€”Parquet format: Efficient storage and query performance
  • β€”Chunk overlap: Better context preservation across boundaries

πŸ› οΈ Requirements

txt
pandas>=2.0.0
numpy>=1.24.0
sentence-transformers>=2.0.0
pyarrow>=12.0.0
datasets>=2.0.0

πŸ“ License

This dataset is a compilation of documentation from various open-source projects. Each source maintains its original license:

  • β€”Most projects use Apache 2.0 or MIT licenses
  • β€”Refer to individual project repositories for specific licensing terms

🀝 Contributing

To add new sources or update existing documentation:

  1. 1.Add the source configuration to the sites list
  2. 2.Run the data collection pipeline
  3. 3.Verify content processing and embedding quality
  4. 4.Submit a pull request with updated dataset

πŸ“§ Contact

For questions, issues, or suggestions, please open an issue on the GitHub repository or contact the maintainer.

πŸ™ Acknowledgments

Special thanks to all the open-source projects that maintain excellent documentation, making this dataset possible.


Last Updated: December 2025 Version: 1.0 Embedding Model: all-MiniLM-L6-v2 Total Sources: 25+