1#![warn(missing_docs)]
16#![warn(rust_2018_idioms)]
17
18pub mod cross_encoder;
19pub mod distance;
20pub mod docstore;
21pub mod document;
22pub mod embeddings;
23pub mod example_selectors;
24pub mod indexing;
25pub mod loaders;
26pub mod multi_vector;
27pub mod record_manager;
28pub mod retrievers;
29pub mod splitters;
30pub mod transformers;
31pub mod vectorstore;
32
33pub use cross_encoder::{CrossEncoder, CrossEncoderReranker, FnCrossEncoder};
34pub use distance::Distance;
35pub use docstore::{Docstore, InMemoryDocstore};
36pub use document::Document;
37#[cfg(feature = "ollama")]
38pub use embeddings::OllamaEmbeddings;
39#[cfg(feature = "openai")]
40pub use embeddings::OpenAIEmbeddings;
41pub use embeddings::{
42 BatchedEmbeddings, CachedEmbeddings, EmbeddingRouter, Embeddings, EmbeddingsRouter,
43 FakeEmbeddings, FnRouter, LengthRouter,
44};
45#[cfg(feature = "google")]
46pub use embeddings::{GoogleEmbeddings, GoogleEmbeddingsBuilder};
47#[cfg(feature = "voyage")]
48pub use embeddings::{VoyageEmbeddings, VoyageEmbeddingsBuilder};
49pub use example_selectors::{
50 AsyncExampleSelector, EmbedMode, MmrExampleSelector, SemanticSimilarityExampleSelector,
51};
52pub use indexing::{IncrementalReport, IndexingPipeline};
53#[cfg(feature = "csv-loader")]
54pub use loaders::CsvLoader;
55#[cfg(feature = "html-loader")]
56pub use loaders::HtmlLoader;
57#[cfg(feature = "pdf-loader")]
58pub use loaders::PdfLoader;
59#[cfg(feature = "toml-loader")]
60pub use loaders::TomlLoader;
61#[cfg(feature = "web-loader")]
62pub use loaders::WebLoader;
63#[cfg(feature = "yaml-loader")]
64pub use loaders::YamlLoader;
65pub use loaders::{
66 DirectoryLoader, DocumentLoader, DocumentStream, JsonLoader, MarkdownLoader, TextLoader,
67};
68pub use multi_vector::MultiVectorIndexer;
69pub use record_manager::{fingerprint, InMemoryRecordManager, RecordManager};
70pub use retrievers::{
71 BM25Retriever, CachingRetriever, CompressorPipeline, EnsembleRetriever, MultiVectorRetriever,
72 ParentDocumentRetriever, QueryTranslatorRetriever, VectorRetriever,
73};
74pub use splitters::{
75 CharTokenizer, CharacterSplitter, CodeLanguage, CodeSplitter, FnTokenizer, HtmlSplitter,
76 JsonSplitter, MarkdownSplitter, RecursiveCharSplitter, SentenceSplitter, TextSplitter,
77 TokenAwareSplitter, Tokenizer,
78};
79pub use transformers::{Dedup, Enrichment, LongContextReorder, MetadataTransformer};
80#[cfg(feature = "vectorstore-chroma")]
81pub use vectorstore::{ChromaBuilder, ChromaProvider};
82#[cfg(feature = "vectorstore-faiss")]
83pub use vectorstore::{
84 FaissConfig, FaissIndex, FaissIndexType, FaissMetric, FaissVectorStore, FlatIndex, HNSWIndex,
85 IVFFlatIndex,
86};
87pub use vectorstore::{Filter, InMemoryVectorStore, SearchResult, VectorStore};
88#[cfg(feature = "vectorstore-pinecone")]
89pub use vectorstore::{PineconeBuilder, PineconeProvider};
90#[cfg(feature = "vectorstore-qdrant")]
91pub use vectorstore::{QdrantBuilder, QdrantProvider};
92#[cfg(feature = "vectorstore-weaviate")]
93pub use vectorstore::{WeaviateBuilder, WeaviateProvider};
94
95pub mod prelude {
97 pub use crate::{
98 BM25Retriever, DirectoryLoader, Distance, Document, DocumentLoader, Embeddings,
99 EnsembleRetriever, InMemoryVectorStore, IndexingPipeline, JsonLoader, MarkdownLoader,
100 MarkdownSplitter, RecursiveCharSplitter, SearchResult, TextLoader, TextSplitter,
101 VectorRetriever, VectorStore,
102 };
103 pub use cognis_core::prelude::*;
104}