Lunos logoLunos

Chat Completions

Kirim percakapan ke model dan dapatkan respons. SDK mendukung semua fitur chat completion yang kompatibel dengan OpenAI.

Penggunaan Dasar

const response = await client.chat.completions.create({
  model: "openai/gpt-4o",
  messages: [
    { role: "system", content: "Kamu adalah asisten yang membantu." },
    { role: "user", content: "Jelaskan komputasi kuantum dalam satu kalimat." },
  ],
  temperature: 0.7,
  max_tokens: 256,
});

console.log(response.choices[0].message.content);

Parameter

Parameter Tipe Deskripsi
model string Identifier model (misal openai/gpt-4o)
messages ChatCompletionMessageParam[] Pesan percakapan
temperature number Keacakan (0-2)
max_tokens number Panjang respons maksimum
tools Tool[] Tools/fungsi yang tersedia
response_format ResponseFormat Batasan format output
stream boolean Aktifkan streaming
observability boolean Aktifkan pelacakan permintaan

Multimodal (Vision)

const response = await client.chat.completions.create({
  model: "openai/gpt-4o",
  messages: [
    {
      role: "user",
      content: [
        { type: "text", text: "Apa yang ada di gambar ini?" },
        { type: "image_url", image_url: { url: "https://example.com/photo.jpg" } },
      ],
    },
  ],
});

Structured Outputs

const response = await client.chat.completions.create({
  model: "openai/gpt-4o",
  messages: [{ role: "user", content: "Cuaca di Jakarta" }],
  response_format: {
    type: "json_schema",
    json_schema: {
      name: "weather",
      strict: true,
      schema: {
        type: "object",
        properties: {
          location: { type: "string" },
          temperature: { type: "number" },
        },
        required: ["location", "temperature"],
        additionalProperties: false,
      },
    },
  },
});

const data = JSON.parse(response.choices[0].message.content!);

Pemanggilan Tool & Fungsi

const response = await client.chat.completions.create({
  model: "openai/gpt-4o",
  messages: [{ role: "user", content: "Bagaimana cuaca di Jakarta?" }],
  tools: [
    {
      type: "function",
      function: {
        name: "get_weather",
        description: "Dapatkan cuaca saat ini untuk suatu lokasi",
        parameters: {
          type: "object",
          properties: { location: { type: "string" } },
          required: ["location"],
        },
      },
    },
  ],
});

const toolCall = response.choices[0].message.tool_calls?.[0];
if (toolCall) {
  const args = JSON.parse(toolCall.function.arguments);
}

Pencarian Web

const response = await client.chat.completions.create({
  model: "openai/gpt-4o",
  messages: [{ role: "user", content: "Berita AI terbaru minggu ini" }],
  tools: [{ type: "web_search" }],
});