Model reference · open weights

NexusRaven

LLMs Nexusflow Text gen 2 builds Its own licence terms 126 dl/mo

NexusRaven is an open-weight language model from Nexusflow. NexusRaven-13B (BF16) weighs 26.0 GB; the smallest configuration that runs it is L40S 48 GB.

  • NexusRaven-V2-13B is a 13.0B parameter text-generation model by Nexusflow designed for function calling tasks.
  • It supports a context length of 16,384 tokens and is licensed under the Nexusflow community license.

Summary of the Nexusflow/NexusRaven-V2-13B model card, 2026-10-01. The estimate below is for another build of the family.

What it is

Released byNexusflow
Released2023-12-04
Parameters13.0B
VRAM26.0 GB for the weights

What it runs on

Memory and cards for NexusRaven-13B (BF16)

26.0 GBweights, file size
819 MBcache per 1K tokens
659 MBruntime overhead, at least
16,384 tokenscontext max
CardRequests at onceContext maxMemory
8K each
RTX 3060 12 GB … RTX 4090 24 GB
4 smaller cards
——
RTX 5090 32 GB—5K31.0 GB
L40S 48 GB2all 16K44.0 GB
A100 80 GB7all 16K78.2 GB
H100 80 GB7all 16K78.1 GB
RTX PRO 6000 Blackwell 96 GB9all 16K93.8 GB
DGX Spark (GB10) 128 GB unified11all 16K107 GB
H200 141 GB16all 16K138 GB
B200 180 GB21all 16K176 GB
2× L40S 48 GB
tensor parallel
9all 16K44.0 GB a card
4× RTX 4090 24 GB
tensor parallel
9all 16K23.4 GB a card
4× RTX 3090 24 GB
tensor parallel
9all 16K23.4 GB a card
4× RTX 5090 32 GB
tensor parallel
14all 16K31.0 GB a card
2× H100 80 GB
tensor parallel
18all 16K78.1 GB a card
2× A100 80 GB
tensor parallel
19all 16K78.2 GB a card
Memory needed at each load
Requests at once8K tokens each
133.4 GB
560.2 GB
880.4 GB
16134 GB
32241 GB
64456 GB

One card, with vLLM's small-card settings.

Builds

Sizes, precisions & builds

BuildParamsPrecisionWeightsSmallest setup
NexusRaven-V2-13B ↗ 13.0BBF16 26.0 GBL40S 48 GB
NexusRaven-13B (above) ↗ —BF16 26.0 GBL40S 48 GB

From the model card

What Nexusflow says about NexusRaven

Read the model card

Introducing NexusRaven-V2-13B

NexusRaven is an open-source and commercially viable function calling LLM that surpasses the state-of-the-art in function calling capabilities.

💪 Versatile Function Calling Capability: NexusRaven-V2 is capable of generating single function calls, nested calls, and parallel calls in many challenging cases.

🤓 Fully Explainable: NexusRaven-V2 is capable of generating very detailed explanations for the function calls it generates. This behavior can be turned off, to save tokens during inference.

📊 Performance Highlights: NexusRaven-V2 surpasses GPT-4 by 7% in function calling success rates in human-generated use cases involving nested and composite functions.

🔧 Generalization to the Unseen: NexusRaven-V2 has never been trained on the functions used in evaluation.

🔥 Commercially Permissive: The training of NexusRaven-V2 does not involve any data generated by proprietary LLMs such as GPT-4. You have full control of the model when deployed in commercial applications.

Please checkout the following links!

NexusRaven-V2 model usage

NexusRaven-V2 accepts a list of python functions.

These python functions can do anything (including sending GET/POST requests to external APIs!).

The two requirements include the python function signature and the appropriate docstring to generate the function call.

NexusRaven-V2 also does best on functions with arguments, so please always only provide functions that require arguments to raven.

NexusRaven-V2's Capabilities

NexusRaven-V2 is capable of generating deeply nested function calls, parallel function calls, and simple single calls. It can also justify the function calls it generated. If you would like to generate the call only, please set a stop criteria of "\". Otherwise, please allow NexusRaven-V2 to run until its stop token (i.e. "").

Quick Start Prompting Guide

  1. When giving docstrings to Raven, please provide well-indented, detailed, and well-written docstrings as this can help accuracy.
  2. Raven does better when all functions provided to it has arguments, either required or optional, (i.e. func(dummy_arg) is preferred over func()) as this can help accuracy.
  3. We strongly recommend to set sampling to False when prompting NexusRaven-V2.
  4. We strongly recommend a very low temperature (~0.001).
  5. We strongly recommend following the prompting style below.

When handling irrelevant user queries, users have noticed that specifying a "no-op" function with arguments work best. For example, something like this might work:

def no_relevant_function(user_query : str):
  """
  Call this when no other provided function can be called to answer the user query.

  Args:
     user_query: The user_query that cannot be answered by any other function calls.
  """

Please ensure to provide an argument to this function, as Raven works best on functions with arguments.

For parallel calls, due to the model being targeted for industry use, you can "enable" parallel calls by adding this into the prompt:

"Setting: Allowed to issue multiple calls with semicolon\n"

This can be added above the User Query to "allow" the model to use parallel calls, otherwise, the model will focus on nested and single calls primarily.

Quickstart

You can run the model on a GPU using the following code.

# Please `pip install transformers accelerate`
from transformers import pipeline

pipeline = pipeline(
    "text-generation",
    model="Nexusflow/NexusRaven-V2-13B",
    torch_dtype="auto",
    device_map="auto",
)

prompt_template = \
'''
Function:
def get_weather_data(coordinates):
    """
    Fetches weather data from the Open-Meteo API for the given latitude and longitude.

    Args:
    coordinates (tuple): The latitude of the location.

    Returns:
    float: The current temperature in the coordinates you've asked for
    """

Function:
def get_coordinates_from_city(city_name):
    """
    Fetches the latitude and longitude of a given city name using the Maps.co Geocoding API.

    Args:
    city_name (str): The name of the city.

    Returns:
    tuple: The latitude and longitude of the city.
    """

User Query: {query}

'''

prompt = prompt_template.format(query="What's the weather like in Seattle right now?")

result = pipeline(prompt, max_new_tokens=2048, return_full_text=False, do_sample=False, temperature=0.001)[0]["generated_text"]
print (result)

This should generate the following:

Call: get_weather_data(coordinates=get_coordinates_from_city(city_name='Seattle'))
Thought: The function call `get_weather_data(coordinates=get_coordinates_from_city(city_name='Seattle'))` answers the question "What's the weather like in Seattle right now?" by following these steps:

1. `get_coordinates_from_city(city_name='Seattle')`: This function call fetches the latitude and longitude of the city "Seattle" using the Maps.co Geocoding API.
2. `get_weather_data(coordinates=...)`: This function call fetches the current weather data for the coordinates returned by the previous function call.

Therefore, the function call `get_weather_data(coordinates=get_coordinates_from_city(city_name='Seattle'))` answers the question "What's the weather like in Seattle right now?" by first fetching the coordinates of the city "Seattle" and then fetching the current weather data for those coordinates.

If you would like to prevent the generation of the explanation of the function call

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms