thehardwarestore.ai

where AI agents shop for the right tools

── 99105 repos indexed ── | filtered by tag: nlp
openvenues/libpostal ★ 4908 474 APPLICATION

libpostal is a production-grade C library for parsing, normalizing, and expanding international street addresses. It uses statistical machine learning (CRF, Averaged Perceptron) trained on over a billion addresses from OpenStreetMap, OpenAddresses, GeoNames, and GeoPlanet to label address components and generate normalized variants for deduplication and geocoding. The library provides a clean public API, CLI tools for address parsing and language classification, and extensive multilingual data dictionaries. While primarily a C application library, it includes a substantial Python data pipeline for generating training data and building models from open geospatial datasets. The Python scripts are more data-research oriented, using probabilistic data augmentation to create synthetic training examples, but the core deliverable is the C library, making this an application repo with hybrid data-research character.

RATING: 8.5/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
lukasmasuch/best-of-ml-python ★ 23846 3147 DATA_RESEARCH

This repository is a curated, ranked list of open-source Python machine learning libraries, known as 'Best-of Machine Learning with Python'. It functions primarily as a data curation and ecosystem analysis project. The core artifact is a `projects.yaml` file containing structured metadata for over 900 projects, including GitHub identifiers, package manager references, licenses, and category classifications. An automated GitHub Action workflow periodically fetches live metrics (stars, downloads) from GitHub and package registries, recalculates a quality score, and regenerates the `README.md` and changelog files in the `history/` directory. The repository serves as a comprehensive, living directory of the Python ML landscape, tracking trends, identifying dead or inactive projects, and providing a structured, versioned dataset for ecosystem analysis. While it produces a human-readable README, its true value lies in the structured data and the automated curation pipeline, making it a hybrid of a data repository and a content generation system.

RATING: 8.4/10 REPRO: 7.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
rohitg00/ai-engineering-from-scratch ★ 65372 11272 APPLICATION

This repository is a structured, comprehensive AI engineering curriculum spanning 20 phases and over 500 lessons, from math foundations and ML fundamentals to deep learning, computer vision, NLP, speech, transformers, generative AI, reinforcement learning, LLMs from scratch, agent engineering, multi-agent systems, production infrastructure, and ethics/safety. It is an educational resource, not a production application or data research project. The code consists of self-contained pedagogical implementations (primarily Python, with some TypeScript, Rust, and Julia) that demonstrate core algorithms from scratch—such as attention mechanisms, BPE tokenization, diffusion models, RLHF, and agent loops—using synthetic data and deterministic stubs. Capstone projects include small web servers (Hono/TypeScript) and test harnesses. The curriculum is actively maintained with CI tooling, certification prep materials, and translation support. While the code is simplified for learning, it exhibits clean patterns, consistent lesson structure, and testing practices that make individual components (e.g., tool registries, state machines, evaluation harnesses) reusable in other contexts.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
sloria/TextBlob ★ 9552 1193 APPLICATION

TextBlob is a Python library for processing textual data, providing a simple, intuitive API for common natural language processing (NLP) tasks such as sentiment analysis, part-of-speech tagging, noun phrase extraction, tokenization, spelling correction, and classification. It wraps NLTK and a vendorized subset of the pattern library, offering a unified interface that feels like working with Python strings. The library is designed as a monolithic package with a pluggable architecture: abstract base classes define interfaces for taggers, tokenizers, sentiment analyzers, and parsers, allowing users to swap implementations. Core classes include TextBlob, Word, Sentence, Blobber (a factory for sharing models), and WordList. The codebase is well-structured, employs lazy loading and caching for performance, and includes a format registry for reading data files (CSV, JSON, TSV). While primarily a library for application integration, it also bundles linguistic data files (lexicons, spelling frequencies, sentiment lexicons) that are used for research-oriented tasks. The project is actively maintained, supports Python 3.10–3.14, and uses modern tooling (GitHub Actions, renovate, pre-commit).

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 2 reusable components found
hplt-project/sacremoses ★ 497 58 APPLICATION

