Openai 请求格式 - Embedding 文本向量化 API
💡 什么是 Embedding?
Embedding(嵌入) 是一种将离散的、高维的数据(如文字、图片、音频)转换为连续的、低维的向量表示的技术。
您可以把它想象成一个翻译过程:
- 输入:人类能理解的概念,比如单词"猫"、一张产品图片、一首歌曲
- 输出:计算机能理解和处理的、由一长串数字组成的"坐标"(即向量)
💡 这个"坐标"不仅仅是一个简单的编号,它的精髓在于能够捕捉原始数据背后的含义和关系。
📡 请求地址
POST https://www.dmxapi.cn/v1/embeddings🤖 模型名称
text-embedding-3-smalltext-embedding-3-largetext-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 向量嵌入
