Skip to main content
Now that you’ve deployed your first provider and confirmed it’s working, you can connect it to an LLM like ChatGPT. In this guide, you’ll learn how to build a chat-enabled app that automatically handles tool calls from your Metorial providers.
What you’ll learn:
  • How to use a Metorial provider
  • How to use the Metorial SDKs
Before you start:
1

1. Install the SDKs

Run the installer for your language of choice:
npm install metorial @metorial/openai openai
2

2. Configure Clients

Instantiate both clients with your API keys and your provider deployment ID.
import { Metorial } from 'metorial';
import { metorialOpenAI } from '@metorial/openai';
import OpenAI from 'openai';

let metorial = new Metorial({
  apiKey: '$$SECRET_TOKEN$$'
});

let openai = new OpenAI({
  apiKey: '...your-openai-api-key...'
});
3

3. Fetch Your Provider Tools

Create a session that exposes your deployed provider tools.
let session = await metorial.connect({
	adapter: metorialOpenAI.chatCompletions(),
	providers: [
		{ providerDeploymentId: '...your-provider-deployment-id...' }
	]
});

let tools = session.tools();
4

4. Send Your First Prompt

Kick off the loop by sending an initial message.
let messages = [
  { role: "user", content: "Summarize the README.md file of the metorial/websocket-explorer repository on GitHub." }
];
5

5. Loop & Handle Tool Calls

  1. Send messages to OpenAI, passing the tools.
  2. If the assistant response contains tool_calls, invoke it:
let response = await openai.chat.completions.create({
  model: 'gpt-4o',
  messages,
  tools
});
let choice = response.choices[0]!;
let toolCalls = choice.message.tool_calls;
let toolResults = await session.callTools(toolCalls);
  1. Append both the tool call requests and their results to messages.
  2. Repeat until the assistant’s response has no more tool_calls.
6

6. Display the Final Output

Once there are no more tool calls, your assistant’s final reply is in:
console.log(choice.message.content);

What’s Next?

You are all set on having a production-ready provider to use in your AI apps. Next, you will learn about all the observability tooling available.

Next Up: How to monitor your provider and tool calls

Learn how to use the observability & logging features.