#![warn(missing_docs)]
#![warn(rustdoc::missing_crate_level_docs)]
pub mod corpus;
pub mod dictionary;
pub mod embedding;
pub mod generation;
pub mod hybrid;
pub mod ngram;
pub mod scoring;
pub mod util;
#[cfg(feature = "lling-llang-integration")]
pub mod integration;
#[cfg(feature = "cli")]
pub mod cli;
#[cfg(feature = "cli")]
pub mod language;
#[cfg(feature = "acoustic")]
pub mod acoustic;
#[cfg(feature = "neural-rescore")]
pub mod neural;
#[cfg(feature = "rag")]
pub mod rag;
#[cfg(feature = "rag")]
pub mod topic;
#[cfg(any(feature = "google-books", feature = "pdf-extraction"))]
pub mod sources;
#[cfg(feature = "google-books")]
pub mod aggregated;
#[cfg(feature = "code")]
pub mod code;
#[cfg(feature = "latex")]
pub mod latex;
pub mod error {
use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("XML parsing error: {0}")]
Xml(#[from] quick_xml::Error),
#[error("Invalid n-gram order: {0} (must be >= 1)")]
InvalidOrder(usize),
#[error("Empty corpus: no sentences found")]
EmptyCorpus,
#[error("Model not trained: {0}")]
NotTrained(String),
#[cfg(feature = "serde-extras")]
#[error("Serialization error: {0}")]
Serialization(#[from] bincode::Error),
#[error("Serialization error: {0}")]
SerializationMessage(String),
#[cfg(feature = "neural-rescore")]
#[error("Neural error: {0}")]
Neural(#[from] crate::neural::NeuralError),
}
pub type Result<T> = std::result::Result<T, Error>;
}
pub use error::{Error, Result};
pub mod prelude {
pub use crate::corpus::CorpusReader;
pub use crate::error::{Error, Result};
pub use crate::ngram::{NgramEntry, NgramModel};
pub use crate::scoring::Perplexity;
#[cfg(feature = "lling-llang-integration")]
pub use crate::integration::GrammsteinLanguageModel;
#[cfg(feature = "acoustic")]
pub use crate::acoustic::{
FeatureConfig, FeatureExtractor, MelFilterbank, StreamingFeatureExtractor, WindowType,
};
#[cfg(feature = "candle-model")]
pub use crate::acoustic::{
AcousticModel, AcousticModelConfig, LinearAcousticModel, MockAcousticModel,
TransformerAcousticModel,
};
#[cfg(feature = "neural-rescore")]
pub use crate::neural::{
Device, EmbeddingConfig, ModernBertConfig, ModernBertEmbedder, ModernBertModel,
ModernBertRescorer, RescoringConfig, ScoredPath, Summarizer, SummarizerConfig, Synopsis,
SynopsisSource,
};
#[cfg(feature = "rag")]
pub use crate::rag::{
Document, DocumentId, DocumentMetadata, ExactCosineBackend, IndexBuilder,
IndexBuilderConfig, LanguageTag, RagIndex, RagIndexConfig, RetrievalConfig,
RetrievalResult, Retriever,
};
#[cfg(feature = "rag")]
pub use crate::topic::{Topic, TopicConfig, TopicExtractor, TopicId, TopicModel};
#[cfg(feature = "code")]
pub use crate::code::{
AnalysisResult,
AstError,
AstNode,
CodeCorpusReader,
CodeCorrector,
CodeLanguage,
CodePropertyGraph,
CodeSnippet,
CodeToken,
CodeTokenizer,
ConstrainedDecodingConfig,
Correction,
CorrectionCandidates,
CorrectionKind,
CorrectionPipeline,
CorrectionSource,
CpgEdge,
CpgEdgeKind,
CpgNode,
CpgNodeKind,
DecodingVocabulary,
Diagnostic,
DiagnosticSeverity,
EnsembleCorrector,
GnnConfig,
GnnFeatures,
GnnSemanticScorer,
GrammarConstraint,
GrammarCorrector,
IssueType,
LexicalCorrector,
ParsedCode,
PcfgTrainer,
PipelineConfig,
PipelineError,
Production,
SemanticCorrector,
SemanticIssue,
TokenContext,
TokenMask,
TokenType,
WeightedCFG,
};
#[cfg(feature = "code-python")]
pub use crate::code::Python;
#[cfg(feature = "code-rust")]
pub use crate::code::Rust;
#[cfg(feature = "code-javascript")]
pub use crate::code::JavaScript;
#[cfg(feature = "latex")]
pub use crate::latex::{
BraceKind,
CommandEmbedding,
ComponentScore,
EquationDocument,
EquationEmbedding,
EquationRagIndex,
EquationRetrievalConfig,
EquationRetriever,
LaTeXEmbedder,
LaTeXEmbeddingConfig,
LaTeXMode,
LaTeXNgramModel,
LaTeXRescorer,
LaTeXScorer,
LaTeXScorerBuilder,
LaTeXToken,
LaTeXTokenKind,
LaTeXTokenizer,
MathMode,
ModeDetector,
NgramConfig,
RescoreResult,
RescorerConfig,
ScorerConfig,
ScoringResult,
TokenizerConfig,
};
}