快速入门:开始使用 Azure AI Foundry

在本快速入门中,我们将指导你使用 Azure AI Foundry SDK 设置本地开发环境。 我们会编写提示,将其作为应用代码的一部分运行,跟踪进行的 LLM 调用,并在 LLM 的输出上运行基本评估。

小窍门

本文的其余部分介绍如何使用 基于中心的项目。 如果要改用 Foundry 项目 ,请选择本文顶部的 Foundry 项目。

先决条件

  • 一个 Azure 订阅。 如果没有 Azure 订阅,请在开始操作前先创建一个免费帐户。
  • 基于中心的项目。 如果你不熟悉 Azure AI Foundry 并且没有基于中心的项目,请选择本文顶部的 Foundry 项目 以改用 Foundry 项目。

设置开发环境

  1. 设置开发环境

  2. 请确保安装以下包:

    pip install azure-ai-projects azure-ai-inference azure-identity 
    

部署模型

小窍门

由于可以在 Azure AI Foundry 门户中 自定义左窗格 ,因此你可能会看到与这些步骤中显示的项不同。 如果未看到要查找的内容,请选择 ... 左窗格底部的更多内容。

  1. 登录到 Azure AI Foundry

  2. 选择基于中心的项目。 如果没有基于中心的项目,请选择本文顶部的“Foundry 项目”以改用 Foundry 项目。

  3. 从左窗格中选择 “模型目录 ”。

  4. 从模型列表中选择“gpt-4o-mini”模型。 可以使用搜索栏查找它。

  5. 在模型详细信息页上,选择“部署”

    模型详细信息页的屏幕截图,其中包含用于部署模型的按钮。

  6. 保留默认部署名称。 选择“部署”。

  7. 部署模型后,选择“在操场中打开”以测试模型

生成聊天应用

创建一个名为 chat.py 的文件。 将以下代码复制并粘贴到其中。

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential

project_connection_string = "<your-connection-string-goes-here>"

project = AIProjectClient.from_connection_string(
    conn_str=project_connection_string, credential=DefaultAzureCredential()
)

chat = project.inference.get_chat_completions_client()
response = chat.complete(
    model="gpt-4o-mini",
    messages=[
        {
            "role": "system",
            "content": "You are an AI assistant that speaks like a techno punk rocker from 2350. Be cool but not too cool. Ya dig?",
        },
        {"role": "user", "content": "Hey, can you help me with my taxes? I'm a freelancer."},
    ],
)

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

插入连接字符串

项目连接字符串需要从代码调用 Azure AI Foundry 模型中的 Azure OpenAI。

在你曾在 Azure AI Foundry 操场快速入门中创建的 Azure AI Foundry 项目中查找连接字符串。 打开项目,然后在“概述”页上找到连接字符串

屏幕截图显示了项目的概述页和连接字符串的位置。

复制连接字符串并替换 chat.py 文件中的 <your-connection-string-goes-here>

运行聊天脚本

运行脚本以查看来自模型的响应。

python chat.py

根据用户输入和提示模板生成提示

该脚本使用硬编码的输入和输出消息。 在实际应用中,你将从客户端应用程序获取输入,生成带有模型内部指令的系统消息,然后使用所有消息调用 LLM。

让我们更改脚本,从客户端应用程序获取输入,并使用提示模板生成系统消息。

  1. 删除输出响应的脚本的最后一行。

  2. 现在定义一个 get_chat_response 函数,该函数会接收消息和上下文、使用提示模板生成系统消息并调用模型。 将此代码添加到现有 chat.py 文件:

    from azure.ai.inference.prompts import PromptTemplate
    
    
    def get_chat_response(messages, context):
        # create a prompt template from an inline string (using mustache syntax)
        prompt_template = PromptTemplate.from_string(
            prompt_template="""
            system:
            You are an AI assistant that speaks like a techno punk rocker from 2350. Be cool but not too cool. Ya dig? Refer to the user by their first name, try to work their last name into a pun.
    
            The user's first name is {{first_name}} and their last name is {{last_name}}.
            """
        )
    
        # generate system message from the template, passing in the context as variables
        system_message = prompt_template.create_messages(data=context)
    
        # add the prompt messages to the user messages
        return chat.complete(
            model="gpt-4o-mini",
            messages=system_message + messages,
            temperature=1,
            frequency_penalty=0.5,
            presence_penalty=0.5,
        )
    

    注释

    提示模板使用 mustache 格式。

    get_chat_response 函数可以轻松添加为 FastAPI 或 Flask 应用的路由,以便从前端 Web 应用程序调用此函数。

  3. 现在模拟将信息从前端应用程序传递到此函数。 将以下代码添加到 chat.py 文件的末尾。 随意处理消息并添加自己的名字。

    if __name__ == "__main__":
        response = get_chat_response(
            messages=[{"role": "user", "content": "what city has the best food in the world?"}],
            context={"first_name": "Jessie", "last_name": "Irwin"},
        )
        print(response.choices[0].message.content)
    

