Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

API Agen (Beta)

Akses agen LibreChat secara terprogram melalui endpoint API yang kompatibel dengan OpenAI dan Open Responses

Fitur Beta

Agents API saat ini dalam tahap beta. Endpoint, format permintaan/tanggapan, dan perilaku dapat berubah seiring kami melakukan iterasi menuju rilis stabil.

LibreChat mengekspos agen Anda melalui dua antarmuka yang kompatibel dengan API, memungkinkan aplikasi, skrip, dan layanan eksternal untuk berinteraksi dengan agen Anda secara terprogram.

Ikhtisar

API Agents menyediakan dua antarmuka:

  • Chat Completions yang kompatibel dengan OpenAI — POST /api/agents/v1/chat/completions
  • API Respons Terbuka — POST /api/agents/v1/responses

Keduanya diautentikasi melalui API key dan mendukung respons streaming, sehingga memudahkan integrasi agen LibreChat ke dalam alur kerja yang sudah ada yang telah menggunakan SDK OpenAI atau perangkat serupa.

LibreChat mengadopsi Open Responses sebagai kerangka kerja API utamanya untuk melayani agen. Meskipun endpoint Chat Completions menyediakan kompatibilitas mundur dengan perangkat yang kompatibel dengan OpenAI yang sudah ada, endpoint Open Responses mewakili arah masa depan.

Mengaktifkan Agents API

Agents API dibatasi di balik konfigurasi antarmuka remoteAgents. Semua izin secara default diatur ke false.

interface:
  remoteAgents:
    use: true
    create: true

Lihat Interface Configuration — remoteAgents untuk semua opsi yang tersedia.

Catatan: Pengguna admin memiliki semua izin agen jarak jauh yang diaktifkan secara default.

Manajemen Kunci API

Setelah remoteAgents.use dan remoteAgents.create diaktifkan, pengguna dapat membuat kunci API dari UI LibreChat. Kunci-kunci ini mengautentikasi permintaan ke Agents API.

Autentikasi

Agents API mendukung dua metode autentikasi yang dapat digunakan secara terpisah atau bersamaan.

API Key

Autentikasi kunci API diaktifkan secara default. Buat kunci API dari UI LibreChat setelah remoteAgents.use dan remoteAgents.create diaktifkan.

Authorization: Bearer <YOUR_API_KEY>

OIDC Bearer Token

Untuk skenario machine-to-machine di mana infrastruktur Anda sudah memiliki penyedia OIDC, Anda dapat melakukan autentikasi secara langsung dengan token OIDC Bearer tanpa kunci API LibreChat.

Konfigurasikan autentikasi OIDC di librechat.yaml:

endpoints:
  agents:
    remoteApi:
      auth:
        apiKey:
          enabled: false
        oidc:
          enabled: true
          issuer: https://auth.example.com/realms/myrealm
          # jwksUri is optional and auto-discovered from issuer if omitted
          audience: my-client-id

Kemudian panggil API dengan OIDC access token Anda:

curl -X POST https://your-librechat-instance/api/agents/v1/responses \
  -H "Authorization: Bearer YOUR_OIDC_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"model": "agent_abc123", "input": "Hello!"}'

Token OIDC harus milik pengguna yang sudah ada di LibreChat. Pencocokan menggunakan klaim sub terlebih dahulu, kemudian beralih ke email, preferred_username, atau upn.

Lihat Agents Endpoint - remoteApi untuk semua opsi konfigurasi.

Endpoints

Chat Completions (kompatibel dengan OpenAI)

POST /api/agents/v1/chat/completions

Gunakan SDK apa pun yang kompatibel dengan OpenAI dengan mengarahkannya ke instans LibreChat Anda. Parameter model merujuk pada ID agen.

Contoh dengan curl:

curl -X POST https://your-librechat-instance/api/agents/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "agent_abc123",
    "messages": [
      {"role": "user", "content": "Hello, what can you help me with?"}
    ],
    "stream": true
  }'

Contoh dengan OpenAI SDK (Python):

from openai import OpenAI

client = OpenAI(
    base_url="https://your-librechat-instance/api/agents/v1",
    api_key="YOUR_API_KEY"
)

response = client.chat.completions.create(
    model="agent_abc123",
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True
)

for chunk in response:
    print(chunk.choices[0].delta.content, end="")

Daftar Model

GET /api/agents/v1/models

Mengembalikan agen yang tersedia sebagai model. Berguna untuk mengetahui agen mana yang dapat diakses dengan kunci API Anda.

API Respons Terbuka

POST /api/agents/v1/responses

Endpoint Open Responses mengikuti spesifikasi Open Responses, sebuah standar inferensi terbuka yang diprakarsai oleh OpenAI dan dibangun oleh komunitas AI sumber terbuka. Endpoint ini dirancang untuk alur kerja agen dengan dukungan bawaan untuk penalaran, penggunaan alat, output terstruktur, dan streaming peristiwa semantik.

curl -X POST https://your-librechat-instance/api/agents/v1/responses \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "agent_abc123",
    "input": "What is the weather today?"
  }'

Pelacakan Penggunaan Token

Semua permintaan API Agents melacak penggunaan token terhadap saldo pengguna (ketika penggunaan token dikonfigurasi). Baik token input maupun output dihitung, termasuk token cache untuk penyedia yang mendukungnya (OpenAI, Anthropic).

Roadmap

  • Open Responses sebagai antarmuka utama — Kami berencana untuk memperluas endpoint Open Responses dengan dukungan penuh untuk loop agen, orkestrasi alat, dan streaming peristiwa semantik.
  • Anthropic Messages API — Kami mungkin akan menambahkan dukungan untuk format Anthropic Messages API sebagai antarmuka tambahan di masa mendatang.

Bagaimana panduan ini?