<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Embedding on KnightLi Blog</title>
        <link>https://www.knightli.com/en/tags/embedding/</link>
        <description>Recent content in Embedding on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Thu, 23 Apr 2026 15:23:47 +0800</lastBuildDate><atom:link href="https://www.knightli.com/en/tags/embedding/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>How to Choose Common Embedding Models: OpenAI vs BGE vs E5 vs GTE vs Jina</title>
        <link>https://www.knightli.com/en/2026/04/23/compare-openai-bge-e5-gte-jina-embedding-models/</link>
        <pubDate>Thu, 23 Apr 2026 15:23:47 +0800</pubDate>
        
        <guid>https://www.knightli.com/en/2026/04/23/compare-openai-bge-e5-gte-jina-embedding-models/</guid>
        <description>&lt;p&gt;When people start building RAG systems, semantic search, or knowledge base retrieval, they often get stuck on the same question: there are so many embedding models, so which one should you choose?&lt;/p&gt;
&lt;p&gt;Common options can roughly be split into two groups. One group is general-purpose text embeddings that cover Chinese, English, and multilingual tasks. The other group is better suited to Chinese scenarios, especially Chinese retrieval, Chinese QA, and Chinese knowledge bases.&lt;/p&gt;
&lt;p&gt;If you want the short version first, this is a practical way to think about it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you want the easiest path and prefer using an API directly: &lt;code&gt;text-embedding-3-small&lt;/code&gt; or &lt;code&gt;text-embedding-3-large&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If you want Chinese retrieval and prefer open-source models you can self-host: &lt;code&gt;bge-base-zh-v1.5&lt;/code&gt;, &lt;code&gt;bge-m3&lt;/code&gt;, &lt;code&gt;gte-large-zh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If you need multilingual support: &lt;code&gt;multilingual-e5-base&lt;/code&gt;, &lt;code&gt;multilingual-e5-large&lt;/code&gt;, &lt;code&gt;jina-embeddings-v3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If you want to keep costs down in Chinese scenarios: &lt;code&gt;bge-small-zh-v1.5&lt;/code&gt;, &lt;code&gt;gte-base-zh&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;1-first-look-at-them-by-category&#34;&gt;1. First, Look at Them by Category
&lt;/h2&gt;&lt;h3 id=&#34;1-openai-series&#34;&gt;1. OpenAI Series
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;text-embedding-3-small&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text-embedding-3-large&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The main strengths of these models are simplicity and stability. They are a good fit if you want to call an API directly for retrieval, RAG, classification, and similarity matching. Their advantage is not that they dominate one specific Chinese leaderboard, but that the overall experience is complete: low integration cost, stable quality, and low engineering overhead.&lt;/p&gt;
&lt;p&gt;If your team does not want to host models or maintain inference services, OpenAI is usually the most time-saving option.&lt;/p&gt;
&lt;h3 id=&#34;2-bge-series&#34;&gt;2. BGE Series
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;BAAI/bge-small-zh-v1.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BAAI/bge-base-zh-v1.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bge-m3&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;BGE is one of the most common families used in Chinese retrieval. &lt;code&gt;bge-small-zh-v1.5&lt;/code&gt; and &lt;code&gt;bge-base-zh-v1.5&lt;/code&gt; lean more toward Chinese monolingual tasks, making them suitable for Chinese semantic search, knowledge base retrieval, and FAQ matching. &lt;code&gt;bge-m3&lt;/code&gt; is more general-purpose and can cover multilingual, multi-granularity, and more complex retrieval scenarios.&lt;/p&gt;
&lt;p&gt;If most of your data is Chinese text, BGE is often one of the easiest families to put on the shortlist.&lt;/p&gt;
&lt;h3 id=&#34;3-e5-series&#34;&gt;3. E5 Series
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;intfloat/multilingual-e5-base&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;multilingual-e5-large&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The strength of the E5 family is more balanced multilingual capability. It works well for mixed Chinese-English data, cross-lingual retrieval, and internationalized content libraries. It is not focused only on Chinese. Instead, it is built around the idea that different languages can live inside one unified retrieval system.&lt;/p&gt;
&lt;p&gt;If your corpus is not purely Chinese, but a mix of Chinese, English, Japanese, or even more languages, E5 is usually more reliable than a Chinese-only model.&lt;/p&gt;
&lt;h3 id=&#34;4-gte-series&#34;&gt;4. GTE Series
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Alibaba-NLP/gte-base-zh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gte-large-zh&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;GTE is also common in Chinese tasks. Its positioning is similar to BGE: both are practical choices for Chinese retrieval. GTE is usually seen as balanced and easy to use, without much complexity in deployment. It works well for Chinese knowledge bases, site search, and enterprise internal document retrieval.&lt;/p&gt;
&lt;p&gt;If you want one more open-source Chinese model family for side-by-side evaluation, GTE is well worth testing.&lt;/p&gt;
&lt;h3 id=&#34;5-jina-embeddings&#34;&gt;5. Jina Embeddings
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;jina-embeddings-v3&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Jina is more oriented toward general-purpose and modern engineering scenarios, and often appears in multilingual retrieval, long-text processing, and web content tasks. It is frequently mentioned in discussions around using a single model to cover more task types, so it is a good fit for teams that want one unified embedding layer.&lt;/p&gt;
&lt;p&gt;If your content sources are mixed, such as webpages, documents, and multilingual text, Jina is often a strong candidate to test.&lt;/p&gt;
&lt;h2 id=&#34;2-which-models-are-most-common-in-chinese-scenarios&#34;&gt;2. Which Models Are Most Common in Chinese Scenarios
&lt;/h2&gt;&lt;p&gt;If we narrow the scope to Chinese use cases, the usual candidates are basically these:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bge-small-zh-v1.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bge-base-zh-v1.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bge-m3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gte-base-zh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gte-large-zh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;multilingual-e5-base&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;multilingual-e5-large&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Among them, the most useful split is not really &amp;ldquo;which one is absolutely better,&amp;rdquo; but these three questions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Is your data primarily Chinese?&lt;/li&gt;
&lt;li&gt;Do you need multilingual support?&lt;/li&gt;
&lt;li&gt;Do you care more about quality, cost, or deployment convenience?&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;3-put-these-models-side-by-side&#34;&gt;3. Put These Models Side by Side
&lt;/h2&gt;&lt;h3 id=&#34;1-if-you-only-care-about-chinese-performance&#34;&gt;1. If You Only Care About Chinese Performance
&lt;/h3&gt;&lt;p&gt;For pure Chinese knowledge bases, Chinese QA, and Chinese document retrieval, BGE and GTE are usually the first families to check.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bge-small-zh-v1.5&lt;/code&gt;: lighter and better for cost-sensitive scenarios&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bge-base-zh-v1.5&lt;/code&gt;: usually one of the most balanced options for Chinese use cases&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gte-base-zh&lt;/code&gt;: similar to lightweight BGE and good for building a baseline first&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gte-large-zh&lt;/code&gt;: better when retrieval quality matters more&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bge-m3&lt;/code&gt;: suitable if you want to evaluate Chinese retrieval together with broader capabilities&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If your corpus is almost entirely Chinese, E5 can still work, but it often will not be the first priority.&lt;/p&gt;
&lt;h3 id=&#34;2-if-you-need-multilingual-support&#34;&gt;2. If You Need Multilingual Support
&lt;/h3&gt;&lt;p&gt;The priorities change quite a bit here.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;multilingual-e5-base&lt;/code&gt; and &lt;code&gt;multilingual-e5-large&lt;/code&gt; are better suited to unified multilingual retrieval&lt;/li&gt;
&lt;li&gt;&lt;code&gt;jina-embeddings-v3&lt;/code&gt; also fits multilingual and general text tasks&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bge-m3&lt;/code&gt; is better than traditional Chinese-only models when you want to expand into multilingual usage&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text-embedding-3-small&lt;/code&gt; and &lt;code&gt;text-embedding-3-large&lt;/code&gt; are good if you want the simplest API-based route&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If your corpus contains Chinese, English, product documentation, website copy, and user questions at the same time, multilingual models can save you a lot of future migration work.&lt;/p&gt;
&lt;h3 id=&#34;3-if-you-need-to-control-inference-and-storage-cost&#34;&gt;3. If You Need to Control Inference and Storage Cost
&lt;/h3&gt;&lt;p&gt;Lightweight models have the advantage here.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bge-small-zh-v1.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gte-base-zh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;multilingual-e5-base&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text-embedding-3-small&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These models are usually a better fit when:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You have a large document volume&lt;/li&gt;
&lt;li&gt;Data is updated frequently&lt;/li&gt;
&lt;li&gt;You need batch vectorization&lt;/li&gt;
&lt;li&gt;You are sensitive to latency and cost&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If your dataset is large, embedding dimensions, inference speed, and index size will all directly affect total cost. That is why starting with a smaller model as a baseline is often the safer choice.&lt;/p&gt;
&lt;h3 id=&#34;4-if-you-want-the-highest-ceiling-first&#34;&gt;4. If You Want the Highest Ceiling First
&lt;/h3&gt;&lt;p&gt;Larger models are usually better suited to complex retrieval or higher-quality recall, for example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;text-embedding-3-large&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;multilingual-e5-large&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gte-large-zh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bge-base-zh-v1.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bge-m3&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But one thing to keep in mind is that a larger model does not automatically lead to a better production experience. In many projects, the real bottleneck is not the model itself, but chunking strategy, recall count, reranking, data cleaning, and evaluation design.&lt;/p&gt;
&lt;h2 id=&#34;4-what-each-model-is-better-at&#34;&gt;4. What Each Model Is Better At
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Model&lt;/th&gt;
          &lt;th&gt;Better suited for&lt;/th&gt;
          &lt;th&gt;Quick judgment&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;text-embedding-3-small&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;General retrieval, RAG, fast integration&lt;/td&gt;
          &lt;td&gt;Simple API usage and cost-friendly&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;text-embedding-3-large&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;General retrieval where quality matters more&lt;/td&gt;
          &lt;td&gt;Quality-first and lowest engineering burden&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;bge-small-zh-v1.5&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Lightweight Chinese retrieval&lt;/td&gt;
          &lt;td&gt;A common entry-level Chinese option&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;bge-base-zh-v1.5&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Chinese knowledge bases, FAQ, semantic search&lt;/td&gt;
          &lt;td&gt;Very balanced in Chinese scenarios&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;bge-m3&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Chinese-focused setups that also need more complex retrieval&lt;/td&gt;
          &lt;td&gt;More extensible&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;multilingual-e5-base&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Foundational multilingual retrieval&lt;/td&gt;
          &lt;td&gt;Common in international products&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;multilingual-e5-large&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;High-quality multilingual recall&lt;/td&gt;
          &lt;td&gt;More quality-oriented&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;gte-base-zh&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Lightweight Chinese retrieval&lt;/td&gt;
          &lt;td&gt;Good for building a baseline&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;gte-large-zh&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Chinese scenarios that prioritize quality&lt;/td&gt;
          &lt;td&gt;A good comparison point against BGE&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;jina-embeddings-v3&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Multilingual, web, and general text tasks&lt;/td&gt;
          &lt;td&gt;Worth testing if you want one unified embedding layer&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;5-a-practical-way-to-make-the-choice&#34;&gt;5. A Practical Way to Make the Choice
