• 首页

  • 写作

  • 文章归档

  • 照片

  • 友情链接

  • 旅行

  • 读书

  • 日志

  • 随记

  • 人文历史

  • linux

  • 前端
b l o g
b l o g

admin

lzp

04月
21
AI

azure openai embedding

发表于 2025-04-21 • 字数统计 4047 • 被 9 人看爆

azure embedding demo

git 工程 仓库,本节的代码都来自于此
https://github.com/qyzhizi/python_logical/tree/main/2025-04-19-azure-embedding-test

参考:
azure 模型部署的入口,包含使用文档,包括 python js 的语言

第一种方案,使用 openai 1.x 版本的库

from openai import AzureOpenAI
from dotenv import dotenv_values, find_dotenv
env_vars = dotenv_values(find_dotenv())
API_KEY = env_vars.get("API_KEY",  None)

endpoint = "https://qyzhiziopenai.cognitiveservices.azure.com/"
model_name = "text-embedding-3-small"
deployment = "text-embedding-3-small"

api_version = "2024-02-01"

client = AzureOpenAI(
    api_version="2024-12-01-preview",
    azure_endpoint=endpoint,
    # azure_deployment=deployment, # 可以设置也可以不设置
    api_key=API_KEY
)

response = client.embeddings.create(
    input=["first phrase","second phrase","third phrase"],
    model=deployment
)

for item in response.data:
    length = len(item.embedding)
    print(
        f"data[{item.index}]: length={length}, "
        f"[{item.embedding[0]}, {item.embedding[1]}, "
        f"..., {item.embedding[length-2]}, {item.embedding[length-1]}]"
    )
print(response.usage)

第二种方案,使用 azure-ai-inference 与 azure-core 库

azure-ai-inference==1.0.0b9
azure-core==1.33.0
openai==1.75.0
python-dotenv==1.1.0
from azure.ai.inference import EmbeddingsClient
from azure.core.credentials import AzureKeyCredential
from dotenv import dotenv_values, find_dotenv
env_vars = dotenv_values(find_dotenv())
API_KEY = env_vars.get("API_KEY",  None)

endpoint = "https://qyzhiziopenai.cognitiveservices.azure.com/openai/deployments/text-embedding-3-small"
model_name = "text-embedding-3-small"

client = EmbeddingsClient(
    endpoint=endpoint,
    credential=AzureKeyCredential(API_KEY)
)

response = client.embed(
    input=["first phrase","second phrase","third phrase"],
    model=model_name
)

for item in response.data:
    length = len(item.embedding)
    print(
        f"data[{item.index}]: length={length}, "
        f"[{item.embedding[0]}, {item.embedding[1]}, "
        f"..., {item.embedding[length-2]}, {item.embedding[length-1]}]"
    )
print(response.usage)

azure embedding openai 库 老版本 与新版本的区别

https://learn.microsoft.com/zh-cn/azure/ai-services/openai/how-to/embeddings?tabs=python

openai 库 老版本(0.x)代码

import os
import openai

openai.api_type = "azure"
openai.api_key = os.getenv("AZURE_OPENAI_API_KEY")
openai.api_base = os.getenv("AZURE_OPENAI_ENDPOINT")
openai.api_version = "2023-05-15"

response = openai.Embedding.create(
    input="Your text string goes here",
    engine="YOUR_DEPLOYMENT_NAME"
)
embeddings = response['data'][0]['embedding']
print(embeddings)

openai 库 新版本(1.x)代码

import os
from openai import AzureOpenAI

client = AzureOpenAI(
  api_key = os.getenv("AZURE_OPENAI_API_KEY"),  
  api_version = "2023-05-15",
  azure_endpoint =os.getenv("AZURE_OPENAI_ENDPOINT") 
)

response = client.embeddings.create(
    input = "Your text string goes here",
    model= "text-embedding-3-small"
)

print(response.model_dump_json(indent=2))

https://xxx.cognitiveservices.azure.com/ 与 https://xxx.openai.azure.com/ 这两个 endpoint 区别?

*.cognitiveservices.azure.com 是 Azure 认知服务(Cognitive Services)资源的通用域名,用于访问文本分析、计算机视觉、语音、语言理解等多种 AI 服务。​
Microsoft Learn

*.openai.azure.com 则是专门为 Azure OpenAI Service 提供的域名,仅用于调用 OpenAI GPT、Embeddings、DALL·E 等模型的 REST API

下面是 两者的区别:

特性*.cognitiveservices.azure.com*.openai.azure.com
适用服务文本分析、计算机视觉、语音、翻译、语言理解等多种认知服务专有 OpenAI 模型(GPT、Embeddings、DALL·E 等)
认证 HTTP 头Ocp-Apim-Subscription-Key 或 Authorization: Bearerapi-key 或 Authorization: Bearer
URL 路径示例/text/analytics/v3.1/sentiment/openai/deployments/{deploy}/completions
官方客户端库Azure Cognitive Services SDKAzure.AI.OpenAI SDK
多模型 vs 单模型部署单一资源可访问多种服务每个资源仅针对 OpenAI 模型,需要分别部署

Azure AI Foundry 是什么?

名称演进:Azure AI Foundry 前身为 Azure AI Studio。2024 年底,随着功能升级与定位扩展,正式更名为 Azure AI Foundry。​
azure.microsoft.com

目标人群:面向开发者、数据科学家与 IT 管理员,提供端到端的 AI 应用和智能代理构建能力。​
微软技术社区

可用性:平台已在 ai.azure.com 正式上线,一体化 SDK 目前处于公测阶段,门户功能全面可用。​

核心功能
模型目录与评估

汇聚 Microsoft、OpenAI、Hugging Face、Meta、Mistral 等多家合作伙伴的前沿与开源模型。​

支持基于公开数据集或自定义测试集进行横向对比,直观查看各模型在不同任务上的表现。​

智能代理工具链

提供包括 Responses API、AI Agent Service 在内的多种接口,将工具调用、函数调用与文件搜索等能力融于一体,简化复杂工作流的开发。​

支持创建具备多步骤决策和外部系统交互能力的企业级代理。​
模型定制与蒸馏

支持对 GPT-4.1、GPT-4.5 等大模型进行细粒度微调与蒸馏,优化特定行业或任务的效果与推理成本。​

分享到:
cloudflare hono jsx jsx/dom 与 react jsx 的区别
nextchat AI 聊天数据 使用 upstash 数据库 进行数据同步
  • 文章目录
  • 站点概览
admin

! lzp

hello

Github Twitter QQ Email Telegram RSS
看爆 Top5
  • 历史与人文 视频链接 189次看爆
  • 2022日志随笔 175次看爆
  • 我的青海湖骑行 164次看爆
  • 读书随笔 124次看爆
  • rs2 设置教程 97次看爆

站点已萌萌哒运行 00 天 00 小时 00 分 00 秒(●'◡'●)ノ♥

Copyright © 2025 admin

由 Halo 强力驱动 · Theme by Sagiri · 站点地图