Rumah > pembangunan bahagian belakang > Tutorial Python > AISuite: Memudahkan integrasi GenAI merentas berbilang penyedia LLM

AISuite: Memudahkan integrasi GenAI merentas berbilang penyedia LLM

Susan Sarandon
Lepaskan: 2024-12-18 07:26:18
asal
1016 orang telah melayarinya

Generative AI (Gen AI) sedang membentuk semula industri dengan potensinya untuk kreativiti, penyelesaian masalah dan automasi. Walau bagaimanapun, pembangun sering menghadapi cabaran yang ketara apabila menyepadukan model bahasa besar (LLM) daripada pembekal yang berbeza disebabkan oleh API dan konfigurasi yang berpecah-belah. Kekurangan saling kendali ini merumitkan aliran kerja, memanjangkan garis masa pembangunan dan menghalang penciptaan aplikasi Gen AI yang berkesan.

Untuk menangani perkara ini, pasukan Andrew Ng telah memperkenalkan AISuite, perpustakaan Python sumber terbuka yang menyelaraskan penyepaduan LLM merentas penyedia seperti OpenAI, Anthropic dan Ollama. AISuite membolehkan pembangun bertukar antara model dengan rentetan "penyedia:model" ringkas (cth., openai:gpt-4o atau antropik:claude-3-5), menghapuskan keperluan untuk menulis semula kod yang meluas. Dengan menyediakan antara muka bersatu, AISuite mengurangkan kerumitan dengan ketara, mempercepatkan pembangunan dan membuka kemungkinan baharu untuk membina aplikasi Gen AI serba boleh.

Dalam artikel ini, kami akan meneroka cara AISuite berfungsi, aplikasi praktikalnya dan keberkesanannya dalam menangani cabaran bekerja dengan pelbagai LLM.

Bermula

Jadual kandungan

  • Apakah itu AISuite
  • Mengapa AISuite penting
  • Bereksperimen dengan AISuite
  • Membuat Selesai Sembang
  • Mencipta fungsi generik untuk pertanyaan

Apa itu AISuite

AISuite ialah perpustakaan Python sumber terbuka yang dibangunkan oleh pasukan Andrew Ng untuk memudahkan penyepaduan dan pengurusan model bahasa besar (LLM) daripada berbilang pembekal. Ia menguraikan kerumitan bekerja dengan pelbagai API, konfigurasi dan format data, menyediakan pemaju rangka kerja bersatu untuk memperkemas aliran kerja mereka.

Ciri Utama AISuite:

  • Antara Muka Lurus: AISuite menawarkan antara muka yang mudah dan konsisten untuk mengurus pelbagai LLM. Pembangun boleh menyepadukan model ke dalam aplikasi mereka dengan hanya beberapa baris kod, dengan ketara mengurangkan halangan kepada kemasukan untuk projek Gen AI.
  • Rangka Kerja Bersatu: Dengan mengabstrakkan perbezaan antara berbilang API, AISuite mengendalikan pelbagai jenis permintaan dan respons dengan lancar. Ini mengurangkan overhed pembangunan dan mempercepatkan prototaip dan penggunaan.
  • Penukaran Model Mudah: Dengan AISuite, bertukar antara model semudah menukar satu rentetan dalam kod. Sebagai contoh, pembangun boleh menentukan gabungan "provider:model" seperti openai:gpt-4o atau anthropic:claude-3-5 tanpa menulis semula bahagian penting aplikasi mereka.
  • Kebolehluasan: AISuite direka bentuk untuk menyesuaikan diri dengan landskap Gen AI yang sedang berkembang. Pembangun boleh menambah model dan pembekal baharu apabila ia tersedia, memastikan aplikasi kekal terkini dengan keupayaan AI terkini.

Mengapa AISuite Penting?

AISuite menangani titik kesakitan kritikal dalam ekosistem Gen AI: kekurangan kesalingoperasian antara LLM daripada pembekal yang berbeza. Dengan menyediakan antara muka bersatu, ia memudahkan proses pembangunan, menjimatkan masa dan mengurangkan kos. Fleksibiliti ini membolehkan pasukan mengoptimumkan prestasi dengan memilih model terbaik untuk tugasan tertentu.

Tanda aras awal dan maklum balas komuniti menyerlahkan keupayaan AISuite untuk mengurangkan masa penyepaduan untuk aplikasi berbilang model, meningkatkan kecekapan dan produktiviti pembangun. Apabila ekosistem Gen AI berkembang, AISuite merendahkan halangan untuk mencuba, membina dan menskalakan penyelesaian berkuasa AI.

Bereksperimen dengan AISuite

Mari mulakan meneroka AISuite dengan memasang kebergantungan yang diperlukan.

Memasang kebergantungan

  • Buat dan aktifkan persekitaran maya dengan melaksanakan arahan berikut.
python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows
Salin selepas log masuk
Salin selepas log masuk
  • Pasang perpustakaan aisuite, openai dan python-dotenv menggunakan pip.
pip install aisuite[all] openai python-dotenv
Salin selepas log masuk
Salin selepas log masuk

AISuite: Simplifying GenAI integration across multiple LLM providers

Menyediakan persekitaran dan kelayakan

Buat fail bernama .env. Fail ini akan menyimpan pembolehubah persekitaran anda, termasuk kunci OpenAI.

  • Buka fail .env dan tambah kod berikut untuk menentukan kunci API OpenAI anda:
OPENAI_API_KEY=sk-proj-7XyPjkdaG_gDl0_...
GROQ_API_KEY=gsk_8NIgj24k2P0J5RwrwoOBW...
Salin selepas log masuk
Salin selepas log masuk
  • Tambahkan kunci API pada pembolehubah persekitaran.
