Kurs
Yakın zamanda OpenAI GPT-4.1 ailesini tanıttı; bu aile üç varyant içeriyor: GPT-4.1, GPT-4.1 Mini ve GPT-4.1 Nano. Bu modeller, kodlama ve talimat takibi görevlerinde öne çıkacak şekilde tasarlandı ve seleflerine kıyasla önemli gelişmeler sunuyor.
Dikkat çeken özelliklerinden biri, 1 milyon tokene kadar destekleyen genişletilmiş bağlam penceresi—GPT-4'ün kapasitesinin sekiz katından fazla. Bu iyileştirme, tüm kod depoları veya çok belgeli iş akışları gibi kapsamlı girdilerin işlenmesini mümkün kılıyor.
Bu öğreticide, kullanıcıların istemlerindeki anahtar kelimeleri kullanarak tüm bir kod deposunu aramasını sağlayan bir proje oluşturarak GPT-4.1'in yeteneklerini keşfedeceğiz. Depodan ilgili içerik, kullanıcının istemiyle birlikte GPT-4.1 modeline sağlanacak.
Sonuç olarak, kullanıcıların kod depolarıyla sohbet etmesine ve GPT-4.1'i kullanarak tüm kaynak kodu analiz edip iyileştirmesine olanak tanıyan etkileşimli bir uygulama oluşturacağız.
Okurlarımızı, haftanın öne çıkan haberlerini sade bir şekilde özetlediğimiz, ücretsiz Cuma bültenimiz The Median ile en yeni yapay zeka gelişmelerinden haberdar ediyoruz. Abone olun; haftada sadece birkaç dakikada güncel kalın:
GPT-4.1 Modelleriyle Başlarken
Projeyi oluşturmaya başlamadan önce, GPT-4.1 modellerinin farklı sürümlerini test etmek ve yeni responses API'sini keşfetmek önemlidir. Bu gelişmiş API, önceki çıktıları girdi olarak kullanarak durum tutarlı etkileşimler sağlar, metin ve görseller gibi çoklu modal girdileri destekler ve dosya arama, web araması ile işlev çağırma yoluyla harici sistem entegrasyonu için yerleşik araçlarla modelin yeteneklerini genişletir.
Başlamak için, en güncel OpenAI Python istemcisinin kurulu olduğundan emin olun. Bunu terminalde aşağıdaki komutu çalıştırarak yapabilirsiniz:
$ pip install -U openai -q
1. Metin üretimi için GPT-4.1 Nano modelini kullanma
Bu örnekte, hız ve maliyet etkinliği için optimize edilmiş GPT-4.1 Nano modelini metin üretmek üzere kullanacağız.
Önce OpenAI istemcisini başlatacak ve yanıt oluşturmak için yanıt API'sine erişmek üzere kullanacağız.
from openai import OpenAI
from IPython.display import Markdown, display
client = OpenAI()
response = client.responses.create(
model="gpt-4.1-nano",
input= "Write a proper blog on getting rich."
)
Markdown(response.output_text)
GPT-4.1 Nano modeli iyi biçimlendirilmiş ve öz bir yanıt üretti.

2. Görsel anlama için GPT-4.1 Mini modelini kullanma
Sırada, modele bir görsel URL'si verip resmi felsefi bir üslupla betimlemesini isteyerek GPT-4.1 Mini modelini test edeceğiz.
response = client.responses.create(
model="gpt-4.1-mini",
input=[{
"role": "user",
"content": [
{"type": "input_text", "text": "Please describe the image as a philosopher would."},
{
"type": "input_image",
"image_url": "https://thumbs.dreamstime.com/b/lucha-de-dos-vacas-56529466.jpg",
},
],
}],
)
print(response.output_text)
GPT-4.1 Mini modeli, görsel içeriği yorumlama becerisini göstererek ayrıntılı ve yaratıcı bir betimleme sağladı.

