llm_factories.json

Overview

The llm_factories.json file serves as a comprehensive registry and catalog of large language model (LLM) factories and their associated models. It organizes metadata about various LLM providers (factories) and enumerates the individual LLMs they offer. This data file is designed primarily for systems that need to dynamically discover, configure, or display available LLM services and their capabilities, such as chatbot platforms, AI model marketplaces, or multi-provider LLM orchestration systems.

Each factory entry contains identifying information and a list of the specific LLM models available from that provider, including attributes like model name, supported features/tags, maximum token limits, model type, and tool support. This structured data facilitates automated integration, filtering, selection, and management of models by client applications.

Key Features:


Structure and Content Description

The JSON file contains a top-level key factory_llm_infos which is an array. Each element of this array represents a distinct "factory" (LLM provider). The structure for each factory is:

{
    "name": "FactoryName",
    "logo": "URL or path to logo (optional)",
    "tags": "Comma-separated features and capabilities",
    "status": "String status indicator (e.g., '1' for active)",
    "llm": [
        {
            "llm_name": "ModelName",
            "tags": "Comma-separated model capabilities",
            "max_tokens": Integer (max token capacity),
            "model_type": "Type of model (chat, embedding, etc.)",
            "is_tools": Boolean (optional, indicates if model supports tools)
        },
        ...
    ]
}

Detailed Field Descriptions


Usage and Interaction

This file is primarily consumed by backend services or configuration loaders that require knowledge of available LLMs by different vendors for tasks such as:

It may be loaded into memory as a JSON object and queried programmatically by:


Example Usage in Code (Python)

import json

# Load the JSON file
with open('llm_factories.json', 'r') as f:
    data = json.load(f)

# List all active factories
active_factories = [f for f in data['factory_llm_infos'] if f['status'] == '1']

# Find all chat models supporting tools from OpenAI
openai = next((f for f in active_factories if f['name'] == 'OpenAI'), None)
if openai:
    chat_models_with_tools = [
        m for m in openai['llm']
        if m['model_type'] == 'chat' and m.get('is_tools', False)
    ]
    for model in chat_models_with_tools:
        print(f"Model: {model['llm_name']}, Max Tokens: {model.get('max_tokens')}")

Important Implementation Details


Interaction with Other System Components


Visual Diagram

Below is a flowchart representing the structure of the llm_factories.json file showing the hierarchical relationship between factories and their LLM models:

flowchart TD
    A[LLM Factories (factory_llm_infos)]
    A --> B1[Factory: OpenAI]
    A --> B2[Factory: xAI]
    A --> B3[Factory: TokenPony]
    A --> B4[Factory: Tongyi-Qianwen]
    A --> B5[Factory: ZHIPU-AI]
    A --> Bn[... Other Factories ...]

    subgraph Factory_Example [Factory "OpenAI"]
        B1 --> C1["gpt-5" Model]
        B1 --> C2["gpt-5-mini" Model]
        B1 --> C3["text-embedding-ada-002" Model]
        B1 --> C4["whisper-1" Model]
        B1 --> Cn["tts-1" Model]
    end

    subgraph Model_Details [LLM Model]
        style C1 fill:#e3f2fd,stroke:#0288d1,stroke-width:1px
        C1 --> M1[llm_name: string]
        C1 --> M2[tags: string]
        C1 --> M3[max_tokens: integer]
        C1 --> M4[model_type: string]
        C1 --> M5[is_tools: boolean (optional)]
    end

Summary

The llm_factories.json file is a centralized catalog enumerating LLM providers and their models with detailed metadata for each. It enables systems to dynamically discover, filter, and utilize a broad spectrum of AI models across multiple vendors, supporting diverse model types like chat, embedding, speech-to-text, and more. This data-driven approach facilitates scalable integration and selection of LLMs in complex AI ecosystems.

Because it is a static JSON file, it does not contain executable code but is essential for configuration and runtime decision-making in LLM-enabled applications.


End of Documentation