Ana içeriğe atla

GPT-4.1 Rehberi ve Demo Projesi: Anahtar Kelimeyle Kod Arama Uygulaması

Kullanıcıların bir kod deposunda anahtar kelimelerle arama yapmasını sağlayan ve depodaki kodu analiz etmek, açıklamak ve iyileştirmek için GPT-4.1'i kullanan etkileşimli bir uygulamanın nasıl oluşturulacağını öğrenin.
Güncel 3 Eki 2026  · 9 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

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.

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ı.

GPT-4.1 Mini modeli görselin ayrıntılı ve yaratıcı bir betimlemesini 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.

Gerçek zamanlı akış yanıtını görüntüleme

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.

GPT-4.1 modeli, 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.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

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.

Konular
OpenAI
Yapay Zeka

Öne Çıkan DataCamp Kursları

Kurs

OpenAI API ile Çalışmak

3 sa
184.8K
OpenAI API ile yapay zekâ destekli uygulamalar geliştirmeye başlayın. ChatGPT gibi popüler yapay zeka uygulamalarının temelini oluşturan işlevselliği öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör