OpenAI Function Calling & Assistants API
Direct function calling schema for OpenAI GPT-4o, GPT-4 Turbo, and Assistant API.
AI Agents & LLM Tools
Use the baziOpenAITool schema directly inside openai.chat.completions.create or Assistant API runs.
Installation
Bash
npm install openai @baziapi/ai-tools @baziapi/sdkQuick Start
Full Function Calling Execution Loop
TypeScript
import OpenAI from 'openai';
import { BaziClient } from '@baziapi/sdk';
import { baziOpenAITool, executeOpenAIBaziCall } from '@baziapi/ai-tools';
const openai = new OpenAI();
const bazi = new BaziClient({ apiKey: process.env.BAZI_API_KEY! });
async function askAstrologer(prompt: string) {
const messages: OpenAI.ChatCompletionMessageParam[] = [
{ role: 'system', content: 'You are an expert BaZi Astrologer. Always use calculate_bazi_chart before answering.' },
{ role: 'user', content: prompt }
];
const res = await openai.chat.completions.create({
model: 'gpt-4o',
messages,
tools: [baziOpenAITool],
});
const toolCall = res.choices[0].message.tool_calls?.[0];
if (toolCall) {
const args = JSON.parse(toolCall.function.arguments);
const chartData = await executeOpenAIBaziCall(bazi, args);
messages.push(res.choices[0].message);
messages.push({ role: 'tool', tool_call_id: toolCall.id, content: JSON.stringify(chartData) });
const finalRes = await openai.chat.completions.create({ model: 'gpt-4o', messages });
return finalRes.choices[0].message.content;
}
}Something unclear? Contact developer support.