&lt;/h2&gt;&lt;p&gt;If you are trying to ship a system rather than write a paper, you can keep the decision process simple.&lt;/p&gt;
&lt;h3 id=&#34;scenario-1-chinese-knowledge-base&#34;&gt;Scenario 1: Chinese Knowledge Base
&lt;/h3&gt;&lt;p&gt;Start with these:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bge-base-zh-v1.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gte-large-zh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bge-small-zh-v1.5&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If budget is tight, start from the smaller model first. If retrieval quality matters more, then move upward to larger models.&lt;/p&gt;
&lt;h3 id=&#34;scenario-2-mixed-chinese-english-knowledge-base&#34;&gt;Scenario 2: Mixed Chinese-English Knowledge Base
&lt;/h3&gt;&lt;p&gt;Start with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;multilingual-e5-base&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;multilingual-e5-large&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text-embedding-3-small&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text-embedding-3-large&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you do not want to self-host, OpenAI is the more direct option. If you want to host the model yourself, E5 is the more common path.&lt;/p&gt;
&lt;h3 id=&#34;scenario-3-mostly-chinese-now-but-possibly-multilingual-later&#34;&gt;Scenario 3: Mostly Chinese Now, but Possibly Multilingual Later
&lt;/h3&gt;&lt;p&gt;Start with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bge-m3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;multilingual-e5-base&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;jina-embeddings-v3&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The biggest risk in this kind of setup is optimizing only for Chinese at the beginning and then having to rebuild the whole vector database later.&lt;/p&gt;
&lt;h2 id=&#34;6-in-the-end-the-key-is-not-top-of-the-leaderboard&#34;&gt;6. In the End, the Key Is Not &amp;ldquo;Top of the Leaderboard&amp;rdquo;
&lt;/h2&gt;&lt;p&gt;The easiest mistake in embedding model selection is to look only at public benchmark scores and then ship directly to production.&lt;/p&gt;
&lt;p&gt;A more reliable process is usually:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Pick 2 to 4 candidate models first&lt;/li&gt;
&lt;li&gt;Run embeddings on your own real data&lt;/li&gt;
&lt;li&gt;Evaluate one round of retrieval performance&lt;/li&gt;
&lt;li&gt;Then make the final decision based on cost, latency, and deployment style&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Because in practice, what really determines the result is often not the model name itself, but whether the model matches your corpus, chunking strategy, and query patterns.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;If you only want one practical summary to remember, use this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chinese-first: start with &lt;code&gt;bge-base-zh-v1.5&lt;/code&gt; and &lt;code&gt;gte-large-zh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Cost-first: start with &lt;code&gt;bge-small-zh-v1.5&lt;/code&gt;, &lt;code&gt;gte-base-zh&lt;/code&gt;, and &lt;code&gt;text-embedding-3-small&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Multilingual-first: start with &lt;code&gt;multilingual-e5-base&lt;/code&gt;, &lt;code&gt;multilingual-e5-large&lt;/code&gt;, and &lt;code&gt;jina-embeddings-v3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;API-first: start with &lt;code&gt;text-embedding-3-small&lt;/code&gt; and &lt;code&gt;text-embedding-3-large&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If you want Chinese now and flexibility later: start with &lt;code&gt;bge-m3&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There is no single model that fits every project, but for most projects, you can quickly narrow down the first batch of candidates from these few groups.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
