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:
bashollama 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
:
bashcurl 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:
pythonfrom 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:
javascriptimport 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:
Kloning contoh repositori menggunakan
create-next-app
:bashnpx create-next-app --example https://github.com/vercel/ai/tree/main/examples/next-openai example cd example
Lakukan dua pengeditan pada
app/api/chat/route.ts
untuk memperbarui contoh obrolan agar menggunakan Ollama:typescriptconst openai = new OpenAI({ baseURL: 'http://localhost:11434/v1', apiKey: 'ollama', }); const response = await openai.chat.completions.create({ model: 'llama2', stream: true, messages, });
Jalankan aplikasi:
bashnpm run dev
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:
Tarik model Code Llama:
bashollama pull codellama
Instal Autogen:
bashpip install pyautogen
Buat skrip Python
example.py
untuk menggunakan Ollama dengan Autogen:pythonfrom 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.")
Jalankan skrip untuk membuat diagram:
bashpython 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
Write You comment here! Please...