awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

LLM tool calling

Ranking updated Jun 30, 2026

For a library for LLM function calling, the strongest matches are normal-computing/outlines (Outlines is a Python guided-generation framework that enforces structured), openai/swarm (Swarm is a Python framework from OpenAI that orchestrates) and ghuntley/how-to-build-a-coding-agent (This repository is a guided tutorial and reference implementation). shishirpatil/gorilla and outlines-dev/outlines round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Explore the best open-source libraries for LLM function calling. Compare top frameworks by activity and features to find the best fit for your project.

LLM tool calling

Find the best repos with AI.We'll search the best matching repositories with AI.
  • normal-computing/outlinesnormal-computing avatar

    normal-computing/outlines

    13,965View on GitHub↗

    Outlines is a guided generation framework designed to enforce structural constraints on large language model output in real time. It serves as a structured output generator that ensures model responses adhere to predefined JSON schemas, regular expressions, or fixed sets of choices to produce predictable and parsable results. The project provides an interface for tool calling by extracting structured function parameters from natural language prompts for programmatic execution. It also includes a prompt templating engine that decouples prompt logic from application code through reusable templa

    Outlines is a Python guided-generation framework that enforces structured output and supports tool calling via function parameter extraction from natural language, directly matching the need to learn and integrate function calling with real LLMs.

    PythonLLM Tool Calling
    View on GitHub↗13,965
  • openai/swarmopenai avatar

    openai/swarm

    21,640View on GitHub↗

    Swarm is a framework for building conversational systems that coordinate multi-agent workflows. It functions as an orchestration engine that manages persistent, multi-turn dialogues by routing tasks between specialized agents and executing local functions. The system is designed to handle complex, multi-step processes by maintaining shared state and context across agent interactions. The framework distinguishes itself through its approach to dynamic task delegation and execution control. It enables agents to hand off tasks to one another by returning agent objects, allowing for modular, domai

    Swarm is a Python framework from OpenAI that orchestrates multi-agent workflows through function calling, providing tool definitions, structured output handling, and real LLM integration—directly fitting the goal of learning or implementing LLM tool use.

    PythonLLM Tool Calling
    View on GitHub↗21,640
  • ghuntley/how-to-build-a-coding-agentghuntley avatar

    ghuntley/how-to-build-a-coding-agent

    5,145View on GitHub↗

    This repository is a reference implementation and guided tutorial for building an AI coding agent that combines conversational interaction with file system manipulation and sandboxed shell execution. The agent uses a large language model as its core decision-making component, operating within a turn-based conversational loop where it can generate responses or invoke tools, and tool results are fed back into the dialogue. It provides primitives for reading, writing, and listing files on the local filesystem, as well as searching code using regular expressions. The agent’s capabilities are exte

    This repository is a guided tutorial and reference implementation for building an AI coding agent that uses LLM-driven tool calls (file operations, shell execution) in a conversational loop, making it a practical example of function calling. However, it is written in Go rather than Python, so it does not directly satisfy the Python implementation preference you listed.

    GoCustom Tool Definitions
    View on GitHub↗5,145
  • shishirpatil/gorillaShishirPatil avatar

    ShishirPatil/gorilla

    12,908View on GitHub↗

    Gorilla is a foundational infrastructure framework for large language model function calling. It provides a system for training, evaluating, and executing the translation of natural language instructions into accurate API calls and executable code. The project integrates a structured API documentation index, a fine-tuning pipeline for model adaptation, and a secure sandboxed action runtime for executing model-generated commands. The framework distinguishes itself through a specialized evaluation benchmark suite that measures the accuracy, cost, and latency of function calls. It includes tools

    Gorilla is a full framework for LLM function calling that includes training, evaluation, and a sandboxed execution environment, making it a strong resource for learning or integrating function calling, though it focuses more on the infrastructure than a simple demo with OpenAI's API.

    PythonLLM Tool Calling
    View on GitHub↗12,908
  • outlines-dev/outlinesoutlines-dev avatar

    outlines-dev/outlines

    13,965View on GitHub↗

    Outlines is a guided text generation framework and structured output engine for large language models. It enforces precise structural constraints on model output during the sampling process to ensure the generation of valid data. The framework ensures that model outputs strictly adhere to predefined data models, including JSON schemas, regular expressions, and formal grammars. This enables the conversion of natural language inputs into structured arguments for function calling and the generation of valid JSON for downstream processing. The system manages model orchestration through prompt te

    Outlines is a Python framework that enforces structural constraints on LLM outputs, enabling function calling by converting natural language into structured arguments for tool use—making it a solid fit for learning and integrating this pattern.

    PythonLLM Tool Calling
    View on GitHub↗13,965
  • copilotkit/copilotkitCopilotKit avatar

    CopilotKit/CopilotKit

    35,194View on GitHub↗

    CopilotKit is an agentic framework designed to integrate large language models into application frontends, enabling natural language control over software features and data. It provides the infrastructure to build intelligent assistants that manage conversation history, track application state, and execute complex workflows through conversational prompts. The framework distinguishes itself by its ability to render dynamic, interactive user interface components in real time based on model outputs. By utilizing a standardized communication protocol, it maps natural language intents to executabl

    CopilotKit is a TypeScript framework for building agentic LLM interfaces with tool calling, but it is not Python-based, so while it fits the category of function calling toolkit, it may not serve the visitor's need for Python-specific learning or integration.

    TypeScriptLLM Tool Calling
    View on GitHub↗35,194
  • openhands/openhandsOpenHands avatar

    OpenHands/OpenHands

    77,330View on GitHub↗

    OpenHands is an autonomous agent framework designed for software engineering workflows. It provides a modular platform for orchestrating AI agents that reason, plan, and execute tasks within isolated, containerized development environments. By integrating with standard version control and development tools, the system enables agents to autonomously navigate codebases, implement features, and resolve issues through iterative reasoning and tool execution. The platform distinguishes itself through a model-agnostic orchestrator that connects diverse language models to a unified tool registry. It

    OpenHands is a full-fledged autonomous agent framework with a model-agnostic orchestrator and unified tool registry, directly implementing LLM function calling (tool use) in Python, covering multiple tool definitions, structured output parsing, async support, and real-world LLM integration—exactly the kind of toolkit this search targets for learning or integration.

    PythonCustom Tool Definitions
    View on GitHub↗77,330
  • langroid/langroidlangroid avatar

    langroid/langroid

    3,894View on GitHub↗

    Langroid is a multi-agent orchestration framework and tool integration suite designed for building complex AI applications. It serves as a multi-modal integration layer that connects diverse local and remote language models with an agentic retrieval-augmented generation system. The project distinguishes itself through a collaborative message-exchange paradigm, allowing specialized agents to delegate tasks hierarchically and coordinate via structured communication. It features an advanced state management system for conversational AI, including the ability to rewind and prune conversation hist

    Langroid is a multi-agent orchestration framework in Python that natively implements function calling with LLMs, offering multiple tool definitions, structured output parsing, and demonstration with real models like GPT-4, making it a comprehensive toolkit for learning or integrating function calling.

    PythonLLM Tool CallingLLM Schema Outputs
    View on GitHub↗3,894
  • genkit-ai/genkitgenkit-ai avatar

    genkit-ai/genkit

    6,141View on GitHub↗

    Genkit is an LLM application framework and generative AI developer toolkit designed for building production AI applications. It serves as an AI workflow orchestrator that coordinates model calls and agentic tool usage through type-safe execution flows. The project provides a unified model interface and plugin architecture to standardize access to diverse large language models, vector stores, and telemetry backends. It distinguishes itself with a dedicated observability suite for tracing execution steps and a developer toolkit for prompting, debugging, and evaluating AI logic via a local inter

    Genkit is a full LLM application framework with built-in tool-use and function-calling orchestration, but its TypeScript implementation means it won't serve the Python-focused examples and integration the visitor is after.

    TypeScriptTool Definitions
    View on GitHub↗6,141
  • ed-donner/agentsed-donner avatar

    ed-donner/agents

    4,017View on GitHub↗

    This project is an LLM autonomous agent framework and orchestration tool designed to build goal-driven agents that automate complex workflows. It functions as a system for converting high-level objectives into a series of autonomous actions and managing the coordination of multiple specialized agents to solve multi-step problems. The framework features a tool integration layer that parses structured model outputs into executable functions and external API calls. It utilizes a non-blocking execution pipeline to manage task orchestration through recursive loops and asynchronous event handling.

    This is an LLM autonomous agent framework that includes a tool integration layer for parsing structured model outputs into executable functions, with async support and multi-tool orchestration, fitting the function-calling focus even though it is a broader orchestration system rather than a simple demonstration.

    Jupyter NotebookLLM Tool Calling
    View on GitHub↗4,017
  • langchain-ai/langchainlangchain-ai avatar

    langchain-ai/langchain

    139,458View on GitHub↗

    LangChain is an orchestration framework designed for building, managing, and deploying applications powered by large language models. It provides a unified integration layer that normalizes disparate model provider APIs into a consistent set of primitives, enabling developers to build complex, multi-step AI workflows that manage state, memory, and tool execution. The project distinguishes itself through a durable execution runtime that maintains persistent state across long-running processes by checkpointing progress to external storage. It models agent workflows as directed graphs, allowing

    LangChain is a comprehensive Python framework for building LLM-powered applications with native tool execution and agent workflows, directly implementing OpenAI function calling, structured output via Pydantic, and async support—making it an ideal resource to integrate or learn from for function-calling use cases.

    PythonAgent Orchestration FrameworksLLM Application OrchestrationLLM Integration Layers
    View on GitHub↗139,458
  • openai/openai-cookbookopenai avatar

    openai/openai-cookbook

    74,196View on GitHub↗

    This project is a technical learning resource and developer knowledge base focused on the integration of large language models into software applications. It provides a structured collection of guides and code examples designed to teach developers how to implement intelligent features using proven patterns and best practices. The repository distinguishes itself through a library of functional demonstrations that cover complex topics such as retrieval-augmented generation, function calling, and prompt engineering workflows. These materials are organized into a modular structure, allowing for t

    This is the official OpenAI cookbook containing extensive Jupyter Notebook examples that demonstrate function calling with the OpenAI API, including multiple tool definitions, structured output parsing, and real model usage, making it an ideal learning resource for integrating LLM function calling.

    Jupyter NotebookArtificial Intelligence ToolingLLM Integration PatternsPrompt Engineering Toolkits
    View on GitHub↗74,196
  • openai/openai-goopenai avatar

    openai/openai-go

    2,974View on GitHub↗

    openai-go is an LLM SDK for Go and a client for interacting with OpenAI services. It provides type-safe bindings to generate text, images, and audio via REST endpoints, enabling the integration of large language models and AI assistant orchestration into Go applications. The library serves as an agent orchestration tool for managing stateful conversation threads and autonomous agents with integrated tool calling and file search. It also functions as an asynchronous batch processing client for monitoring large-scale request groups and fine-tuning jobs, alongside a management SDK for controllin

    openai-go is the official Go client SDK for OpenAI, providing tool calling and agent orchestration directly through its API, which matches the function-calling toolkit category — however, it is in Go rather than Python, so it narrowly fits the listed preference for a Python implementation.

    GoOpenAI API ClientsLLM Schema Outputs
    View on GitHub↗2,974
  • jetbrains/koogJetBrains avatar

    JetBrains/koog

    3,735View on GitHub↗

    Koog is an LLM agent framework used to build autonomous entities that execute tool-based workflows. It utilizes a graph-based workflow engine to define agent behaviors and decision paths as a directed graph of nodes and edges. The framework distinguishes itself through a model provider orchestrator that enables dynamic switching, load balancing, and automatic fallbacks between different AI backends. It implements the Model Context Protocol to connect agents to remote tool servers and features a RAG memory system using vector embeddings to maintain long-term conversation context. The project

    Koog is a full agent framework for building tool-based LLM workflows, supporting multiple providers and the Model Context Protocol, making it a genuine toolkit for function calling — but it is implemented in Kotlin/JVM rather than Python, so it may not fit if you need a Python-specific solution.

    KotlinLLM Schema OutputsTool Registries
    View on GitHub↗3,735
  • huggingface/smolagentshuggingface avatar

    huggingface/smolagents

    27,885View on GitHub↗

    This framework provides a development toolkit for building autonomous agents that utilize language models to solve complex, non-deterministic tasks. Its core design centers on a code-executing architecture where agents generate and run Python code snippets to perform logic, data manipulation, and tool interactions. By moving beyond structured data formats, the system enables agents to manage program flow and object state through iterative reasoning cycles. The project distinguishes itself through its focus on code-based agent implementation and secure execution environments. Developers can ch

    huggingface/smolagents is a Python framework for building autonomous agents that use LLMs to interact with tools via code execution, fitting the search for a function-calling toolkit with multiple tool definitions and real model integrations.

    PythonAutonomous Agent FrameworksAgent ArchitecturesAgent Orchestrators
    View on GitHub↗27,885
  • composiohq/composioComposioHQ avatar

    ComposioHQ/composio

    28,798View on GitHub↗

    Composio is an integration platform designed to connect autonomous agents with external software services and APIs. It functions as a tool orchestration framework and a middleware hub, providing a unified interface for managing the lifecycle, authentication, and execution of external tool definitions within agentic workflows. The platform distinguishes itself by utilizing the Model Context Protocol to standardize communication between artificial intelligence models and external data sources. It employs a provider-agnostic adapter pattern to decouple core logic from specific model providers an

    Composio is a function-calling orchestration platform for connecting agents to external tools, fitting the toolkit category, but its primary language is TypeScript—not Python—so it only partially meets the Python implementation feature and may be more infrastructure than a simple learning example.

    TypeScriptAgent Tool IntegrationsAI Agent Integration PlatformsModel Context Protocol Implementations
    View on GitHub↗28,798
  • run-llama/llama_indexrun-llama avatar

    run-llama/llama_index

    50,306View on GitHub↗

    LlamaIndex is a comprehensive development framework designed to connect private or external data sources to large language models. It functions as a data-centric toolkit that enables the construction of retrieval-augmented generation systems, allowing developers to build applications that provide context-aware answers based on specific organizational information. The project distinguishes itself through a robust agentic orchestration engine that supports the creation of autonomous agents capable of multi-step reasoning, memory management, and complex tool execution. Beyond simple retrieval, i

    LlamaIndex is a Python framework that enables building autonomous agents capable of using and orchestrating multiple tools with LLMs, supporting OpenAI function calling, structured output parsing, and async execution, so it fits the search for a function-calling toolkit to learn from or integrate.

    PythonRetrieval-Augmented Generation FrameworksAgentic FrameworksAgentic Orchestration Frameworks
    View on GitHub↗50,306
  • qwenlm/qwen-agentQwenLM avatar

    QwenLM/Qwen-Agent

    13,322View on GitHub↗

    Qwen-Agent is a development framework for building autonomous software applications that leverage large language models to plan, reason, and execute complex tasks. It functions as an orchestration engine that enables models to interact with external APIs, manage persistent memory, and maintain context across multi-step workflows. The framework distinguishes itself through a multi-agent collaboration platform that allows independent agent instances to exchange structured messages and delegate sub-tasks to one another. By utilizing iterative reasoning loops and dynamic prompt injection, the sys

    Qwen-Agent is a Python framework for building autonomous LLM applications with tool orchestration, making it a relevant toolkit for implementing function calling, though its focus is more on multi-agent collaboration than the OpenAI API specifically.

    PythonAgentic LLM FrameworksAutonomous AgentsIntelligent Agent Frameworks
    View on GitHub↗13,322
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
normal-computing/outlines14KPythonApache-2.0May 18, 2026
openai/swarm21.6KPythonMITApr 15, 2026
ghuntley/how-to-build-a-coding-agent5.1KGo—Feb 20, 2026
shishirpatil/gorilla12.9KPythonApache-2.0Apr 13, 2026
outlines-dev/outlines14KPythonApache-2.0May 18, 2026
copilotkit/copilotkit35.2KTypeScriptMITJun 16, 2026
openhands/openhands77.3KPythonNOASSERTIONJun 16, 2026
langroid/langroid3.9KPythonmitFeb 16, 2026
genkit-ai/genkit6.1KTypeScriptApache-2.0Jun 26, 2026
ed-donner/agents4KJupyter NotebookmitFeb 15, 2026

Related searches

  • a framework for building LLM applications
  • a framework for typed LLM programming
  • LLM inference and serving
  • a framework for running local LLM agents
  • a caching layer for LLM API calls
  • Prompt engineering and LLM app dev
  • an open source platform for local LLMs
  • an open source framework for LLM applications