GLM Embedding 3 API 接口、参数 & 代码示例

z-ai/glm-embedding-3

Embedding 3 是智谱 AI 推出的第三代文本向量化模型,在前代基础上全面升级,提供更强的语义理解能力和更灵活的向量维度选择。该模型支持自定义向量维度,在保持高质量语义表示的同时,为不同应用场景提供了更优的性能和成本平衡。

模型 ID
z-ai/glm-embedding-3
模型系列
GLM
更新日期
模型能力
文本向量化
模型价格(每 1000 tokens 输入)
¥ 0.00055
模型价格(每 1000 tokens 输出)
¥ 0

GLM Embedding 3 模型介绍:

模型升级

GLM Embedding 3 在架构和训练数据上都进行了重大升级,显著提升了语义理解的准确性和泛化能力。新模型在多个评测基准上都取得了显著的性能提升。

核心升级:

  • 增强语义理解:更深层的语义捕捉能力,理解复杂的语言表达
  • 多语言优化:针对中文、英文等多语言场景进行专门优化
  • 领域适应性:在科技、金融、医疗等专业领域表现更佳
  • 鲁棒性提升:对噪声文本和非标准表达有更强的容错能力

灵活维度选择

GLM Embedding 3 支持自定义向量维度,用户可以根据具体应用场景选择最适合的维度,在性能和存储成本之间找到最佳平衡。

维度选项:

  • 2048维(默认):最高精度,适合对准确性要求极高的场景
  • 1024维:高精度与效率的平衡,适合大多数应用场景
  • 512维:中等精度,适合大规模部署的场景
  • 256维:较高效率,适合实时性要求高的场景

技术参数:

  • 输入字符串数组中,单条请求最多支持 3072 个 Tokens,且数组最大不得超过 64 条

推荐应用场景

  • 高精度语义搜索:利用更强的语义理解能力,实现更精准的文档检索和问答系统,特别适合专业领域的知识库构建。
  • 智能推荐引擎:基于用户行为和内容特征的深度理解,提供更个性化和精准的推荐服务,提升用户体验。
  • 内容理解与分析:深度分析文本内容的主题、情感和意图,用于舆情监控、内容审核和市场分析。
  • 知识图谱构建:通过语义向量化技术,自动发现实体关系,构建和完善知识图谱,支持复杂的知识推理。

API 接口地址:

https://wcode.net/api/gpt/v1/embeddings

此 API 接口兼容 OpenAI 的接口规范,也就是可以直接使用 OpenAI 的 SDK 来调用各个模型。仅需替换以下两项配置即可:

  1. base_url 替换为 https://wcode.net/api/gpt/v1
  2. api_key 替换为从 https://platform.wcode.net 获取到的 API Key

具体可参考下方的各编程语言代码示例中的 openai sdk 调用示例。

请求方法:

POST

各编程语言代码示例:

# TODO: 以下代码中的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
curl --request POST 'https://wcode.net/api/gpt/v1/embeddings' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
    "model": "z-ai/glm-embedding-3",
    "input": ["苹果", "西瓜", "橙子"]
}'
import Foundation

let headers = [
  "Authorization": "Bearer API_KEY",     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  "content-type": "application/json"
]
let parameters = [
  "model": "z-ai/glm-embedding-3",
  "input": ["苹果", "西瓜", "橙子"]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://wcode.net/api/gpt/v1/embeddings")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 60.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
var headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer API_KEY'     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
};
var request = http.Request('POST', Uri.parse('https://wcode.net/api/gpt/v1/embeddings'));
request.body = json.encode({
  "model": "z-ai/glm-embedding-3",
  "input": ["苹果", "西瓜", "橙子"]
});
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}
require 'uri'
require 'net/http'

url = URI("https://wcode.net/api/gpt/v1/embeddings")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer API_KEY'     # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
request["content-type"] = 'application/json'
request.body = "{\"model\":\"z-ai/glm-embedding-3\",\"input\":[\"苹果\",\"西瓜\",\"橙子\"]}"

response = http.request(request)
puts response.read_body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
  let url = "https://wcode.net/api/gpt/v1/embeddings";

  let payload = json!({
    "model": "z-ai/glm-embedding-3",
    "input": ["苹果", "西瓜", "橙子"]
  });

  let mut headers = reqwest::header::HeaderMap::new();
  headers.insert("Authorization", "Bearer API_KEY".parse().unwrap());     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  headers.insert("content-type", "application/json".parse().unwrap());

  let client = reqwest::Client::new();
  let response = client.post(url)
    .headers(headers)
    .json(&payload)
    .send()
    .await;

  let results = response.unwrap()
    .json::<serde_json::Value>()
    .await
    .unwrap();

  dbg!(results);
}
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "https://wcode.net/api/gpt/v1/embeddings");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer API_KEY");    // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"model\":\"z-ai/glm-embedding-3\",\"input\":[\"苹果\",\"西瓜\",\"橙子\"]}");

CURLcode ret = curl_easy_perform(hnd);
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io"
)

func main() {
  url := "https://wcode.net/api/gpt/v1/embeddings"

  payload := strings.NewReader("{\"model\":\"z-ai/glm-embedding-3\",\"input\":[\"苹果\",\"西瓜\",\"橙子\"]}")

  req, _ := http.NewRequest("POST", url, payload)

  req.Header.Add("Authorization", "Bearer API_KEY")     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  req.Header.Add("content-type", "application/json")

  res, _ := http.DefaultClient.Do(req)

  defer res.Body.Close()
  body, _ := io.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
using System.Net.Http.Headers;


var client = new HttpClient();

var request = new HttpRequestMessage(HttpMethod.Post, "https://wcode.net/api/gpt/v1/embeddings");

request.Headers.Add("Authorization", "Bearer API_KEY");     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net

request.Content = new StringContent("{\"model\":\"z-ai/glm-embedding-3\",\"input\":[\"苹果\",\"西瓜\",\"橙子\"]}", null, "application/json");

var response = await client.SendAsync(request);

response.EnsureSuccessStatusCode();

Console.WriteLine(await response.Content.ReadAsStringAsync());
var client = new RestClient("https://wcode.net/api/gpt/v1/embeddings");

var request = new RestRequest("", Method.Post);

request.AddHeader("Authorization", "Bearer API_KEY");     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net

request.AddHeader("content-type", "application/json");

request.AddParameter("application/json", "{\"model\":\"z-ai/glm-embedding-3\",\"input\":[\"苹果\",\"西瓜\",\"橙子\"]}", ParameterType.RequestBody);

var response = client.Execute(request);
const axios = require('axios');

let data = JSON.stringify({
  "model": "z-ai/glm-embedding-3",
  "input": ["苹果", "西瓜", "橙子"]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://wcode.net/api/gpt/v1/embeddings',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer API_KEY'     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  },
  data : data
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");

RequestBody body = RequestBody.create(mediaType, "{\"model\":\"z-ai/glm-embedding-3\",\"input\":[\"苹果\",\"西瓜\",\"橙子\"]}");

Request request = new Request.Builder()
  .url("https://wcode.net/api/gpt/v1/embeddings")
  .post(body)
  .addHeader("Authorization", "Bearer API_KEY")             // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
$client = new \GuzzleHttp\Client();

$headers = [
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer API_KEY',     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
];

$body = '{
  "model": "z-ai/glm-embedding-3",
  "input": ["苹果", "西瓜", "橙子"]
}';

$request = new \GuzzleHttp\Psr7\Request('POST', 'https://wcode.net/api/gpt/v1/embeddings', $headers, $body);

$response = $client->sendAsync($request)->wait();

echo $response->getBody();
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://wcode.net/api/gpt/v1/embeddings",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 5,
  CURLOPT_TIMEOUT => 300,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'model' => 'z-ai/glm-embedding-3',
    'input' => ['苹果', '西瓜', '橙子']
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer API_KEY",     // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
    "content-type: application/json",
  ],
]);

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
  echo "cURL Error #:" . $error;
} else {
  echo $response;
}
import requests
import json

url = "https://wcode.net/api/gpt/v1/embeddings"

payload = {
  "model": "z-ai/glm-embedding-3",
  "input": ["苹果", "西瓜", "橙子"]
}

headers = {
  "Authorization": "Bearer API_KEY",     # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(json.dumps(response.json(), indent=4, ensure_ascii=False))
from openai import OpenAI

client = OpenAI(
  base_url="https://wcode.net/api/gpt/v1",
  api_key="API_KEY"                             # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
)

completion = client.chat.completions.create(
  model="z-ai/glm-embedding-3",
  input=["苹果", "西瓜", "橙子"]
)

print(completion.choices[0].message.content)

API 响应示例:

{
    "data": [
        {
            "embedding": [
                -0.00921828,
                -0.014832813,
                0.0009505535,
                -0.00082324725,
                -0.047172524,
                ...
            ],
            "index": 0,
            "object": "embedding"
        },
        {
            "embedding": [
                -0.00091204693,
                -0.0272215,
                -0.022934483,
                0.026334532,
                0.0022029036,
                ...
            ],
            "index": 1,
            "object": "embedding"
        },
        {
            "embedding": [
                0.0022625881,
                -0.018265443,
                0.004584379,
                0.024216643,
                -0.025864033,
                ...
            ],
            "index": 2,
            "object": "embedding"
        }
    ],
    "model": "embedding-3",
    "object": "list",
    "usage": {
        "completion_tokens": 0,
        "prompt_tokens": 16,
        "total_tokens": 16
    },
    "id": "embedding-t1776653357s406r44f6f76c070630010eb515fe"
}

以上文档为标准版 API 接口文档,可直接用于项目开发和系统调用。如果标准版 API 接口无法满足您的需求,需要定制开发 API 接口,请联系我们的 IT 技术支持工程师:

(沟通需求✅ → 确认技术方案✅ → 沟通费用与工期✅ → 开发&测试✅ → 验收交付✅ → 维护升级✅)

最受关注模型

Qwen 3.6 Plus

文本生成、深度思考、视觉理解

MiniMax M2.7

文本生成、深度思考、专业能力

Doubao Seed 2.0 Code

代码补全、深度思考

GLM 5

文本生成、深度思考、代码补全

Doubao Seed 2.0 Pro

文本生成、深度思考、多模态

最新发布模型

GLM Embedding 3

文本向量化

GLM 5.1

文本生成、深度思考

Qwen 3.6 Plus

文本生成、深度思考、视觉理解

DeepSeek OCR 2

图片识别、OCR

KAT Coder Pro V2

文本生成、代码补全、适配OpenClaw

Embedding Models

GLM Embedding 3

文本向量化

Qwen3 Embedding 8B

文本嵌入、文本向量化

Doubao Embedding Large Text 250515

文本向量化

Qwen Text Embedding V4

文本向量化

Qwen Text Embedding V1

文本向量化