Skip to content
This repository was archived by the owner on Dec 4, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions langchain4j-embeddings-bge-small-zh-v15-q/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-embeddings-parent</artifactId>
<version>0.31.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

<artifactId>langchain4j-embeddings-bge-small-zh-v15-q</artifactId>
<name>langchain4j-embeddings-bge-small-zh-v15-q</name>
<description>In-process bge-small-zh-v1.5 (quantized) embedding model</description>

<dependencies>

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-embeddings</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>

</dependencies>

<licenses>
<license>
<name>Apache-2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
<comments>A business-friendly OSS license</comments>
</license>
</licenses>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package dev.langchain4j.model.embedding.bge.small.zh.v15;

import dev.langchain4j.model.embedding.AbstractInProcessEmbeddingModel;
import dev.langchain4j.model.embedding.OnnxBertBiEncoder;
import dev.langchain4j.model.embedding.PoolingMode;

/**
* Quantized BAAI bge-small-zh-v1.5 embedding model that runs within your Java application's process.
* <p>
* Maximum length of text (in tokens) that can be embedded at once: unlimited.
* However, while you can embed very long texts, the quality of the embedding degrades as the text lengthens.
* It is recommended to embed segments of no more than 512 tokens long.
* <p>
* Embedding dimensions: 512
* <p>
* It is recommended to add "为这个句子生成表示以用于检索相关文章:" prefix to a query.
* <p>
* More details <a href="https://huggingface.co/BAAI/bge-small-zh-v1.5">here</a>
*/
public class BgeSmallZhV15QuantizedEmbeddingModel extends AbstractInProcessEmbeddingModel {

private static final OnnxBertBiEncoder MODEL = loadFromJar(
"bge-small-zh-v1.5-q.onnx",
"bge-small-zh-v1.5-tokenizer.json",
PoolingMode.CLS
);

@Override
protected OnnxBertBiEncoder model() {
return MODEL;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package dev.langchain4j.model.embedding.bge.small.zh.v15;

import dev.langchain4j.model.embedding.EmbeddingModel;
import dev.langchain4j.spi.model.embedding.EmbeddingModelFactory;

public class BgeSmallZhV15QuantizedEmbeddingModelFactory implements EmbeddingModelFactory {

@Override
public EmbeddingModel create() {
return new BgeSmallZhV15QuantizedEmbeddingModel();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dev.langchain4j.model.embedding.bge.small.zh.v15.BgeSmallZhV15QuantizedEmbeddingModelFactory
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Original model card:
https://huggingface.co/BAAI/bge-small-zh-v1.5

ONNX model card:
https://huggingface.co/Xenova/bge-small-zh-v1.5

ONNX model file:
https://huggingface.co/Xenova/bge-small-zh-v1.5/resolve/main/onnx/model_quantized.onnx

Tokenizer:
https://huggingface.co/Xenova/bge-small-zh-v1.5/resolve/main/tokenizer.json
Git LFS file not shown
Loading