运行修订后的脚本以使用此新输入查看模型的响应。

python chat.py

后续步骤

在本快速入门中,你将使用 Azure AI Foundry

  • 创建项目
  • 部署模型
  • 运行聊天完成
  • 创建并运行代理
  • 将文件上传到代理

Azure AI Foundry SDK 以多种语言提供,包括 Python、Java、JavaScript 和 C# 。 本快速入门提供了每种语言的说明。

小窍门

本文的其余部分介绍如何使用 Foundry 项目。 如果要改用基于中心的项目,请选择本文顶部的“基于中心的项目”。

先决条件

  • 一个 Azure 订阅。 如果没有 Azure 订阅,请在开始操作前先创建一个免费帐户。
  • 必须是订阅的 所有者 才能接收使用项目所需的适当访问控制。

重要

本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

创建 Foundry 项目

  1. 登录 Azure AI Foundry 门户

  2. 在主页上,选择“ 创建代理”。 这会创建一个项目,并包括开始使用基本代理的步骤。

  3. 填写项目的名称,然后选择“ 创建”。

部署模型

小窍门

由于可以在 Azure AI Foundry 门户中 自定义左窗格 ,因此你可能会看到与这些步骤中显示的项不同。 如果未看到要查找的内容,请选择 ... 左窗格底部的更多内容。

  1. 如果刚刚使用 Azure AI Foundry 门户通过 “创建代理 ”链接创建项目,则已部署默认 gpt-4o 模型。
  2. 或者,登录到 Azure AI Foundry 门户,选择项目,然后选择 模型目录
  3. 搜索要部署的模型。 对于本快速入门,请选择“gpt-4o”
  4. 选择“确认”。
  5. 不要更改默认设置。 选择“部署”。

配置你的环境

无需安装 Azure AI Foundry 门户。

运行聊天完成

聊天完成是 AI 应用程序的基本构建基块。 使用聊天完成,可以发送消息列表并获取响应。

  1. 如果使用了“创建代理”来创建项目,则你现在将位于代理操场并已准备好试用它。稍后你会回到这里,但首先让我们来试用一下此模型。
  2. 在左窗格中,选择 游乐场
  3. 选择“试用聊天操场”。
  4. 填写提示并选择 “发送 ”按钮。
  5. 模型在 “响应 ”窗格中返回响应。

创建并运行代理

代理允许使用工具提供更强大的功能。 首先,让我们使用代理编写相同的聊天完成代码。

  1. 在项目中的左窗格中,选择 “代理”。
  2. 选择与项目一起创建的代理。
  3. 如果未使用项目创建一个代理,请选择 “新建代理 ”以立即创建代理。
  4. 在右侧 “设置 ”窗格中,根据需要更改名称。
  5. 添加说明,例如“你是一个有用的写作助手”。
  6. 在“设置”窗格顶部,选择“在操场中试用”。
  7. 开始与代理聊天,例如,“给我写一首关于鲜花的诗”

将文件添加到代理

现在,让我们添加一个文件搜索工具,使我们能够进行知识检索。

  1. 在代理的 “设置 ”窗格中,根据需要向下滚动以查找 知识
  2. 选择 并添加
  3. 选择“文件”以上传 product_info_1.md 文件。
  4. 选择“添加文件”下的“选择本地文件”。
  5. 选择“ 上传并保存”。
  6. 更改代理说明,例如,“你是一个有用的助手,可以从上传的文件搜索信息。
  7. 问一个问题,例如,“你好,你知道哪些 Contoso 产品?
  8. 若要添加更多文件,请在 AgentVectorStore 上选择 ... ,然后选择“ 管理”。

清理资源

如果不再需要它们,请删除与项目关联的资源组。

在 Azure AI Foundry 门户中,选择右上角的项目名称。 然后选择资源组的链接,在 Azure 门户中将其打开。 选择资源组,然后选择“ 删除”。 确认要删除资源组。

Azure AI Foundry 客户端库概述