3. Kod üretimi için GPT-4.1 (Tam) modelini kullanma
Şimdi, kod üretmek için “tam” GPT-4.1 modelini kullanacağız.
Bu örnekte, modele sistem talimatları ve bir kullanıcı istemi verecek ve akışlı yanıtı etkinleştireceğiz.
import sys
# Request a streamed response from the model.
stream = client.responses.create(
model="gpt-4.1",
instructions="You are a machine learning engineer, which is an expert in creating model inference.",
input="Create a FastAPI app for image classification",
stream=True,
)
# Iterate over stream events and print text as soon as it's received.
for event in stream:
# Check if the event includes a text delta.
if hasattr(event, "delta") and event.delta:
sys.stdout.write(event.delta)
sys.stdout.flush()
Gerçek zamanlı akış yanıtını görüntülemek için sistem düzeyinde çıktı (sys.stdout) kullandık.

4. Dosya girdileriyle kod üretimi için GPT-4.1 modelini kullanma
Son olarak, GPT-4.1 modelinin geniş bağlam penceresini bir Python dosyasını girdi olarak sağlayarak test edeceğiz. Dosya Base64 formatında kodlanarak kullanıcı talimatlarıyla birlikte modele gönderilir.
import base64
from openai import OpenAI
client = OpenAI()
with open("main.py", "rb") as f:
data = f.read()
base64_string = base64.b64encode(data).decode("utf-8")
response = client.responses.create(
model="gpt-4.1",
input=[
{
"role": "user",
"content": [
{
"type": "input_file",
"filename": "main.py",
"file_data": f"data:text/x-python;base64,{base64_string}",
},
{
"type": "input_text",
"text": "Enhance the code by incorporating additional features to improve the user experience.",
},
],
},
]
)
Markdown(response.output_text)
GPT-4.1 modeli, büyük girdileri işleme yeteneğini göstererek kodu iyileştirmeye yönelik bağlama duyarlı öneriler sundu.

