Program
OpenAI Geliştirici Günü, GPT'ler, GPT'ler Uygulama Mağazası, GPT-4 Turbo ve yenilikçi Assistants API dahil olmak üzere çığır açan bir dizi yapay zeka hizmetini tanıtarak yapay zekâda önemli bir dönüm noktasını işaretledi.
Bu API, geliştiricilere gelişmiş yapay zeka araçları sunarak, farklı görevleri ustalıkla yerine getirebilen özel yapay zeka asistanları oluşturmalarını mümkün kılar.
Bu eğitimde Assistants dünyasına dalıyor; yeteneklerini, farklı sektörlerdeki pratik uygulamalarını ve Python kullanarak nasıl hayata geçirileceğine dair adım adım bir rehberi detaylıca inceliyoruz. Kendi kişiselleştirilmiş yapay zeka asistanınızı oluşturmanın inceliklerinde birlikte yol alalım.
Assistants API'ye Genel Bakış
Bu makalenin yazıldığı sırada Assistants API beta aşamasındadır ve OpenAI geliştirici ekibi daha fazla özelliği eklemek için aktif olarak çalışmaktadır. Ancak ondan önce, mevcut sürümün neler sunduğunu keşfedelim!
Bu bölüm, Assistants'ın nasıl çalıştığına ve alttaki bileşenler arasındaki etkileşime dair daha fazla içgörü sağlar.
Assistants API nasıl çalışır?
Assistants'ın iki ana omurgası OpenAI'nin modelleri ve araçlarıdır.
- GPT-4, GPT-4 Turbo, GPT-3.5, GPT-3, DALL-E, TTS, Whisper, Embeddings, Moderation gibi ancak bunlarla sınırlı olmayan çeşitli modeller vardır. Bu modeller, Assistants tarafından belirli bir akıllı görevi yerine getirmek için kullanılır.
- Öte yandan araçlar, Assistants'a Kod yorumlayıcı (Code interpreter) ve Bilgi Getirme (Knowledge Retrieval) gibi OpenAI'nin barındırdığı araçlara erişim sağlar. Hatta Function Calling özelliğini kullanarak kullanıcıların kendi araçlarını oluşturmalarına olanak tanır.

Şimdi, bir Assistant'ı uygulamaya alırken yer alan beş ana adımı keşfedelim.
- Bir Assistant oluşturun ve tanımlayın: Assistant, modeller, yönergeler ve çeşitli araçlar kullanılarak geliştirilen uzmanlaşmış bir yapay zekâdır.
- Bir Thread başlatın: bir thread, mesajların eklendiği ve etkileşimli bir alışveriş oluşturduğu, kullanıcı tarafından başlatılan bir diyalog dizisini temsil eder.
- Mesajlar ekleyin: Mesajlar, kullanıcının metinsel girdilerinden oluşur ve metin, dosyalar ve görselleri kapsayabilir.
- Assistant'ı tetikleyin: Assistant, Thread'i analiz etmek, gerektiğinde belirli araçları kullanmak ve uygun bir yanıt üretmek üzere etkinleştirilir.
Assistants API'nin Sektörel Kullanım Örnekleri
Assistant API'den yararlanmak, yapay zekâyı çeşitli iş süreçlerine entegre etmenin güçlü bir yolu olabilir; verimliliği artırmalarını, sıkıcı görevleri otomatikleştirmelerini ve kullanıcıların sorularına daha hızlı ve doğru yanıtlar sunmalarını sağlar.
Aşağıda Assistant API için beş etkileyici sektör kullanım örneği yer almaktadır.
Geliştirme desteği
Assistant, talep üzerine bir kodlama asistanı olarak hizmet verebilir. Kod yorumlayıcıyı kullanarak, kod parçacıklarını bir programlama dilinden diğerine çevirebilir; yazılım geliştirmeye yardımcı olur ve yeni diller için öğrenme eğrisini azaltır. Bu özellik, birden fazla programlama diliyle çalışan ekiplerde veya kod öğretimi yapılan eğitim ortamlarında özellikle kullanışlıdır.
Kurumsal bilgi yönetimi
Bilgi getirme özelliği, kurum içi bilgi yönetimi için kullanılabilir. İç dokümanlar, raporlar ve kılavuzlar yüklenip işlendiğinde, Assistant merkezi bir bilgi deposuna dönüşür. Çalışanlar belirli bilgiler için Assistant'a soru yöneltebilir; bu da verimliliği artırır ve kapsamlı doküman setlerinde bilgi aramakla geçen zamanı azaltır.
Müşteri destek otomasyonu
Assistant, müşteri destek sistemlerine entegre edilebilir. Function calling kullanarak harici API'lerden veya veri tabanlarından bilgi çekip müşteri sorularını yanıtlayabilir; böylece yaygın sorulara verilen yanıtları etkin biçimde otomatikleştirir. Bu entegrasyon, hızlı ve doğru yanıtlar sağlayarak müşteri deneyimini iyileştirir ve insan destek ekibinin yükünü azaltır.
Veri analizi
Veri analizi için işlevler tanımlanarak, kullanıcılar Assistant'tan karmaşık veri işlemleri yapmasını ve raporlar üretmesini isteyebilir; doğal dildeki sorguları yapılandırılmış veri analizi görevlerine dönüştürebilir.
BT operasyon otomasyonu
BT ekipleri, rutin operasyonları otomatikleştirmek için Assistant'ı kullanabilir. Sistem tanılama, ağ kontrolleri veya yazılım güncellemeleri gibi yaygın BT görevlerine karşılık gelen işlevler tanımlanarak, Assistant bu görevleri kullanıcı komutlarına yanıt olarak yürütebilir. Bu yetenek, BT uzmanlarının rutin bakıma harcadığı zamanı önemli ölçüde azaltarak daha karmaşık sorunlara odaklanmalarını sağlar.
Uygulamalı: OpenAI Assistants API ile Başlarken
OpenAI API'yi bu şekilde kavradığımıza göre, daha pratik bir kullanım örneğine geçelim. Bu bölüm, PDF dosyalarından bilgi getiren bir asistan oluşturma sürecinde size rehberlik etmeye odaklanır.
Uçtan uca tamamlanmış defter DataLab'de mevcuttur.
Bilgi getirme iş akışı
Her türlü teknik uygulama için, geliştirilen genel uygulamanın ana bileşenleri arasındaki etkileşimi görselleştiren bir iş akışını sunmak daha iyidir.
Bu iş akışı, dosya yüklemeden nihai yanıtın üretilmesine kadar asistanın hayata geçirilmesinde yer alan beş ana adımı vurgular.

