Skip to content

Openai 请求格式 - Embedding 文本向量化 API

💡 什么是 Embedding?

Embedding(嵌入) 是一种将离散的、高维的数据(如文字、图片、音频)转换为连续的、低维的向量表示的技术。

您可以把它想象成一个翻译过程

  • 输入:人类能理解的概念,比如单词"猫"、一张产品图片、一首歌曲
  • 输出:计算机能理解和处理的、由一长串数字组成的"坐标"(即向量)

💡 这个"坐标"不仅仅是一个简单的编号,它的精髓在于能够捕捉原始数据背后的含义和关系。

📡 请求地址

POST https://www.dmxapi.cn/v1/embeddings

🤖 模型名称

  • text-embedding-3-small
  • text-embedding-3-large
  • text-embedding-ada-002

💡 更多模型请在模型价格页面搜索 embedding

📝 请求示例

python
"""
================================================================================
DMXAPI 文本嵌入(Embedding)获取示例
================================================================================
功能说明:
    本脚本演示如何使用 DMXAPI 的 OpenAI 兼容接口获取文本的向量嵌入表示。
    文本嵌入可用于语义搜索、文本相似度计算、聚类分析等应用场景。
================================================================================
"""

import openai


# ============================================================================
# API 配置
# ============================================================================

# 设置 DMXAPI 的 API 密钥(请替换为您自己的密钥)
openai.api_key = "sk-*******************************************"

# 设置 DMXAPI 的基础 URL(注意:v1 后面必须有斜杠 /)
openai.base_url = "https://www.dmxapi.cn/v1/"


# ============================================================================
# 核心功能函数
# ============================================================================

def get_embedding(text):
    """
    获取文本的向量嵌入表示
    
    参数:
        text (str): 需要转换为向量的文本内容
    
    返回:
        list: 文本的向量嵌入表示(浮点数列表)
    
    功能说明:
        调用 OpenAI Embeddings API,将输入文本转换为高维向量表示。
        这个向量能够捕捉文本的语义信息,相似的文本会有相似的向量。
    """
    # 调用 OpenAI Embeddings API
    response = openai.embeddings.create(
        # 使用的嵌入模型(text-embedding-3-small 性价比高,适合大多数场景)
        model="text-embedding-3-small",
        
        # 输入需要嵌入的文本
        input=text
    )
    
    # 返回第一个结果的嵌入向量
    return response.data[0].embedding


# ============================================================================
# 主程序执行
# ============================================================================

if __name__ == "__main__":
    # 定义示例文本
    text = "这是一个示例文本,用于演示如何获取文本嵌入。"
    
    # 调用函数获取文本嵌入向量
    print("正在获取文本嵌入向量...")
    embedding = get_embedding(text)
    
    # 输出结果
    print("="*60)
    print("文本嵌入结果")
    print("="*60)
    print(f"原始文本: {text}")
    print(f"嵌入向量维度: {len(embedding)}")
    print(f"向量前 5 个元素: {embedding[:5]}")
    print("="*60)
    
    # 提示:可以将这个向量存储到向量数据库中,用于后续的语义搜索

📤 响应示例

json
正在获取文本嵌入向量...
============================================================
文本嵌入结果
============================================================
原始文本: 这是一个示例文本,用于演示如何获取文本嵌入。
嵌入向量维度: 1536
向量前 5 个元素: [-0.008677678182721138, 0.0647464394569397, 0.00938099343329668, -0.0026891492307186127, 0.026353662833571434]
============================================================

© 2025 DMXAPI 向量嵌入

一个 Key 用全球大模型