跳到主要内容
学习工作台文章阅读
返回文章列表
2026年7月27日4 分钟

使用 Meta 家族模型构建

墨圆
墨圆团队发布于 2026年7月27日

来源、许可与阅读说明

  • 简体中文原文:translations/zh-CN/21-meta/README.md
  • 来源:microsoft/generative-ai-for-beginners;固定提交:645f932514e9
  • 版权与贡献:Copyright (c) Microsoft Corporation;课程内容及简体中文翻译由固定版本记录的项目贡献者共同维护。
  • 许可:MIT License 固定版本;完整许可文本保留在本文末尾。
  • 本站适配:选取仓库已有的简体中文课程,移除翻译元数据,固定图片与仓库文件链接,并把跨课链接改为站内连续阅读;不把代码示例和作业 Notebook 重复复制为文章。
  • 非官方说明:本站只做独立的公开学习编排,不代表 Microsoft、课程维护者或文中第三方对本站的合作、认证或背书。
  • 时效与安全:模型、API、价格、平台和命令可能变化;运行示例前请核对固定源码与最新官方文档,密钥只能放在受控环境变量中。
  • 授权、更正或删除请求请通过本站首页公开联系方式提出,收到有效请求后先下架再核查。

使用 Meta 家族模型构建

介绍

本课将涵盖:

  • 探索两个主要的 Meta 家族模型 - Llama 3.1 和 Llama 3.2
  • 了解每个模型的使用场景和适用情况
  • 代码示例展示每个模型的独特功能

Meta 家族模型

在本课中,我们将探索来自 Meta 家族或“Llama 群”的两个模型 - Llama 3.1 和 Llama 3.2。

这些模型有不同的变体,可在 Microsoft Foundry Models 目录 中找到。

注意: GitHub Models 将于 2026 年 7 月底退休。这里有更多关于使用 Microsoft Foundry Models 来进行 AI 模型原型设计的详细信息。

模型变体:

  • Llama 3.1 - 70B 指令版
  • Llama 3.1 - 405B 指令版
  • Llama 3.2 - 11B 视觉指令版
  • Llama 3.2 - 90B 视觉指令版

注:Llama 3 也在 Microsoft Foundry Models 中提供,但本课不会涉及

Llama 3.1

Llama 3.1 拥有 4050 亿参数,属于开源大型语言模型(LLM)类别。

该模型是早期版本 Llama 3 的升级,提供:

  • 更大的上下文窗口 - 128k 令牌相比 8k 令牌
  • 更大的最大输出令牌数 - 4096 对比 2048
  • 更好的多语言支持 - 因训练令牌增加

这些改进使 Llama 3.1 能处理更复杂的生成式 AI 应用场景,包括:

  • 原生函数调用 - 能够调用 LLM 工作流之外的外部工具和函数
  • 更好的 RAG 性能 - 由于上下文窗口更大
  • 合成数据生成 - 能够创建用于微调等任务的有效数据

原生函数调用

Llama 3.1 已微调以更有效地进行函数或工具调用。它还内置了两个工具,模型可以根据用户的提示识别需要使用的工具。这些工具是:

  • Brave Search - 可以通过网络搜索获取最新信息,如天气
  • Wolfram Alpha - 可用于更复杂的数学计算,无需自己编写函数

你也可以创建自定义工具供 LLM 调用。

在下面的代码示例中:

  • 在系统提示中定义可用工具(brave_search, wolfram_alpha)。
  • 发送一个询问某城市天气的用户提示。
  • LLM 会以调用 Brave Search 工具的形式响应,如 <|python_tag|>brave_search.call(query="Stockholm weather")

注意:该示例仅演示工具调用,如果你想获取结果,需要在 Brave API 页面创建免费账户并定义函数本身。

PYTHON
import os
from azure.ai.inference import ChatCompletionsClient
from azure.ai.inference.models import AssistantMessage, SystemMessage, UserMessage
from azure.core.credentials import AzureKeyCredential

# 从您的 Microsoft Foundry 项目的“概览”页面获取这些信息
token = os.environ["AZURE_INFERENCE_CREDENTIAL"]
endpoint = os.environ["AZURE_INFERENCE_ENDPOINT"]
model_name = "Meta-Llama-3.1-405B-Instruct"

client = ChatCompletionsClient(
    endpoint=endpoint,
    credential=AzureKeyCredential(token),
)


tool_prompt=f"""
<|begin_of_text|><|start_header_id|>system<|end_header_id|>

Environment: ipython
Tools: brave_search, wolfram_alpha
Cutting Knowledge Date: December 2023
Today Date: 23 July 2024

You are a helpful assistant<|eot_id|>
"""

messages = [
    SystemMessage(content=tool_prompt),
    UserMessage(content="What is the weather in Stockholm?"),

]

response = client.complete(messages=messages, model=model_name)

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

Llama 3.2

尽管是 LLM,Llama 3.1 的一个限制是缺乏多模态性。也就是说,无法使用图像等不同类型输入作为提示并提供响应。这个能力是 Llama 3.2 的主要特性之一。其他特性还包括:

  • 多模态性 - 能够处理文本和图像提示
  • 小到中等规模变体 (11B 和 90B) - 提供灵活的部署选项
  • 仅文本变体 (1B 和 3B) - 允许模型部署在边缘/移动设备上,提供低延迟

多模态支持代表了开源模型领域的一大进步。下面的代码示例使用了图像和文本提示,从 Llama 3.2 90B 得到图像的分析。

Llama 3.2 的多模态支持

PYTHON
import os
from azure.ai.inference import ChatCompletionsClient
from azure.ai.inference.models import (
    SystemMessage,
    UserMessage,
    TextContentItem,
    ImageContentItem,
    ImageUrl,
    ImageDetailLevel,
)
from azure.core.credentials import AzureKeyCredential

# 从你的 Microsoft Foundry 项目的“概览”页面获取这些信息
token = os.environ["AZURE_INFERENCE_CREDENTIAL"]
endpoint = os.environ["AZURE_INFERENCE_ENDPOINT"]
model_name = "Llama-3.2-90B-Vision-Instruct"

client = ChatCompletionsClient(
    endpoint=endpoint,
    credential=AzureKeyCredential(token),
)

response = client.complete(
    messages=[
        SystemMessage(
            content="You are a helpful assistant that describes images in details."
        ),
        UserMessage(
            content=[
                TextContentItem(text="What's in this image?"),
                ImageContentItem(
                    image_url=ImageUrl.load(
                        image_file="sample.jpg",
                        image_format="jpg",
                        detail=ImageDetailLevel.LOW)
                ),
            ],
        ),
    ],
    model=model_name,
)

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

学习不会止步于此,继续前行

完成本课后,请查看我们的 生成式 AI 学习合集,继续提升你的生成式 AI 知识!


免责声明: 本文件由 AI 翻译服务 Co-op Translator 翻译完成。尽管我们力求准确,但请注意,自动翻译可能包含错误或不准确之处。原始语言版文件应视为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用本翻译而产生的任何误解或误释不承担责任。


MIT License

TEXT
MIT License

Copyright (c) Microsoft Corporation.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.