Ключевые моменты
Novita AI представила Llama 4 Scout! Более того, эта версия полностью поддерживает вызов функций.
Если вы хотите проверить его производительность, начните бесплатную пробную версию прямо в Novita AI Playground!

Вызов функций позволяет LLM, таким как Llama 4 Scout, выполнять реальные задачи, интегрируясь с API и внешними инструментами, преобразуя команды на естественном языке в практические результаты.
Что такое вызов функций?
Вызов функций представляет собой ключевое достижение в возможностях больших языковых моделей (LLM), позволяя им взаимодействовать с внешними инструментами, API и источниками данных. Преобразуя подсказки на естественном языке в структурированные вызовы функций, LLM могут выполнять реальные действия, получать динамическую информацию и проводить сложные вычисления, выходящие за рамки их базовых способностей генерации текста.
Определение вызова функций
Вызов функций — это структурированный метод, который позволяет LLM взаимодействовать с внешними системами, генерируя исполняемые команды на основе запросов пользователя. В отличие от традиционных выходных данных LLM, которые ограничены генерацией текста, вызов функций позволяет моделям запускать предопределённые функции с конкретными параметрами, выполнять эти функции через внешний код и интегрировать результаты в связные ответы.
https://www.youtube.com/watch?v=i-oHvHejdsc&t=429s
Как работает вызов функций?
Вызов функций включает в себя структурированный процесс, в котором большая языковая модель (LLM) интерпретирует подсказки пользователя, чтобы определить, какую предопределённую функцию выполнить и с какими параметрами. Вот упрощённый обзор:
- Пользовательский запрос: Пользователь отправляет запрос в систему.
- Интерпретация LLM: LLM анализирует запрос, определяя подходящую функцию и параметры.
- Выполнение функции: Система выполняет функцию с указанными параметрами.
- Генерация ответа: Результат передаётся обратно в LLM, которая формирует окончательный ответ, включающий полученные данные.

Вызов функций vs. RAG
| Аспект | Вызов функций | Retrieval-Augmented Generation (RAG) |
|---|---|---|
| Определение | Вызывает внешние функции (API, базы данных) для выполнения задач в реальном времени. | Извлекает и синтезирует информацию из внешних источников для формирования ответов. |
| Пример использования | Запросы к базам данных, API-запросы, внешние инструменты (например, платежи). | Системы вопросов и ответов, извлекающие данные для генерации ответов. |
| Преимущества | — Задачи в реальном времени — Взаимодействие с внешними системами — Модульные системы |
— Доступ к большим объёмам знаний — Эффективность для сложных запросов — Идеально для актуальных данных |
| Назначение | Вызов внешних систем или сервисов. | Улучшение генерации с помощью извлечённых знаний. |
| Реализация | Предопределённые внешние вызовы (например, API). | Извлечение информации в процессе генерации. |
| Гибкость | Более гибкий для взаимодействия в реальном времени. | Использует внешние/внутренние знания для генерации. |
Как использовать вызов функций Llama 4 Scout через Novita AI
Novita AI запустила поддержку описания возможностей каждой LLM, которые можно напрямую просмотреть в консоли и документации.


1. Инициализация клиента
Сначала необходимо инициализировать клиент с вашим API-ключом Novita.
from openai import OpenAI
import json
client = OpenAI(
base_url="https://api.novita.ai/v3/openai",
# Получите API-ключ Novita AI на странице: https://novita.ai/settings/key-management.
api_key="<YOUR Novita AI API Key>",
)
model = "meta-llama/llama-4-scout-17b-16e-instruct"
Определение вызываемой функции
Затем определите функцию 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'}
Благодаря Llama 4 Scout и Novita AI вызов функций переопределяет возможности LLM, предлагая решения в реальном времени для современных задач.
Часто задаваемые вопросы
Что такое вызов функций?
Это позволяет LLM запускать внешние инструменты или API для выполнения задач и получения данных.
Как Llama 4 Scout работает с вызовом функций?
Llama 4 Scout упрощает интеграцию с системами реального времени через Novita AI.
Подходит ли вызов функций для задач реального времени?
Да, он идеально подходит для таких задач, как API-вызовы или динамические запросы данных.
Novita AI — это универсальная облачная платформа, поддерживающая ваши AI-амбиции. Интегрированные API, serverless, GPU Instance — экономичные инструменты, которые вам нужны. Устраните проблемы с инфраструктурой, начните бесплатно и воплотите своё AI-видение в реальность.