Bilgi getirme iş akışının beş ana adımı
- Dosya yükleme: süreç, kullanıcıların etkileşim kurmak istedikleri PDF dosyalarını yüklemeleriyle başlar.
- Assistant oluşturma: asistan, yüklenen PDF dosyalarındaki bilgileri işleyip anlamak üzere özel olarak tasarlanır.
- Etkileşimi başlatma: bu, konuşma dizisinin başlangıç noktasıdır; kullanıcılar asistanın işlemesi için giriş mesajları sağlar.
- Asistanı tetikleme: şimdi, asistan ilgili bir yanıt üretmek için giriş mesajlarını işler.
- Yanıt çıktısı: bu son aşamada, asistan kullanıcıların mesajlarına verdiği yanıtları görüntüler.
OpenAI KEY'i Kurun
Bu eğitimin sonuçlarını başarıyla yeniden üretmek için gereken temel araçlar şunlardır:
- Python: bu eğitimde kullanacağımız ana programlama dilidir. Alternatif bir seçenek NodeJS'dir.
- OpenAI: OpenAI hizmetleriyle etkileşim kurmak için paket. Python'da OpenAI API başvuru kılavuzumuz, OpenAI API'den nasıl yararlanılacağının temellerini kavramak için eksiksiz bir genel bakış sunar.
- OS: ortam değişkenini yapılandırmak için işletim sistemi paketi.
İlk adım, DALL-E 3 modeline erişmeye yardımcı olan OpenAI KEY'i edinmektir. Temel adımlar aşağıda gösterilmiştir:
OpenAI KEY oluşturmanın dört ana adımı
Yukarıdaki dört temel adım açıklayıcı niteliktedir. Ancak hesabın resmi OpenAI web sitesi üzerinden oluşturulması önemlidir.
OpenAI API'yi daha fazla keşfetmek için Başlangıç Seviyesi Rehber: OpenAI API ile Uygulamalı Eğitim ve En İyi Uygulamalar içeriğimize göz atabilirsiniz. OpenAI API'yi, kullanım alanlarını, API'yi kullanmaya yönelik uygulamalı bir yaklaşımı ve uyulması gereken tüm en iyi uygulamaları tanıtır.
Asistanı oluşturmaya başlayın
KEY'i edindikten sonra, kimseyle paylaşmadığınızdan emin olun. Anahtar gizli kalmalıdır. Ardından, çalışabilmek için anahtarı aşağıdaki şekilde ortam değişkenine tanımlayın:
import os
OPENAI_API_KEY= "<YOUR PRIVATE KEY>"
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY
Dosya Yükleme
Aşağıdaki yardımcı işlev, kullanıcıların etkileşim kurmak istediği dosyayı otomatik olarak OpenAI hesabına yüklemek için “create” işlevinden yararlanır.
“create” işlevinin iki ana parametresi vardır:
- Yüklenecek dosyanın yolu
- Bu dosyanın kullanım amacı; bu örnekte “assistants”
def upload_file(file_path):
# Upload a file with an "assistants" purpose
file_to_upload = client.files.create(
file=open(file_path, "rb"),
purpose='assistants'
)
return file_to_upload
Yardımcı işlev, son olarak data klasöründe bulunan transformer makalesinin yükleme sürecini tetiklemek için kullanılır.
transformer_paper_path = "./data/transformer_paper.pdf"
file_to_upload = upload_file(transformer_paper_path)
İşlev başarıyla çalıştırıldıktan sonra transformer_paper.pdf yüklenir ve aşağıda gösterildiği gibi Dosyalar sekmesinde görünür.

OpenAI hesabına yüklenen Transformer makalesi
Assistant oluşturma
Assistant oluşturma, client.beta.assistants modülündeki create işlevi kullanılarak yapılır ve beş ana parametre alır:
- Ad: asistanın, oluşturucusu tarafından verilen adıdır. Bizimkine Scientific Paper Assistant diyelim.
- Yönergeler: asistanın nasıl davranacağını veya soruları nasıl yanıtlayacağını açıklar. Bu kullanım örneğinde asistan şu yönergeyi uygular: “Kibar ve uzman bir bilgi getirme asistanısınız. Soruları yanıtlamak için sağlanan belgeleri bilgi tabanı olarak kullanın.”
- Model: bilgi getirme için kullanılacak alttaki model. Herhangi bir GPT-3 veya GPT-4 modeli kullanılabilir. Bu makale, yazıldığı sıradaki en güncel model olan gpt-4-1106-preview modelinden yararlanır.
- Araçlar: kullanılacak araç türü. İki olası seçenek code interpreter ve retrieval'dır. Bu makalenin odağı retrieval olduğundan interpreter'ı göz ardı ediyoruz.
- File_ids: bilgi tabanındaki her bir dosyanın benzersiz tanımlayıcılarından oluşan bir liste.
create_assistant adlı yardımcı işlev, aşağıda gösterildiği gibi tüm bu bilgileri birleştirerek asistanı oluşturur:
def create_assistant(assistant_name,
my_instruction,
uploaded_file,
model="gpt-4-1106-preview"):
my_assistant = client.beta.assistants.create(
name = assistant_name,
instructions = my_instruction,
model="gpt-4-1106-preview",
tools=[{"type": "retrieval"}],
file_ids=[uploaded_file.id]
)
return my_assistant
Şimdi, yönergeyi ve asistan adını kullanarak asistanı oluşturmak için işlevi çalıştırabiliriz:
inst="You are a polite and expert knowledge retrieval assistant. Use the documents provided as a knowledge base to answer questions"
assistant_name="Scientific Paper Assistant"
my_assistant = create_assistant(assistant_name, inst, uploaded_file)
Etkileşimi başlatma
Asistan oluşturulduktan sonra, doğal bir sonraki adım kullanıcıların mesajı veya talebi kullanılarak bir etkileşim dizisi (thread) başlatmaktır.
Thread ve mesaj, sırasıyla client.beta.threads ve client.beta.threads.messages modüllerindeki create işlevleri kullanılarak oluşturulur.
Bu iki özellik initiate_interaction adlı yardımcı işlev kullanılarak birleştirilir.
def initiate_interaction(user_message, uploaded_file):
my_thread = client.beta.threads.create()
message = client.beta.threads.messages.create(thread_id=my_thread.id,
role="user",
content=user_message,
file_ids=[uploaded_file.id]
)
return my_thread
Bir etkileşim, user_message değişkeninden başlatılabilir:
user_message = "Why do authors use the self-attention strategy in the paper?"
my_thread = initiate_interaction(user_message, uploaded_file)
Asistanı tetikleyin ve yanıt üretin
Yukarıdaki thread'den, asistan kullanıcının mesajına bir yanıt sağlamak üzere tetiklenebilir. Tetikleme eylemi trigger_assistant adlı yardımcı işlevde tanımlanır ve yanıt response değişkeniyle alınır.
def trigger_assistant():
run = client.beta.threads.runs.create(
thread_id = my_thread.id,
assistant_id = my_assistant.id,
)
trigger_assistant()
messages = client.beta.threads.messages.list(
thread_id = my_thread.id
)
response = messages.data[0].content[0].text.value
response
Yukarıdaki kodun başarıyla çalıştırılmasının ardından aşağıdaki yanıt üretilir.