Yukarıdaki kodu çalıştırırken herhangi bir sorunla karşılaşırsanız, lütfen DataLab çalışma kitabına bakın: GPT-4.1 API ile Oynamak — DataLab.
Anahtar Kelimeyle Kod Arama Uygulamasını Oluşturma
Anahtar Kelimeyle Kod Arama Uygulaması, geliştiricilerin belirli anahtar kelimelere göre alakalı kod parçacıklarını verimli şekilde aramasına ve ardından GPT-4.1'i kullanarak kod hakkında açıklamalar veya içgörüler elde etmesine yardımcı olacak şekilde tasarlanmıştır.
Uygulama üç ana bölümden oluşur:
1. Kod tabanını arama
Uygulamadaki ilk adım, geliştiricinin sorgusuyla eşleşen ilgili parçacıkları kod tabanı içinde aramaktır. Bu işlem, belirli bir dizindeki dosyaları belirtilen anahtar kelimeleri içeren satırlar için tarayan search_codebase işleviyle gerçekleştirilir.
searcher.py:
import os
def search_codebase(directory: str, keywords: list, allowed_extensions: list) -> list:
"""
Search for code snippets in the codebase that match any of the given keywords.
Returns a list of dictionaries with file path, the line number where a match was found,
and a code snippet that includes 2 lines of context before and after the matched line.
"""
matches = []
for root, _, files in os.walk(directory):
for file in files:
if file.endswith(tuple(allowed_extensions)):
file_path = os.path.join(root, file)
try:
with open(file_path, "r", encoding="utf-8", errors="ignore") as f:
lines = f.readlines()
for i, line in enumerate(lines):
# Check if any keyword is in the current line (case insensitive)
if any(keyword in line.lower() for keyword in keywords):
snippet = {
"file": file_path,
"line_number": i + 1,
"code": "".join(lines[max(0, i - 2) : i + 3]),
}
matches.append(snippet)
except Exception as e:
print(f"Skipping file {file_path}: {e}")
return matches
2. GPT 4.1 sorgusu
İlgili kod parçacıkları belirlendikten sonra, bir sonraki adım kod hakkında açıklamalar veya içgörüler üretmek için GPT-4.1'e sorgu göndermektir. query_gpt işlevi, geliştiricinin sorusunu ve eşleşen kod parçacıklarını girdi olarak alır ve ayrıntılı bir yanıt döndürür.
gpt_explainer.py:
import os
from openai import OpenAI
def query_gpt(question: str, matches: list):
"""
Queries GPT-4.1 with the developer's question and the relevant code snippets,
then returns the generated explanation.
"""
if not matches:
return "No code snippets found to generate an explanation."
# Combine all matches into a formatted string
code_context = "\n\n".join(
[
f"File: {match['file']} (Line {match['line_number']}):\n{match['code']}"
for match in matches
]
)
# Create the GPT-4.1 prompt
system_message = "You are a helpful coding assistant that explains code based on provided snippets."
user_message = f"""A developer asked the following question:
"{question}"
Here are the relevant code snippets:
{code_context}
Based on the code snippets, answer the question clearly and concisely.
"""
# Load API key from environment variable
api_key = os.environ.get("OPENAI_API_KEY")
if not api_key:
return "Error: OPENAI_API_KEY environment variable is not set."
# Create an OpenAI client using the API key
client = OpenAI(api_key=api_key)
try:
# Return the stream object for the caller to process
return client.responses.create(
model="gpt-4.1",
input=[
{"role": "system", "content": system_message},
{"role": "user", "content": user_message},
],
stream=True,
)
except Exception as e:
return f"Error generating explanation: {e}"
3. Anahtar kelimeyle kod arama sohbet uygulaması
Uygulamanın son bölümü, her şeyi birleştiren etkileşimli sohbet botudur. Geliştiricilerin kod tabanları hakkında soru sormasına, sorgudan anahtar kelimeleri çıkarmasına, kod tabanında ilgili parçacıkları aramasına ve kullanıcı sorusuyla birlikte bunların tümünü yanıt üretimi için GPT-4.1'e göndermesine olanak tanır.
main.py:
import argparse
from gpt_explainer import query_gpt
from searcher import search_codebase
def print_streaming_response(stream):
"""Print the streaming response from GPT-4.1"""
print("\nGPT-4.1 Response:")
for event in stream:
# Check if the event includes a text delta.
if hasattr(event, "delta") and event.delta:
print(event.delta, end="")
print("\n")
def main():
parser = argparse.ArgumentParser(
description="Keyword-Based Code Search with GPT-4.1"
)
parser.add_argument("--path", required=True, help="Path to the codebase")
args = parser.parse_args()
allowed_extensions = [".py", ".js", ".txt", ".md", ".html", ".css", ".sh"]
print("Welcome to the Code Search Chatbot!")
print("Ask questions about your codebase or type 'quit' to exit.")
while True:
question = input("\nEnter your question about the codebase: ")
if question.lower() == "quit":
print("Exiting chatbot. Goodbye!")
break
# Extract keywords from the question and remove stop words
stop_words = {'a', 'an', 'the', 'and', 'or', 'but', 'is', 'are', 'was', 'were',
'in', 'on', 'at', 'to', 'for', 'with', 'by', 'about', 'like',
'from', 'of', 'as', 'how', 'what', 'when', 'where', 'why', 'who'}
keywords = [word for word in question.lower().split() if word not in stop_words][:5]
print("Searching codebase...")
matches = search_codebase(args.path, keywords, allowed_extensions)
if not matches:
print("No relevant code snippets found.")
continue
print("Querying GPT-4.1...")
stream = query_gpt(question, matches)
print_streaming_response(stream)
if __name__ == "__main__":
main()
Bu sohbet botu, geliştiricilere kod tabanlarıyla etkileşim kurma ve yapay zeka destekli içgörüler alma konusunda kesintisiz bir deneyim sunar.
Projeye, kaynak kodu ve kullanım talimatlarını içeren bir kod deposu (kingabzpro/Keyword-Code-Search) da dahildir.
Anahtar Kelimeyle Kod Arama Uygulamasını Test Etme
Bu bölümde, uygulamayı terminalde çalıştırarak ve özelliklerini keşfederek Anahtar Kelimeyle Kod Arama uygulamasını test edeceğiz.
Uygulamayı çalıştırmak için analiz etmek istediğiniz kod deposunun yolunu sağlamanız gerekir. Bu örnekte “Redis ML projesi”ni kullanacağız.
$ python main.py --path C:\Repository\GitHub\Redis-ml-project
Karşılama mesajını ve talimatları göreceksiniz. Kodunuz hakkında sorunuzu yazmanız veya kod tabanının belirli bir bölümünü iyileştirmesini istemeniz yeterlidir.
Welcome to the Code Search Chatbot!
Ask questions about your codebase or type 'quit' to exit.
Enter your question about the codebase: help me improve the training script
Uygulama, kod tabanında ilgili parçacıkları arayacak ve bir yanıt üretmek için GPT-4.1'e sorgu gönderecektir.
Searching codebase...
Querying GPT-4.1...
GPT-4.1 Response:
Certainly! Based on the provided snippets, here's how you can **improve the training script (`train.py`)** for your phishing email classification proje...........
Tüm projeyi anlamak için takip soruları sorabilirsiniz.
Enter your question about the codebase: help me understand the project
Bu ayrıntılı açıklama, geliştiricilerin projenin amacı, işlevselliği ve yapısını anlamasına yardımcı olur.
Searching codebase...
Querying GPT-4.1...
GPT-4.1 Response:
Certainly! Here's a concise overview of the project based on your code snippets:
## Project Purpose
**Phishing Email Classification App with Redis**
This project classifies emails as "Phishing" or "Safe" using machine learning and serves predictions via a web API. It also uses Redis for caching predictions to optimize performance…………
Uygulamadan çıkmak için ‘quit’ yazmanız yeterlidir:
Enter your question about the codebase: quit
Exiting chatbot. Goodbye!
Anahtar Kelimeyle Kod Arama Uygulaması, geliştiricilerin kod depolarıyla sohbet etmesine olanak tanıyan küçük ama güçlü bir araçtır. Etkili anahtar kelimeye dayalı kod aramayı, GPT-4.1'in bağlama duyarlı yanıtlar üretme yeteneğiyle birleştirir. Kod tabanınızın belirli bir bölümünü iyileştirmeniz ya da genel projeyi anlamanız gerektiğinde bu uygulama kesintisiz ve sezgisel bir deneyim sunar.
Son Düşünceler
Yapay zekâ dünyası, abartı ve yüzeysel kıyaslamalardan uzaklaşıp yanılsamalar yerine gerçek değer sunmaya odaklanıyor. GPT4.1 modelleri, büyük dil modellerinin kutudan çıktığı gibi yüksek doğrulukta ve çalıştırılabilir kod üretmesini sağlayarak geliştirici deneyimini iyileştiriyor. Ayrıca, bu modeller büyük bağlam pencereleriyle geliyor ve tek seferde tüm kod deposunu anlamalarına olanak tanıyor.
OpenAI API ile uygulamalı çalışmak isterseniz, kursumuza göz atın: OpenAI API ile Çalışmak ve yapay zekâ destekli uygulamalar geliştirmeye başlayın. Ayrıca Responses API hakkındaki öğreticimizi inceleyebilir ve yeni o4-mini muhakeme modeli hakkında daha fazla bilgi edinebilirsiniz.
Sertifikalı bir veri bilimcisi olarak, yenilikçi makine öğrenimi uygulamaları oluşturmak için en son teknolojileri kullanmaya büyük ilgi duyuyorum. Konuşma tanıma, veri analizi ve raporlama, MLOps, konuşma yapay zekası ve NLP alanlarında güçlü bir geçmişe sahip olarak, gerçek bir etki yaratabilecek akıllı sistemler geliştirme becerilerimi geliştirdim. Teknik uzmanlığımın yanı sıra, karmaşık kavramları açık ve özlü bir dille ifade etme yeteneğine sahip, becerikli bir iletişimciyim. Sonuç olarak, veri bilimi konusunda aranan bir blog yazarı oldum ve giderek büyüyen veri profesyonelleri topluluğuyla görüşlerimi ve deneyimlerimi paylaşıyorum. Şu anda, içerik oluşturma ve düzenlemeye odaklanıyorum. Büyük dil modelleriyle çalışarak, hem işletmelerin hem de bireylerin verilerinden en iyi şekilde yararlanmalarına yardımcı olabilecek güçlü ve ilgi çekici içerikler geliştiriyorum.