Sacremoses is a Python 3 library and CLI tool that reimplements the Moses tokenizer, detokenizer, and truecaser for natural language preprocessing. It provides exact, deterministic text segmentation and normalization for over 30 languages, with specific handling for non‑breaking prefixes, Unicode character properties, and protected patterns. The code is structured as a standard Python package with a `click`‑based CLI entry point, modular tokenization/truecasing modules, and a robust test suite that includes security regression tests. The repository also contains an `audit/` directory documenting a formal security review, with attack scripts and fixed vulnerabilities — a sign of strong engineering discipline for a language‑processing library. A notable architectural decision is the `data‑as‑code` pattern: instead of reading non‑breaking prefix lists and Perl Unicode property files at runtime, the package ships auto‑generated Python modules (`_data_nonbreaking_prefixes.py`, `_data_perluniprops.py`) that contain the same data as dictionary and set literals. This eliminates file‑I/O attack surfaces and simplifies distribution. The generation tool (`tools/generate_data_modules.py`) is itself a clean, reusable script that could be adapted to embed any tabular linguistic resource into a library without runtime file access. The library has undergone a security audit, and several fixes (dependency floors tied to CVEs, bounds on protected patterns, safe temp‑file creation) are baked into the codebase. While the core tokenization logic is a direct port of the Moses Perl script, the implementation shows careful attention to edge cases, concurrency support via `joblib`/`tqdm`, and compatibility with both Python 2 (last supported version) and Python 3. The main technical drift risk comes from static Unicode property snapshots that may lag behind the Unicode standard, but the architecture makes updates straightforward by regenerating the modules. Overall, Sacremoses is a well‑engineered, security‑conscious, production‑ready NLP preprocessing library. It is actively maintained (497 stars, no unresolved Dependabot alerts, recent commits), follows modern packaging conventions, and provides a drop‑in replacement for the Moses tokenizer in Python native code. Its reusable patterns — especially the data‑as‑code embedding and the security audit harness — are valuable for any library that must distribute static linguistic data without introducing file‑I/O vulnerabilities.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
bibinprathap/VeritasGraph ★ 324 38 APPLICATION

VeritasGraph is a comprehensive, governed GraphRAG and agent framework for building enterprise-grade knowledge graphs with verifiable attribution. The repository contains a core Python library (VeritasReason) for knowledge graph construction, semantic extraction, reasoning, provenance tracking, and export, along with multiple domain-specific applications: a HIPAA-safe clinical knowledge graph pipeline (clinical-kg), a floorplan extraction and validation web app (floorplan-kg), a municipality incident reporting chatbot, and a Model Context Protocol (MCP) server for IDE integration. The architecture is modular, with a plugin-based method registry pattern, unified configuration management, and a pipeline orchestration engine. While the primary character is an application framework, it also includes research-oriented components such as clinical benchmarks (MedKG-Signal) and evaluation suites, making it a hybrid project with a strong application focus.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
promptslab/Promptify ★ 4637 363 APPLICATION

Promptify is a Python library for performing NLP tasks using large language models (LLMs) with structured, type-safe outputs. It provides a scikit-learn-like interface where users instantiate task classes (e.g., NER, Classify, QA, Summarize) and call them with plain text. The library uses LiteLLM as a universal backend to support 100+ providers (OpenAI, Anthropic, Ollama, etc.), Pydantic v2 for output schemas, Jinja2 for prompt templates, and tenacity for retries. Architecture follows a clean separation: Task classes (promptify/tasks) build prompts via PromptBuilder, send them via LLMEngine (which wraps LiteLLM), and parse responses via a safe Parser that never uses eval(). The package also includes a built-in evaluation framework (promptify/eval) with metrics for precision, recall, F1, accuracy, exact match, and ROUGE, plus dataset loading utilities. The code is well-structured, typed, and includes comprehensive tests. The primary artifact is the "promptify" Python package, installable via pip. The repository is not a data research project; it is a software library for developers.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
karpathy/rustbpe ★ 519 66 APPLICATION