Kullanıcının mesajına asistanın yanıtı
Bu yanıt, yazarların 6. sayfadaki soruya verdikleri yanıtla tam olarak örtüşmektedir.

Transformer makalesindeki yanıta atıf yapan pasaj
OpenAI Assistants API'yi Kullanırken En İyi Uygulamalar
Assistant API'yi bir projeye entegre ederken, en iyi uygulamalara uymak; en iyi performansı ve kullanıcı deneyimini sağlamak açısından önemlidir. Aşağıda dikkate alınması gereken bazı kilit noktalar yer alır.
- Açık hedefler belirleyin: Assistant'ın amaçlanan amaca ve kullanıcı ihtiyaçlarına etkili şekilde hizmet etmesini sağlamak için net hedefler belirleyin.
- Veri girdisini optimize edin: yüklenen dosyalar gibi kullanılan verilerin kalitesi ve ilgililiği, Assistant'ın yanıtlarının doğruluğu ve verimliliği için kritik önemdedir.
- Kullanıcı gizliliğine öncelik verin: kullanıcı bilgilerinin korunması ve ilgili veri koruma yasalarına uyum için sağlam gizlilik protokolleri uygulayın.
- Test edin ve yineleyin: Assistant'ı düzenli olarak gerçek senaryolarda test edin ve performans ile kullanıcı deneyimini iyileştirmek için geri bildirimlere göre yineleyin.
- Açık dokümantasyon sağlayın: kullanıcıların Assistant'ın işlevlerini ve sınırlamalarını anlamasına yardımcı olacak kapsamlı bir kullanım kılavuzu sunun.
Sonuç
Özetle, bu makalede Assistants API'yi; nasıl çalıştığını ve farklı sektörlerde nasıl kullanılabileceğini inceledik. Daha derin bir anlayış için API'yi ve temel işlevlerini tanıtarak başladık.
Ardından, Assistants API'nin belirli özelliklerine baktık ve bunların çeşitli iş kollarında nasıl uygulanabileceğini tartıştık; geniş kapsamlı faydasını ortaya koyduk.
Ayrıca Assistants API'yi kullanmaya nasıl başlanacağına dair adım adım bir rehber sunduk; böylece kendi ihtiyaçlarınıza göre kurulum yapmanız kolaylaştı.
Bunun yanında, API'yi kullanırken akılda tutulması gereken bazı önemli en iyi uygulamaları paylaştık; ondan en iyi şekilde yararlanmanızı sağlamak için.
Kısacası, Assistants API çok yönlü ve değerli bir araçtır; pek çok amaca uyarlanabilir ve onu etkin şekilde kullanmayı öğrenenler için önemli faydalar sunar.
OpenAI'nin API'leriyle deneyiminizi üst seviyeye taşımaya ve daha yaratıcı bir yaklaşıma hazır mısınız? DALL-E 3 API'ye Kapsamlı Rehberimiz, DALL-E 3 API'nin dönüştürücü gücünü keşfetmenize yardımcı olacak; temel özelliklerini, sektör uygulamalarını ve yaratıcı potansiyelinizi açığa çıkarmanız için ipuçlarını kapsar.
Konuya tamamen yeniyseniz, neden Working with the OpenAI API kursumuzla başlamıyorsunuz?
Bilgisini paylaşmaktan ve başkalarına katkı sunmaktan keyif alan, çok yönlü bir veri bilimci olan Zoumana, YouTube’da içerik üretiyor ve Medium’da önde gelen teknoloji yazarları arasında yer alıyor. Konuşmaktan, kod yazmaktan ve öğretmekten büyük zevk alıyor. Zoumana’nın iki yüksek lisans derecesi bulunuyor: İlki Fransa, Paris’te Makine Öğrenmesi odaklı Bilgisayar Bilimleri; ikincisi ise ABD’de Texas Tech University’den Veri Bilimi. Kariyerine Fransa’da Groupe OPEN’da Yazılım Geliştirici olarak başladı; ardından IBM’de Makine Öğrenmesi Danışmanı olarak çalıştı ve sigorta şirketleri için uçtan uca yapay zeka çözümleri geliştirdi. Paris ve Montreal merkezli ilk Sürdürülebilir YZ girişimi olan Axionable’a katıldı. Burada Veri Bilimci olarak görev yaptı ve çoğunlukla NLP kullanım örnekleri olmak üzere, Fransa, Montreal, Singapur ve İsviçre’den müşteriler için YZ ürünleri hayata geçirdi. Ayrıca zamanının %5’ini Araştırma ve Geliştirme’ye ayırdı. Hâlihazırda IFC – Dünya Bankası Grubu’nda Kıdemli Veri Bilimci olarak çalışmaktadır.

