DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Anthropic’s Model Context Protocol (MCP): A Developer’s Guide to Long-Context LLM Integration
  • Understanding MCP Architecture: LLM + API vs Model Context Protocol
  • MCP Servers Are Everywhere, but Most Are Collecting Dust: Key Lessons We Learned to Avoid That
  • MCP Elicitation: Human-in-the-Loop for MCP Servers

Trending

  • Solving the Mystery: Why Java RSS Grows in Docker on M1 Macs
  • RAG Done Right: When to Use SQL, Search, and Vector Retrieval and How To Combine Them
  • Stop Writing Dialect-Specific SQL: A Unified Query Builder for Node.js
  • 11 Agentic Testing Tools to Know in 2026
  1. DZone
  2. Coding
  3. Tools
  4. A Practical Guide to Augmenting LLM Models With Function Calling

A Practical Guide to Augmenting LLM Models With Function Calling

Learn how to build a more dynamic AI application using a no-code tool, enabling integration of external functions with OpenAI LLM.

By 
Javier Teso user avatar
Javier Teso
·
Updated by 
Pranav K user avatar
Pranav K
DZone Core CORE ·
Nov. 26, 24 · Tutorial
Likes (2)
Comment
Save
Tweet
Share
2.7K Views

Join the DZone community and get the full member experience.

Join For Free

What Is Function Calling?

LLM models are powerful, but they’re limited to the data they've been trained on. Enter function calling: a feature that lets us enhance LLM’s capabilities by “calling” functions to gather external information. This means we can teach AI how to fetch specific, real-world data, like current weather, and use it to provide more relevant answers.

Use Case

“What should I wear today?” The answer varies based on the weather, but now it can be automated. Imagine an API that recommends clothing based on the forecast. In this demo, we used Kumologica, a low-code tool, to integrate OpenAI with a weather service. The goal: to enable OpenAI to use real-time weather data and offer on-point clothing advice.

Design

Our focus was on keeping things simple and effective. Using Kumologica, we connected OpenAI’s function-calling capability to a custom weather-based wardrobe API. When OpenAI encounters a query about what to wear, function calling activates, fetching specific data from an external weather API. This API gathers weather details — temperature, precipitation, wind — and then interprets them to provide clothing recommendations.

Design diagram

Implementation

Kumologica’s low-code setup made the integration straightforward. We designed a flow that takes a city name as input, triggers a weather API call, and relays the data to OpenAI through function calling. The result? A tailored clothing suggestion: layers for chilly weather, light attire for warmth, and rain gear when it’s wet. The entire process is quick and simple.

The following diagram illustrates the complete implementation of the API, detailing the flow of data and the steps involved in generating personalized clothing recommendations based on weather conditions.

Complete implementation of the API

Here’s an explanation of the components: 

1. GET /wear (EventListener)

This represents an HTTP GET request endpoint. It takes a query parameter (“city”) to initiate the flow.

GET /wear (EventListener)

2. Store City (Set-Property)

This stores the city name from the incoming request.

Store City (Set-Property)

3. OpenAI (OpenAI)

This calls the OpenAI API to generate personalized clothing recommendations based on the weather for the given city.

OpenAI (OpenAI)

4. Set Weather API URL (Function)

This is a JavaScript function that dynamically constructs the URL for querying a weather API based on the stored city name.

Set Weather API URL (Function)

5. Weather API (HTTP Request)

Call a third-party weather service API (WeatherStack) to retrieve current weather data.

Weather API (HTTP Request)

6. Return Weather Data (OpenAIToolEnd)

Pass the weather data to OpenAI API (3) to complete the request.

7. Return Results (EventListenerEnd)

This sends the final clothing recommendations back to the user as a response to their initial request.

Return Results (EventListenerEnd)

Try It

1. Install Kumologica

Shell
 
npm install -g @kumologica/sdk


2. Clone the Project Repository

Shell
 
git clone https://github.com/KumologicaHQ/demo-weather-wear

cd demo-weather-wear 


3. Install the Dependencies

Shell
 
npm install

 

4. Set Environment Variables 

Create an .env file in the root directory and configure the following variables:

Shell
 
OPENAI_API_KEY=<Your OpenAI API Key>

WEATHERSTACK_API=<Your Weatherstack API Key>


4. Running Locally

Open Kumologica Designer:

Shell
 
kl open .


To test the API locally,  you can use the designer TestCase or an external tool like Postman or CURL to make a request: GET http://127.0.0.1:1880/wear?city=sydney.

Wrap Up

In conclusion, function calling opens up exciting possibilities for enhancing the capabilities of LLMs by allowing them to interact with real-world data in real-time.

The use case presented can be expanded further with parameter definition in function calling, enabling the LLM to extract parameters from the prompt, as well as the ability to call multiple functions. This paves the way for even more powerful and customized AI-driven solutions.

API Data (computing) large language model Tool low code

Opinions expressed by DZone contributors are their own.

Related

  • Anthropic’s Model Context Protocol (MCP): A Developer’s Guide to Long-Context LLM Integration
  • Understanding MCP Architecture: LLM + API vs Model Context Protocol
  • MCP Servers Are Everywhere, but Most Are Collecting Dust: Key Lessons We Learned to Avoid That
  • MCP Elicitation: Human-in-the-Loop for MCP Servers

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook