Skip to main content

sokuto_runtime/
lib.rs

1//! # sokuto-runtime
2//!
3//! 高速トークナイズおよび ONNX Runtime による超低遅延推論パイプラインを提供するクレート。
4//!
5//! ## 概要
6//! - Hugging Face `tokenizers` を用いたトークナイズ処理。
7//! - ONNX Runtime (`ort`) を用いた単一フォワードパス決定ヘッド推論。
8//! - 候補数が多い場合の粗密探索(Coarse-to-Fine)やバッチ推論。
9
10pub use sokuto_core as core;
11
12pub mod dag;
13pub mod engine;
14pub mod error;
15pub mod hierarchical;
16pub mod tokenizer;
17
18pub use dag::{
19    DagDefinition, DagError, DagExecutionResult, DagNode, DagNodeType, InProcessDagExecutor,
20    LowLatencyResourcePool, LowLatencySessionPool, NodeCondition, NodeConditionOp, PooledResource,
21    PooledSession, StepExecutionResult, validate_dag,
22};
23
24pub use engine::{
25    AlignedBuffer64, BatchScratchpad, CacheCompressionMode, CachedStateFeatures,
26    CachedTensorPayload, CandidateEmbeddingCache, CoarseScorer, CoarseToFineConfig,
27    DEFAULT_COARSE_THRESHOLD, DEFAULT_DUAL_MAX_BATCH_CHUNK_SIZE, DEFAULT_MAX_BATCH_CHUNK_SIZE,
28    DEFAULT_NEGATIVE_KEYS, DEFAULT_TOP_M_CANDIDATES, DualSessionEngine, EmbeddingCoarseScorer,
29    ExecutionProvider, FilteredCandidates, HierarchicalCoarseScorer, InferenceEngine,
30    LexicalCoarseScorer, ModelDrivenCoarseScorer, OptimizationLevel, SessionConfig,
31    StateCacheManager, filter_top_candidates, is_aligned_64, is_negative_candidate,
32    reconstruct_probabilities,
33};
34pub use error::{Result, RuntimeError};
35pub use hierarchical::{
36    CoarseToFineRouter, DEFAULT_BEAM_MARGIN_THRESHOLD, DEFAULT_CATCHALL_THRESHOLD,
37    DEFAULT_COARSE_POWER_ALPHA, DEFAULT_ENTROPY_TEMP_GAMMA, DEFAULT_ESCALATE_CONFIDENCE_THRESHOLD,
38    DirichletCalibrator, HierarchicalEngine, HierarchicalExecutionTrace, HierarchicalMapping,
39    HierarchicalMappingBuilder, HierarchicalResult, HierarchicalRouterConfig,
40    combine_and_reconstruct_probabilities, compute_fine_temperature, compute_normalized_entropy,
41    softmax_f64, temperature_scaled_softmax,
42};
43pub use tokenizer::{BatchTokenizedQuestions, JevTokenizer, TokenizedQuestion};
44
45/// ランタイムの初期化確認用関数。
46pub fn version() -> &'static str {
47    env!("CARGO_PKG_VERSION")
48}
49
50#[cfg(test)]
51mod tests {
52    use super::*;
53
54    #[test]
55    fn test_version() {
56        assert_eq!(version(), env!("CARGO_PKG_VERSION"));
57    }
58}