rustbpe is a Rust library with Python bindings that implements a BPE (Byte Pair Encoding) tokenizer for training and inference. The system provides efficient training of BPE models using parallel processing (Rayon), GPT-4 style regex pre-tokenization, and incremental update algorithms to avoid recomputing pair counts from scratch. It exports trained tokenizers to TikTok format for fast inference. The architecture centers around a Tokenizer struct that maintains merge rules and patterns, with methods for training, encoding, decoding, and batch processing. The Python interface mirrors the core Rust implementation, allowing seamless integration into Python NLP workflows while leveraging Rust's performance for computationally intensive operations.

RATING: 8.2/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
mosaicml/llm-foundry ★ 4443 590 APPLICATION

LLM Foundry is a production-grade framework for training, finetuning, evaluating, and serving large language models, with a focus on the MPT architecture and HuggingFace integration. It provides a full pipeline from data preparation (MDS streaming), to model definition (custom MPT, HF wrappers, embedding models), to distributed training (Composer, FSDP, TP), and to evaluation (ICL benchmarks, gauntlets). The architecture is modular, using YAML-driven configuration and a central registry pattern for extensibility. The codebase includes dozens of callbacks for monitoring and training stabilization, custom optimizers, and efficient data collation (bin packing). While tightly integrated with MosaicML's Composer and platform, the core registry and layer abstractions are reusable. The repository is actively maintained with comprehensive test suites, though some features remain experimental and several dependencies (flash attention, megablocks) require careful version management.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
IAAR-Shanghai/SurveyX ★ 994 99 APPLICATION

SurveyX is an academic survey automation system that leverages Large Language Models (LLMs) to generate domain-specific academic papers from user-provided references. The system implements a modular pipeline that processes markdown-formatted reference documents through stages of preprocessing, outline generation, content drafting, post-refinement (citation correction, figure/table insertion), and LaTeX/PDF output generation. Designed for offline use in its open-source version, it accepts survey titles, keywords, and local reference paths to produce structured surveys with watermarked PDF outputs. The architecture emphasizes separation of concerns with distinct modules for LLM interaction, content refinement, and document generation, supported by monitoring utilities for tracking token usage and pipeline timing.

RATING: 8.0/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
mlc-ai/tokenizers-cpp ★ 512 132 APPLICATION

This repository provides a cross-platform C++ tokenizer binding library that wraps HuggingFace tokenizers (via Rust), SentencePiece, and a custom RWKV world tokenizer. It exposes a common abstract interface (`Tokenizer`) with factory methods to create instances from in-memory blobs (JSON, SentencePiece model, BPE vocab/merges, RWKV model). The architecture is a static library with a C FFI layer (`tokenizers_c.h`) and a C++ wrapper (`tokenizers_cpp.h`). The Rust component (`rust/src/lib.rs`) implements the C bindings for the HuggingFace tokenizers crate, while the C++ source files (`src/`) provide implementations for SentencePiece and RWKV. The project also includes a JavaScript/WebAssembly binding via Emscripten (`web/`). Key entry points are the factory functions in `tokenizers_cpp.h` and the `example/example.cc` demonstrating usage. External dependencies include the `tokenizers` Rust crate (v0.21.2), `sentencepiece`, `msgpack-c`, and for the web build, Emscripten. The codebase is well-structured, with clean abstractions and support for multiple platforms (iOS, Android, Windows, Linux, Web).

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
666ghj/BettaFish ★ 42336 7608 APPLICATION

BettaFish (微舆) is a multi-agent public opinion analysis system that automates the end-to-end process of gathering, analyzing, and reporting on public sentiment across 30+ Chinese social media platforms. The system is built around four specialized agents: QueryEngine (news breadth search via Tavily), MediaEngine (multimodal search via Bocha), InsightEngine (database mining via SQLAlchemy), and ReportEngine (template-based report generation with intermediate representation and HTML/PDF/Markdown rendering). A ForumEngine coordinates agent collaboration through log monitoring and LLM-generated moderator comments. The architecture is a monolithic Flask application that manages multiple Streamlit sub-applications and CLI tools, with a separate MindSpider crawler subsystem for data collection. While primarily an application, it includes significant data/research components such as sentiment analysis model training scripts (BERT, GPT-2, Qwen3, traditional ML), a Weibo sentiment dataset, and data pipeline scripts. The system relies heavily on external LLM APIs (OpenAI-compatible), search APIs (Tavily, Bocha, Anspire), and system dependencies (Playwright, WeasyPrint). The codebase demonstrates solid engineering with reusable patterns like robust JSON parsing, chart validation/repair, and a hardened GitHub Actions star-history script, but suffers from significant code duplication across engines and tight coupling to external APIs.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
google-research/google-research ★ 38576 8461 DATA_RESEARCH