import os
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')
os.environ['ANTHROPIC_API_KEY'] = getpass('Enter your ANTHROPIC API key: ')
Salin selepas log masuk
Salin selepas log masuk

Mulakan Klien AISuite

Buat contoh klien AISuite, membolehkan interaksi piawai dengan berbilang LLM.

python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows
Salin selepas log masuk
Salin selepas log masuk

Menyoal model

Pengguna boleh menanyakan model menggunakan AISuite seperti berikut.

pip install aisuite[all] openai python-dotenv
Salin selepas log masuk
Salin selepas log masuk
  • model="openai:gpt-4o": Menentukan jenis dan versi model.
  • messages=messages: Menghantar gesaan yang ditakrifkan sebelum ini kepada model.
  • suhu=0.75: Melaraskan rawak tindak balas. Nilai yang lebih tinggi menggalakkan output kreatif, manakala nilai yang lebih rendah menghasilkan hasil yang lebih deterministik.
  • response.choices[0].message.content: Dapatkan semula kandungan teks daripada respons model.

Mencipta Selesai Sembang

Mari buat kod penyelesaian sembang menggunakan model OpenAI.

OPENAI_API_KEY=sk-proj-7XyPjkdaG_gDl0_...
GROQ_API_KEY=gsk_8NIgj24k2P0J5RwrwoOBW...
Salin selepas log masuk
Salin selepas log masuk
  • Jalankan apl menggunakan arahan berikut.
import os
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')
os.environ['ANTHROPIC_API_KEY'] = getpass('Enter your ANTHROPIC API key: ')
Salin selepas log masuk
Salin selepas log masuk

Anda akan mendapat output seperti berikut,

AISuite: Simplifying GenAI integration across multiple LLM providers

Mencipta fungsi generik untuk pertanyaan

Daripada menulis kod berasingan untuk memanggil model yang berbeza, mari cipta fungsi generik untuk menghapuskan pengulangan kod dan meningkatkan kecekapan.

client = ai.Client()
Defining the prompt
The prompt syntax closely resembles OpenAI’s structure, incorporating roles and content.

messages = [
   {"role": "system", "content": "You are a helpful assistant."},
   {"role": "user", "content": "Tell a joke in 1 line."}
]
Salin selepas log masuk

Fungsi tanya ialah utiliti boleh guna semula yang direka untuk menghantar pertanyaan kepada model AI. Ia menerima parameter berikut:

  • mesej: Pertanyaan atau gesaan pengguna. sys_message (pilihan): Arahan peringkat sistem untuk membimbing tingkah laku model.
  • model: Menentukan model AI yang akan digunakan. Fungsi ini memproses parameter input, menghantarnya ke model yang ditentukan dan mengembalikan tindak balas AI, menjadikannya alat serba boleh untuk berinteraksi dengan pelbagai model.

Di bawah ialah kod lengkap untuk berinteraksi dengan model OpenAI menggunakan fungsi tanya generik.

# openai model
response = client.chat.completions.create(model="openai:gpt-4o", messages=messages, temperature=0.75)
# ollama model
response = client.chat.completions.create(model="ollama:llama3.1:8b", messages=messages, temperature=0.75)
# anthropic model
response = client.chat.completions.create(model="anthropic:claude-3-5-sonnet-20241022", messages=messages, temperature=0.75)
# groq model
response = client.chat.completions.create(model="groq:llama-3.2-3b-preview", messages=messages, temperature=0.75)
print(response.choices[0].message.content)
Salin selepas log masuk

Menjalankan kod akan menghasilkan output berikut.

AISuite: Simplifying GenAI integration across multiple LLM providers

Berinteraksi dengan berbilang API

Mari teroka berinteraksi dengan berbilang model menggunakan AISuite melalui kod berikut.

import os
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')

import aisuite as ai

client = ai.Client()

provider = "openai"
model_id = "gpt-4o"

messages = [
    {"role": "system", "content": "You are a helpful assistant"},
    {"role": "user", "content": "Provide an overview of the latest trends in AI"},
]

response = client.chat.completions.create(
    model = f"{provider}:{model_id}",
    messages = messages,
)

print(response.choices[0].message.content)
Salin selepas log masuk

Mungkin terdapat cabaran semasa berinteraksi dengan penyedia seperti Anthropic atau Groq. Mudah-mudahan, pasukan AISuite sedang aktif menangani isu ini untuk memastikan penyepaduan dan kefungsian yang lancar.

AISuite ialah alat yang berkuasa untuk menavigasi landskap model bahasa yang besar. Ia membolehkan pengguna memanfaatkan kekuatan berbilang penyedia AI sambil memperkemas pembangunan dan menggalakkan inovasi. Dengan asas sumber terbuka dan reka bentuk intuitif, AISuite menonjol sebagai asas untuk pembangunan aplikasi AI moden.

Terima kasih kerana membaca artikel ini !!

Terima kasih Gowri M Bhatt kerana menyemak kandungan.

Jika anda menyukai artikel ini, sila klik pada butang hati ♥ dan kongsi untuk membantu orang lain menemuinya!

Kod sumber penuh untuk tutorial ini boleh didapati di sini,

GitHub - codemaker2015/aisuite-examples : github.com

Sumber

GitHub - andrewyng/aisuite: Antara muka yang ringkas dan bersatu kepada berbilang penyedia AI Generatif : github.com

Atas ialah kandungan terperinci AISuite: Memudahkan integrasi GenAI merentas berbilang penyedia LLM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan