Lewati ke isi

Pengembangan Skrip / Objek Konektor DFF.CONN / LLM (Kompatibel dengan OpenAI)

Objek operasi Konektor LLM digunakan untuk memulai percakapan teks melalui API Chat Completions yang kompatibel dengan OpenAI yang dikonfigurasi pada Konektor.

Konektor ini memerlukan layanan target yang kompatibel dengan OpenAI Chat Completions API

Model dan parameter permintaan yang didukung oleh masing-masing layanan dapat berbeda; gunakan dokumentasi layanan target sebagai acuan.

1. Konfigurasi Konektor

Saat membuat Konektor LLM, perlu mengonfigurasi kolom-kolom berikut:

Kolom Wajib / Nilai Default Deskripsi
Base URL Wajib / https://api.openai.com/v1 Alamat dasar API yang kompatibel dengan OpenAI
API Key Wajib API Key untuk mengakses layanan target
Model Wajib ID model default yang digunakan; harus merupakan ID model Chat Completions yang didukung layanan target

Setelah mengisi Base URL dan API Key, saat membuka kotak pilihan Model, antarmuka akan mencoba memuat daftar model melalui endpoint /models layanan target. Jika tidak berhasil dimuat, Anda tetap dapat mengisi secara manual ID model yang didukung layanan target.

Pesan akan dikirim ke layanan target dan dapat menimbulkan biaya

Pastikan layanan target yang dituju Konektor sudah benar; jangan mengirim API Key, kata sandi, atau data sensitif yang tidak relevan di dalam pesan.

2. Memperoleh Objek Operasi Konektor

Parameter DFF.CONN(...) adalah sebagai berikut:

Parameter Tipe Wajib / Nilai Default Deskripsi
connector_id str Wajib ID Konektor
model str None Menimpa model default pada konfigurasi Konektor
timeout int/float 60 Waktu tunggu permintaan, dalam detik
Contoh
1
2
3
4
llm = DFF.CONN('llm_connector_id')

# Menimpa model default dan waktu tunggu permintaan untuk objek operasi saat ini
another_llm = DFF.CONN('llm_connector_id', model='another-model', timeout=30)

3. .chat(...)

Metode ini memanggil API Chat Completions yang kompatibel dengan OpenAI, dengan tanda tangan sebagai berikut:

Python
1
llm.chat(messages, model=None, **kwargs)

Parameternya adalah sebagai berikut:

Parameter Tipe Wajib / Nilai Default Deskripsi
messages str/list[dict] Wajib Pesan percakapan. Bila berupa string, otomatis diubah menjadi satu pesan user; bila berupa daftar pesan, akan dikirim apa adanya
model str None Menimpa model hanya untuk panggilan kali ini
**kwargs Sembarang Tidak ada Parameter kata kunci lainnya akan diteruskan ke client.chat.completions.create(...) pada OpenAI Python SDK; ketersediaannya bergantung pada layanan target

Metode ini mengubah respons lengkap Chat Completions menjadi dict lalu mengembalikannya. Balasan teks biasanya terdapat pada choices[0].message.content.

Untuk parameter permintaan dan struktur respons Chat Completions, lihat OpenAI API / Create chat completion.

3.1 Percakapan Satu Putaran

messages dapat langsung menerima string:

Contoh
1
2
3
4
5
llm = DFF.CONN('llm_connector_id')

response = llm.chat('Apa itu DataFlux Func?')
reply    = response['choices'][0]['message']['content']
print(reply)

String akan otomatis dikonversi menjadi daftar pesan berikut sebelum dikirim:

Python
1
2
3
4
messages = [{
    'role'   : 'user',
    'content': 'Apa itu DataFlux Func?',
}]

3.2 Percakapan Multi-Putaran

Konektor ini tidak menyimpan riwayat percakapan. Jika memerlukan percakapan multi-putaran, riwayat harus disimpan oleh Skrip dan daftar pesan lengkap harus diteruskan pada setiap pemanggilan:

Contoh
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
llm = DFF.CONN('llm_connector_id')

messages = [
    {
        'role'   : 'system',
        'content': 'Jawab singkat.',
    },
    {
        'role'   : 'user',
        'content': 'Apa itu DataFlux Func?',
    },
]

response = llm.chat(messages, temperature=0)
reply    = response['choices'][0]['message']['content']

messages.append({
    'role'   : 'assistant',
    'content': reply,
})
messages.append({
    'role'   : 'user',
    'content': 'Tugas apa yang cocok untuk ditangani olehnya?',
})

response = llm.chat(messages, temperature=0)

3.3 Menimpa Model Sementara

Model dipilih berdasarkan prioritas berikut:

  1. Parameter model pada .chat(...);
  2. Parameter model pada DFF.CONN(...);
  3. Model pada konfigurasi Konektor.
Contoh
1
2
3
4
llm = DFF.CONN('llm_connector_id', model='default-model-for-this-object')

# Panggilan kali ini menggunakan another-model
response = llm.chat('Halo!', model='another-model')

4. Batas Kemampuan dan Catatan Keamanan

  • Konektor ini memanggil Chat Completions API, bukan Responses API.
  • Konektor ini hanya mendukung pengembalian non-streaming; jangan meneruskan stream=True.
  • Konektor ini tidak menyimpan riwayat percakapan dan tidak mengelola panjang konteks secara otomatis. Batasi ukuran riwayat pesan dan keluaran sesuai dengan jendela konteks model, batas waktu tugas DataFlux Func, dan persyaratan pemanggil.
  • Meskipun parameter lain dapat diteruskan melalui **kwargs, Konektor ini tidak bertanggung jawab mengelola pemanggilan alat, berkas, gambar, audio, dan konten lainnya, serta tidak mengeksekusi secara otomatis parameter alat yang dikembalikan model.
  • Keluaran model termasuk data yang tidak tepercaya. Sebelum mengeksekusi kode, perintah, SQL, atau parameter alat yang dihasilkan model, Anda harus memvalidasi ulang dan memastikan otorisasinya.