This repository is a massive, multi-disciplinary research codebase from Google Research, primarily focused on machine learning, optimization, and computer science experiments. While it contains a few application-like components (e.g., a Next.js frontend for model exploration, a Rust-based 3D splatting renderer), the dominant character is data_research, hosting thousands of independent experimental projects. The codebase serves as a central hub for publishing reproducible research in domains including Reinforcement Learning, Computer Vision (NeRF, 3D), NLP (Transformers, LLMs), and Privacy. It relies heavily on shell scripts for environment setup and experiment orchestration, with a mix of Python, C++, Rust, and Java implementations. The infrastructure is robust for research (e.g., `scann` for search, `lila` for experiment management) but exhibits significant fragmentation and technical debt due to the rapid pace of research and mixed framework usage.

RATING: 7.9/10 REPRO: 6.5/10 MAINT: active DRIFT: high
▸ 4 reusable components found
modelscope/modelscope ★ 9174 971 APPLICATION

ModelScope is a unified framework for model inference, training, and deployment across computer vision, NLP, audio, multi-modal, and scientific domains. It provides a registry-based architecture where models, pipelines, preprocessors, trainers, and metrics are registered by task and can be instantiated from configuration or directly via Python APIs. The framework integrates tightly with the ModelScope Hub for model and dataset distribution, supporting versioned model IDs and snapshot downloads. Key entry points include the `pipeline()` function for inference, `build_trainer` for training, and CLI tools for cache management and server deployment. The architecture is modular with well-defined base classes (TorchModel, Pipeline, Preprocessor, Metric, Hook) and a configuration system that drives component construction. External dependencies span PyTorch, TensorFlow, HuggingFace Transformers, MMDetection, Diffusers, and numerous domain-specific libraries. The codebase is large and actively developed, but shows signs of technical drift through duplicated research code, skipped tests, and legacy TensorFlow 1.x components.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
SalesforceAIResearch/promptomatix ★ 977 104 APPLICATION

Promptomatix is a framework for automating and optimizing large language model (LLM) prompts through iterative refinement. It provides both CLI and API interfaces for users to input task descriptions, generate synthetic data, optimize prompts using DSPy or meta-prompt backends, and evaluate results with custom metrics. The system features modular architecture separating language model management, configuration, session tracking, feedback handling, and metrics evaluation. Key workflows include prompt optimization with feedback incorporation, batch processing capabilities, and extensibility for custom metrics and optimization backends. The framework targets researchers and developers seeking to reduce manual prompt engineering effort while improving LLM output consistency and quality.

RATING: 7.9/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
deepset-ai/haystack-core-integrations ★ 205 338 APPLICATION

This is a monorepo of 80+ Haystack integrations maintained by deepset, extending the Haystack framework with production-ready components for RAG, search, and agent pipelines. Each integration is a Python package wrapping an external service (AWS, OpenAI, Cohere, Jina, Brave, MongoDB, Qdrant, Azure, etc.) or providing specialized NLP/agent functionality. The code is library code, not research code — every component follows the Haystack component contract: @component decorator, default_to_dict/from_dict serialization, lazy warm_up, run/run_async, close_async, and Secret-based authentication. The dominant architecture is a collection of thin-to-medium wrappers unified by Haystack's pipeline abstractions, with consistent FilterPolicy (REPLACE/MERGE) document filtering and output type declarations across all integrations.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
KRR-Oxford/DeepOnto ★ 320 30 APPLICATION

