Views
No views yet
BAAI/bge-m3 sentence embeddings.pip install torch transformers sentence-transformers numpy1from transformers import AutoModel
2import torch
3
4# 1. Load Model (UnifiedEncoder)
5model = AutoModel.from_pretrained("XiaSheng/FreeChunk-bge-m3", trust_remote_code=True)
6
7# 2. Build Vector Store from Text
8text = "Your text..."
9model.build_vector_store(text)
10
11# 3. Query with Post-Aggregation (Default)
12query = "Your query..."
13results = model.query(query, top_k=1, aggregation_mode='post')
14
15print(f"Query: {query}")
16print(f"Result: {results}")Sentenceizer (wrapping BAAI/bge-m3) to get sentence embeddings.FreeChunkerModel.shift_matrix to group sentences.1from sentenizer import Sentenceizer
2from modeling_freechunker import FreeChunkerModel
3import torch
4
5# 1. Setup Sentenceizer with Backbone
6sentenceizer = Sentenceizer(model_name="BAAI/bge-m3")
7
8# 2. Load FreeChunker Model
9model = FreeChunkerModel.from_pretrained(".", trust_remote_code=True)
10model.eval()
11
12# 3. Process Text
13text = "Your text..."
14sentences, embeddings = sentenceizer.split_and_encode(text)
15
16# 4. Forward pass through FreeChunker
17inputs_embeds = torch.tensor(embeddings).unsqueeze(0) # Batch size 1
18with torch.no_grad():
19 outputs = model(inputs_embeds=inputs_embeds)
20
21# outputs['embedding'] contains refined embeddings
22# outputs['shift_matrix'] contains chunking informationmodel.safetensors: The FreeChunker model weights.encoder.py: High-level interface (UnifiedEncoder) for end-to-end usage.sentenizer.py: Helper for text splitting and backbone embedding.aggregator.py: Helper for aggregating retrieved results.configuration_freechunker.py & modeling_freechunker.py: Model definition.1@article{zhang2025freechunker,
2 title={FreeChunker: A Cross-Granularity Chunking Framework},
3 author={Zhang, Wenxuan and Jiang, Yuan-Hao and Wu, Yonghe},
4 journal={arXiv preprint arXiv:2510.20356},
5 year={2025}
6 }