SDK & Integrations

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/sdk

Quick 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.