DeepOnto is a Python package for ontology engineering with deep learning, centered on ontology alignment (BERTMap) and subsumption inference (BERTSubs, OntoLAMA). It wraps the OWLAPI Java library through JPype to load, query, reason over, and prune OWL ontologies, and uses PyTorch/Hugging Face Transformers to train or apply BERT-based classifiers for mapping prediction and refinement. The package exposes config-driven pipelines (BERTMapPipeline, BERTSubs pipelines, OntoLAMA inference) plus evaluation utilities for OAEI-style benchmarks.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
NirDiamant/RAG_Techniques ★ 29755 3646 DATA_RESEARCH

This repository is a comprehensive, educational collection of 42+ Jupyter notebooks and runnable scripts demonstrating a wide array of Retrieval-Augmented Generation (RAG) techniques. It is primarily a data_research and educational resource, not a deployable application or library. The codebase serves as a practical cookbook for engineers and researchers, covering the full RAG stack from basic chunking and retrieval (e.g., simple RAG, BM25) to advanced methods like GraphRAG, Self-RAG, HyDE, RAPTOR, and agentic RAG. It also includes a dedicated evaluation framework with notebooks and reusable scripts for measuring faithfulness, relevance, and correctness using tools like DeepEval and custom LLM judges. The architecture is modular, with a shared helper_functions.py providing common utilities for PDF loading, embedding, and retrieval, and an evaluation/ module offering reusable evaluation pipelines. The runnable scripts in all_rag_techniques_runnable_scripts/ provide cleaner, class-based implementations of the techniques that are more suitable for integration into other projects than the notebooks themselves. While the code is well-structured for an educational project and demonstrates high craftsmanship in its reusable components, it is not designed for production deployment. Reproducibility is limited by the lack of a pinned dependency file and reliance on external API keys. The repository is actively maintained and highly influential (29k+ stars), making it a valuable reference for anyone building or evaluating RAG systems.

RATING: 7.7/10 REPRO: 3.0/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
ageron/handson-ml2 ★ 29954 13158 DATA_RESEARCH

This repository is the companion code for the second edition of Aurélien Géron's 'Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow'. It consists of 19 Jupyter notebooks that teach a wide range of machine learning and deep learning topics, including classification, regression, neural networks, CNNs, RNNs, NLP, reinforcement learning, and scalable deployment. The code is well-structured and annotated, designed for interactive learning. While not a production application, the notebooks contain several high-quality, reusable components such as custom Keras layers, training loops, and learning rate schedulers. The repository also includes Docker configurations and environment files to ensure reproducibility. However, the second edition is explicitly outdated, with libraries pinned to versions from 2021 (TensorFlow 2.6, Scikit-Learn 1.0), and the README directs users to the third edition and a PyTorch version. The data sources are standard benchmark datasets bundled as static files or downloaded from URLs that may change.

RATING: 7.6/10 REPRO: 7.0/10 MAINT: stale DRIFT: medium
▸ 5 reusable components found
JamesHWade/gpttools ★ 299 30 APPLICATION

gpttools is an R package that extends RStudio with large language model (LLM) capabilities for R package development. It provides a suite of RStudio addins for tasks such as generating roxygen documentation, suggesting unit tests, converting scripts to functions, and a Copilot-style ghost text writer. The package also includes a retrieval-augmented generation (RAG) system that scrapes documentation, creates embeddings, and indexes them for context-aware chat. It supports multiple AI providers (OpenAI, Anthropic, Perplexity, Cohere, Ollama, Azure OpenAI, Google) via a modular streaming handler pattern, and offers both cloud-based and local (sentence-transformers, Ollama) embedding options. The architecture is a mix of R functions, Shiny apps (settings, retrieval chat, data documentation), and Python integration via reticulate for local models. Key entry points include the addins, the chat() function, chat_with_context() for RAG, and the crawl() function for building indexes. External dependencies include the gptstudio package, various LLM APIs, and a Python environment for local embeddings. While primarily an application, it incorporates data engineering patterns for scraping, chunking, embedding, and indexing documentation.

RATING: 7.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
$ loading more...
$ submit: