Llama 4 Maverick на Novita AI поддерживает вызов функций

Llama 4 Maverick на Novita AI поддерживает вызов функций

Ключевые моменты

Novita AI представила Llama 4 Maverick! Более того, эта версия полностью поддерживает вызов функций.

Llama 4 Maverick сочетает передовую архитектуру 128 Mixture-of-Experts (MoE) с расширенными мультимодальными возможностями.

Если вы хотите проверить его производительность, начните бесплатную пробную версию прямо в Novita AI Playground!

Llama 4 Maverick переопределяет ИИ с помощью превосходных возможностей вызова функций, предлагая непревзойденную производительность, взаимодействие в реальном времени и глобальную функциональность благодаря своей передовой архитектуре.

Что такое вызов функций?

Вызов функций относится к способности системы, такой как модель или приложение, вызывать внешние функции или сервисы во время своего выполнения. Эти функции могут быть API, базами данных или другими сервисами, выполняющими конкретные задачи за пределами основной модели или системы.

  • Внешние сервисы: функция может взаимодействовать с API, базами данных или сторонними сервисами (например, платежными системами, данными о погоде и т. д.).
  • Взаимодействие в реальном времени: вызов функции происходит во время выполнения, предоставляя живые данные или действия.
  • Предопределенные функции: эти функции обычно предопределены, то есть система знает, что они будут делать (например, извлекать данные, обрабатывать транзакции).

https://www.youtube.com/watch?v=aqdWSYWC_LI

Как работает вызов функций?

  • Система отправляет запрос внешней функции (например, API или сервису).
  • Функция выполняет задачу (например, получает данные, обрабатывает информацию).
  • Результат возвращается системе, которая использует его для дальнейшей обработки.

Какие преимущества дает вызов функций?

  • Данные в реальном времени: предоставляет актуальную информацию за счет взаимодействия с внешними источниками.
  • Расширенная функциональность: позволяет системе использовать внешние сервисы (например, обработку платежей, данные о погоде).
  • Модульность: делает системы более гибкими и адаптируемыми, интегрируя внешние возможности без изобретения велосипеда.

Вызов функций против RAG

Пример вызова функций:

import requests

def get_weather(city: str):
    # Replace with your actual API key and URL
    api_key = "your_api_key"
    url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric"

    response = requests.get(url)
    data = response.json()

    if response.status_code == 200:
        temperature = data['main']['temp']
        description = data['weather'][0]['description']
        return f"The current temperature in {city} is {temperature}°C with {description}."
    else:
        return "Sorry, I couldn't fetch the weather data at the moment."

# Use the function to get weather info for New York
city = "New York"
weather_info = get_weather(city)
print(weather_info)

Пример RAG:

from transformers import pipeline

# Simulated knowledge base (this could be a database or a larger dataset in a real application)
knowledge_base = {
    "force majeure": "Force Majeure refers to unforeseeable circumstances that prevent someone from fulfilling a contract.",
    "breach of contract": "A breach of contract occurs when one party fails to perform its obligations as outlined in the contract.",
    "arbitration": "Arbitration is a method of resolving disputes outside the courts, where an arbitrator makes a binding decision."
}

def retrieve_information(query: str):
    # Retrieve relevant information based on the query (could be replaced with a database query or more advanced search)
    query = query.lower()
    if query in knowledge_base:
        return knowledge_base[query]
    else:
        return "Sorry, I couldn't find any relevant information in the knowledge base."

def generate_answer(query: str):
    # Retrieve information first
    retrieved_info = retrieve_information(query)

    # Use a text generation model (e.g., GPT-2) for generating a response based on the retrieved information
    model = pipeline("text-generation", model="gpt-2")
    answer = model(f"Based on the information: {retrieved_info}. Answer the following question: {query}")[0]['generated_text']
    
    return answer

# User query
query = "What is force majeure in a contract?"
answer = generate_answer(query)
print(answer)

Что такое Llama 4 Maverick?

Категория Пункт Подробности
Основная информация Дата выпуска 5 апреля 2025 г.
Размер модели 400B параметров (17B активных/токен)
Открытый исходный код Открытый
Архитектура 128 Mixture-of-Experts (MoE)
Поддержка языков Поддержка языков Предварительно обучен на 200 языках. Поддерживает арабский, английский, французский, немецкий, хинди, индонезийский, итальянский, португальский, испанский, тагальский, тайский и вьетнамский.
Мультимодальность Мультимодальные возможности Вход: мультиязычный текст и изображение; вывод: мультиязычный текст и код
Обучение Обучающие данные ~22 триллиона токенов мультимодальных данных (частично из Instagram и Facebook)
Предварительное обучение MetaP: адаптивная конфигурация экспертов + промежуточное обучение
Пост-обучение SFT (легкие данные) → RL (сложные данные) → DPO

llama 4 maverick benchmark

Как использовать вызов функций Llama 4 Maverick через Novita AI

Novita AI запустила поддержку описаний возможностей для каждой LLM, которые вы можете просмотреть непосредственно в [консоли](https://novita.ai/models-console/?utm_source=blog_llm&utm_medium=article&utm_campaign=/ llama-4-maverick-function-calling/) и [документации](https://novita.ai/docs/guides/llm-function-calling/?utm_source=blog_llm&utm_medium=article&utm_campaign= llama-4-maverick-function-calling).

llama 4 function calling

supports model

Выберите свою модель

1. Инициализация клиента

Сначала необходимо инициализировать клиент с вашим API-ключом Novita.

from openai import OpenAI
import json

client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    # Get the Novita AI API Key from: https://novita.ai/settings/key-management.
    api_key="<YOUR Novita AI API Key>",
)

model = "meta-llama/llama-4-maverick-17b-128e-instruct-fp8"
  • Определение вызываемой функции

Затем определите функцию Python, которую модель может вызвать. В этом примере это функция получения информации о погоде.

# Example function to simulate fetching weather data.
def get_weather(location):
    """Retrieves the current weather for a given location."""
    print("Calling get_weather function with location: ", location)
    # In a real application, you would call an external weather API here.
    # This is a simplified example returning hardcoded data.
    return json.dumps({"location": location, "temperature": "60 degrees Fahrenheit"})

2. Формирование API-запроса с инструментами и сообщением пользователя

Теперь создайте API-запрос к конечной точке Novita. Этот запрос включает параметр tools, определяющий функции, которые модель может использовать, а также сообщение пользователя.

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get weather of an location, the user shoud supply a location first",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city and state, e.g. San Francisco, CA",
                    }
                },
                "required": ["location"]
            },
        }
    },
]

messages = [
    {
        "role": "user",
        "content": "What is the weather in San Francisco?"
    }
]

# Let's send the request and print the response.
response = client.chat.completions.create(
    model=model,
    messages=messages,
    tools=tools,
)

# Please check if the response contains tool calls if in production.
tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.model_dump())

3. Вывод

{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}

4. Ответ с результатом вызова функции и получение окончательного ответа

Следующий шаг — обработать вызов функции, выполнить функцию get_weather и отправить результат обратно модели для генерации окончательного ответа пользователю.

# Ensure tool_call is defined from the previous step
if tool_call:
    # Extend conversation history with the assistant's tool call message
    messages.append(response.choices[0].message)

    function_name = tool_call.function.name
    if function_name == "get_weather":
        function_args = json.loads(tool_call.function.arguments)
        # Execute the function and get the response
        function_response = get_weather(
            location=function_args.get("location"))
        # Append the function response to the messages
        messages.append(
            {
                "tool_call_id": tool_call.id,
                "role": "tool",
                "content": function_response,
            }
        )

    # Get the final response from the model, now with the function result
    answer_response = client.chat.completions.create(
        model=model,
        messages=messages,
        # Note: Do not include tools parameter here.
    )
    print(answer_response.choices[0].message)

5. Вывод

{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}

Благодаря своей передовой конструкции и плавной интеграции через Novita AI, Llama 4 Maverick превосходит другие модели, предоставляя мощное, надежное и гибкое решение для современных приложений на основе ИИ.

Часто задаваемые вопросы

Что такое вызов функций?

Это позволяет LLM запускать внешние инструменты или API для выполнения задач и получения данных.

Как Llama 4 Maverick работает с вызовом функций?

Llama 4 Maverick упрощает интеграцию систем в реальном времени через Novita AI.

Что делает Llama 4 Maverick превосходным?

Llama 4 Maverick имеет 400B параметров, 128 Mixture-of-Experts и надежные мультиязычные/мультимодальные возможности, что делает его более мощным и универсальным по сравнению с другими моделями.

Novita AI — это универсальная облачная платформа, которая воплощает ваши ИИ-амбиции. Интегрированные API, serverless, GPU Instance — экономически эффективные инструменты, которые вам нужны. Устраните инфраструктурные заботы, начните бесплатно и превратите ваше ИИ-видение в реальность.

Рекомендуем к прочтению