April 4, 202511:03:05 PM

Kompatibilitas OpenAI dengan Ollama: Integrasi yang Memudahkan Penggunaan API Chat Completions

Kompatibilitas OpenAI dengan Ollama: Integrasi yang Memudahkan Penggunaan API Chat Completions

Pada tanggal 8 Februari 2024, Ollama mengumumkan kompatibilitas bawaan dengan OpenAI Chat Completions API. Integrasi ini memungkinkan pengguna untuk mengakses berbagai peralatan dan aplikasi menggunakan Ollama secara lokal, menghadirkan kemudahan dan fleksibilitas lebih dalam penggunaan teknologi AI.

Persiapan

Langkah pertama untuk memulai adalah dengan mengunduh Ollama dan menarik model seperti Llama 2 atau Mistral. Berikut adalah perintah yang dapat digunakan:

12
bash
ollama pull llama2

Penggunaan

Menggunakan curl

Untuk memanggil titik akhir API Ollama yang kompatibel dengan OpenAI, format yang digunakan adalah sama seperti OpenAI. Namun, nama host diubah menjadi http://localhost:11434:

12345678910111213141516
bash
curl http://localhost:11434/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "llama2", "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Hello!" } ] }'

Menggunakan Perpustakaan OpenAI Python

Anda juga dapat menggunakan perpustakaan OpenAI Python untuk mengakses API Ollama. Berikut adalah contoh kode yang dapat digunakan:

123456789101112131415161718
python
from openai import OpenAI client = OpenAI( base_url='http://localhost:11434/v1', api_key='ollama', # diperlukan, tetapi tidak digunakan ) response = client.chat.completions.create( model="llama2", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Who won the world series in 2020?"}, {"role": "assistant", "content": "The LA Dodgers won in 2020."}, {"role": "user", "content": "Where was it played?"} ] ) print(response.choices[0].message.content)

Menggunakan Pustaka JavaScript OpenAI

Untuk pengguna JavaScript, pustaka OpenAI dapat digunakan dengan cara berikut:

1234567891011121314
javascript
import OpenAI from 'openai' const openai = new OpenAI({ baseURL: 'http://localhost:11434/v1', apiKey: 'ollama', // diperlukan tetapi tidak digunakan }) const completion = await openai.chat.completions.create({ model: 'llama2', messages: [{ role: 'user', content: 'Why is the sky blue?' }], }) console.log(completion.choices[0].message.content)

Menggunakan Vercel AI SDK

Vercel AI SDK adalah perpustakaan sumber terbuka untuk membangun aplikasi streaming percakapan. Berikut adalah langkah-langkah untuk memulai:

  1. Kloning contoh repositori menggunakan create-next-app:

    123
    bash
    npx create-next-app --example https://github.com/vercel/ai/tree/main/examples/next-openai example cd example
  2. Lakukan dua pengeditan pada app/api/chat/route.ts untuk memperbarui contoh obrolan agar menggunakan Ollama:

    1234567891011
    typescript
    const openai = new OpenAI({ baseURL: 'http://localhost:11434/v1', apiKey: 'ollama', }); const response = await openai.chat.completions.create({ model: 'llama2', stream: true, messages, });
  3. Jalankan aplikasi:

    12
    bash
    npm run dev
  4. Buka aplikasi contoh di browser Anda di http://localhost:3000.

Menggunakan Autogen

Autogen adalah kerangka kerja sumber terbuka populer dari Microsoft untuk membangun aplikasi multi-agen. Untuk menggunakan Autogen dengan Ollama, ikuti langkah-langkah berikut:

  1. Tarik model Code Llama:

    12
    bash
    ollama pull codellama
  2. Instal Autogen:

    12
    bash
    pip install pyautogen
  3. Buat skrip Python example.py untuk menggunakan Ollama dengan Autogen:

    123456789101112131415
    python
    from autogen import AssistantAgent, UserProxyAgent config_list = [ { "model": "codellama", "base_url": "http://localhost:11434/v1", "api_key": "ollama", } ] assistant = AssistantAgent("assistant", llm_config={"config_list": config_list}) user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding", "use_docker": False}) user_proxy.initiate_chat(assistant, message="Plot a chart of NVDA and TESLA stock price change YTD.")
  4. Jalankan skrip untuk membuat diagram:

    12
    bash
    python example.py

Rencana Pengembangan Masa Depan

Saat ini, dukungan untuk OpenAI API masih dalam tahap eksperimental. Beberapa perbaikan yang sedang dipertimbangkan meliputi:

  • API penyematan
  • Pemanggilan fungsi
  • Dukungan visi
  • Masalah log

Masukan dari pengguna sangat dihargai, dan masalah GitHub dipersilakan untuk diajukan.

Untuk informasi lebih lanjut, Anda dapat melihat dokumen resmi, mengikuti blog, atau bergabung dengan komunitas di GitHub, Discord, dan X (Twitter).

Dengan adanya kompatibilitas ini, pengguna diharapkan dapat lebih mudah dalam mengintegrasikan dan memanfaatkan teknologi AI dalam berbagai aplikasi lokal mereka.

Post a Comment

Post a Comment

Write You comment here! Please...

Author Name

YOUR_PROFILE_DESCRIPTION

Contact Form

Name

Email *

Message *

Powered by Blogger.