DeepSeek kısa süre önce DeepSeek V3.1’i yayımladı. “think” ve “non-think” yanıt modlarını destekleyen, büyük ölçekli hibrit bir akıl yürütme modeli olan bu sürüm, etkileşimli doküman analizi için ideal.
Bu yazıda, araştırma makalelerini anlamaya yönelik DeepSeek V3.1’in ajan yeteneklerine odaklanacağım. Herhangi bir PDF’yi bir Streamlit uygulaması aracılığıyla etkileşimli bir araştırma asistanına nasıl dönüştürebileceğinizi adım adım açıklayacağım—şunları göstereceğim:
DeepSeek V3.1’i OpenRouter’ın API’si üzerinden entegre ederek ölçeklenebilir, uzun doküman akıl yürütme iş akışları kurma
Her uzunluktaki akademik makaleleri işlemek için PDF metnini çıkarma ve ayrıştırma
Kullanıcıların hızlı, olgusal yanıtlar ile derin, kanıta dayalı akıl yürütme arasında geçiş yapabildiği bir Streamlit uygulaması tasarlama
Gerçek dünya araştırma senaryoları için maliyet takibi ve performans ölçümü uygulama
Yanıtları kaynaktan çıkarılan alıntılarla destekleme
Sonunda uygulamanız aşağıdaki gibi görünecek:
DeepSeek V3.1 Nedir?
DeepSeek V3.1, hem "düşünen" (ayrıntılı, gerekçeli) hem de "düşünmeyen" (olgusal, öz) yanıtlama tarzları için eğitilmiş 671 milyar parametreli hibrit bir Mixture-of-Experts (MoE) modelidir. 128.000 token’a kadar bağlamları destekler ve OpenRouter’ın OpenAI uyumlu API’si üzerinden erişilebilir.
Uzun bağlam işleme: DeepSeek V3.1,son derece uzun dokümanları verimli şekilde işler; 128.000 token’a (100+ sayfa) kadar bağlam pencerelerini destekler. Bu da kapsamlı araştırma makaleleri ve raporlar için idealdir.
Çift akıl yürütme modu: Model, aşağıdaki iki akıl yürütme modu ile gelir:
Thinking modu: Ayrıntılı, adım adım akıl yürütme sunar ve derin analiz ile eleştiri için kanıtları doğrudan kaynak metninden alıntılar.
Non-thinking modu: Hızlı bilgi erişimi ve kısa S&C için öz, olgusal yanıtlar sağlar.
Hibrit mixture-of-experts mimarisi: DeepSeek V3.1,birden fazla uzman alt ağı birleştirir; böylece aynı model içinde hem olgusal hatırlama hem de ileri düzey sentez mümkün olur.
Ajanik ve araç destekli iş akışları: Model,ajan tabanlı sistemlere entegrasyon için tasarlanmıştır ve daha zengin, çok adımlı iş akışları için harici araç kullanımını destekler.
OpenAI uyumlu API erişimi: Geliştiriciler için dağıtımı ve entegrasyonu kolaylaştıran, OpenRouter’ın OpenAI uyumlu API’si üzerinden erişilebilir.
DeepSeek V3.1 Demo: Araştırma Makalesi Asistanı
Bu bölümde, yüklenen herhangi bir PDF araştırma makalesini etkileşimli, yapay zekâ destekli bir araştırma asistanına dönüştürmek için DeepSeek V3.1’i nasıl kullandığımı anlatacağım.
Nasıl çalıştığı şöyle:
Bir PDF araştırma makalesi yükleyin ve çıkarılan metni önizleyin.
Makale hakkında doğal dilde sorular sorun.
“Kısaca Açıkla” (non-think) veya “Ayrıntılı Açıkla” (think) yanıt modları arasında seçim yapın.
Yanıtları anında alın; yanıt süresi, token kullanımı/maliyet tahminleri ve kaynaktan destekleyici alıntılarla birlikte görün.
Adım 1: Önkoşullar
Bu demoyu çalıştırmadan önce gerekli tüm önkoşulların hazır olduğundan emin olalım.
Adım 1.1: İçe aktarımlar
Öncelikle aşağıdaki paketlerin kurulu olduğundan emin olun:
Bu komut, arayüz, PDF işleme ve API istekleri için gerekli tüm temel bağımlılıkları sağlar.
Adım 1.2: OpenRouter API anahtarının ayarlanması
DeepSeek V3.1 modeli, DeepSeek Resmi API dahil çeşitli platformlar üzerinden sunulmaktadır. Ancak ben, OpenRouter kullandım. Bu servis, birçok modele ait API anahtarlarına erişim sağlar ve bu demo için en uygun maliyetli seçenektir. DeepSeek V3.1 için bir API anahtarı ayarlama adımları şöyle:
Models sekmesine gidin ve “DeepSeek V3.1” araması yapın. Taban bir sürüm de seçebilirsiniz; ancak bu sürüm yalnızca ham sonraki token kestirimi için eğitildiğinden istem yazımı biraz daha zordur. Bu yüzden “deepseek/deepseek-chat-v3.1” sohbet sürümünü kullandım.
Aşağı kaydırın ve Create API Key’e tıklayın. Anahtar adı ve kredi limitini (isteğe bağlı) girin ve Create’e tıklayın. Bu API anahtarını ileride kullanmak üzere kaydedin.
Ardından Credits sekmesine giderek kart veya banka bilgilerinizi ekleyin. Amazon Pay veya kripto ile de ödeme yapabilirsiniz. Bu demo için yaklaşık 8 $ ekledim ve yeterli oldu.
Şimdi, uygulamayı çalıştırmadan önce API anahtarınızı bir ortam değişkeni olarak ayarlayın:
Resmi DeepSeek API’si, yüksek hacimli, otomatik iş yükleri için en uygunudur.
Çoğu araştırma, eğitim veya demo kullanım senaryosu—bu Streamlit Araştırma Makalesi Asistanı da dahil—için OpenRouter’ı tercih ederim; çünkü daha basit ve esnek bir seçenektir. Zaman penceresi kısıtları veya önbellek mantığı yönetimi olmadan öngörülebilir küresel fiyatlandırma sunar; bu da geçici analizler, tekil doküman sorguları ve kolay işbirliği için idealdir.
Not: API üzerinden DeepSeek V3.1 kullanmak, arayüz için yalnızca yaklaşık 8 GB bellek gerektirir; böylece aksi halde 170+ GB disk alanı ve güçlü bir GPU gerektiren 670B parametreli modeli yerelde barındırma ihtiyacından kurtulursunuz.
Adım 2: Streamlit Uygulamasını Kurma
DeepSeek V3.1’i kullanıcı dostu bir arayüz üzerinden erişilebilir kılmak için uygulama çatısı olarak Streamlit kullanacağız ve modeli OpenRouter’ın OpenAI uyumlu API’si üzerinden bağlayacağız.
Adım 2.1: Yapılandırma
Bu adım, ortam kurulumu, API kimlik doğrulaması ve temel Streamlit yapılandırmasını kapsar.
import streamlit as stimport pypdfimport tempfilefrom openai import OpenAIimport osimport timeimport rest.set_page_config( page_title="DeepSeek V3.1 Research Assistant", layout="wide")with st.sidebar: st.title("Research Paper Assistant") st.info("Tip: Ask about the methods, findings, or reasoning for best results.")OPENROUTER_API_KEY = os.environ.get("OPENROUTER_API_KEY","")ifnot OPENROUTER_API_KEY: st.warning("Add your OpenRouter API key to an environment variable.") st.stop()client = OpenAI( base_url="https://openrouter.ai/api/v1", api_key=OPENROUTER_API_KEY,)Altyapı:
Yukarıdaki kodda, st.set_page_config() çağrısı Streamlit uygulamasının sayfa başlığını ve yerleşimini özelleştirir. Uygulama, OpenRouter API anahtarını ortam değişkenlerinden alır ve OpenAI uyumlu bir istemci, OpenRouter API uç noktasına işaret edecek şekilde başlatılır; böylece sonraki tüm LLM çağrıları DeepSeek V3.1 için doğru şekilde yönlendirilir ve kimlik doğrulaması yapılır.
Adım 2.2: Yardımcı fonksiyonlar
Ana iş akışını oluşturmadan önce, doküman işleme ve kaynak tahmini için sağlam yardımcı araçlara ihtiyacımız var. Bu adımda, yüklenen PDF’lerden metin çıkarmak, doküman içeriğini önizlemek, yaklaşık token sayısını hesaplamak ve OpenRouter’ın DeepSeek V3.1 fiyatlandırmasına göre maliyeti tahmin etmek için yardımcı fonksiyonları tanımlıyoruz.
Bu yardımcı fonksiyonlarla, arka uç katmanı ölçeklenebilir bir araştırma asistanı arayüzünü desteklemeye hazırdır:
Verimli PDF ayrıştırma: pdf_to_text() fonksiyonu, çok sayfalı PDF’leri düz metne dönüştürürken sayfa sınırlarını korur; bu da veriyi LLM girdisi ve sonraki işlemler için uygun hale getirir.
Token sayımı ve maliyet tahmini: count_tokens() fonksiyonu, DeepSeek’in geniş bağlam penceresine göre API kullanımını izlemeye yardımcı olacak yaklaşık bir token sayısı sağlar. estimate_cost() ise bu token sayılarını, giriş ve çıkış için OpenRouter fiyatlandırmasını kullanarak gerçek zamanlı maliyet geri bildirimine çevirir; böylece kullanıcı her sorgu için hesaplama bütçesi hakkında bilgilendirilir.
Önizleme oluşturma: preview_pdf_text() fonksiyonu, kısaltılmış önizlemeler üretir; böylece kullanıcılar, model maliyetine katlanmadan veya API sınırlarına takılmadan önce çıkarılan içeriğin bütünlüğünü ve uygunluğunu doğrulayabilir.
Bu yapı taşları hazır olduğuna göre, şimdi uzun bağlamlı, ajan odaklı araştırma makalesi S&C’si için tam Streamlit uygulamasını birleştirebiliriz.
Adım 2.3: Streamlit uygulaması
Çekirdek yardımcılar hazırken, artık PDF işleme, token/maliyet tahmini, kullanıcı yönlendirmeli S&C ve OpenRouter üzerinden DeepSeek V3.1 ile canlı etkileşimi bir araya getiren ana Streamlit kullanıcı arayüzünü oluşturabiliriz.
st.header("Research Paper Assistant")pdf_file = st.file_uploader("Upload your research paper (PDF)",type=["pdf"])if"paper_text"notin st.session_state or st.session_state.get("last_uploaded")!= pdf_file:if pdf_file isnotNone:with st.spinner("Extracting text from PDF..."): st.session_state.paper_text = pdf_to_text(pdf_file) st.session_state.last_uploaded = pdf_file st.success(f"PDF uploaded. Total characters extracted: {len(st.session_state.paper_text):,}")with st.expander("Preview of extracted PDF text:"): st.code(preview_pdf_text(st.session_state.paper_text), language='markdown')paper_text = st.session_state.get("paper_text")if paper_text: input_tokens = count_tokens(paper_text) st.caption(f"Estimated input tokens: {input_tokens:,} (Estimated input cost: ${estimate_cost(input_tokens):.3f})") question = st.text_area("Ask a question about this paper:", height=80, placeholder="E.g. What are the main findings?") mode = st.radio("Select Mode",["Explain in Brief (Non-Think)","Explain in Detail (Think)"], horizontal=True,) go = st.button("Get Answer", use_container_width=True)if question and go:if mode =="Explain in Brief (Non-Think)": prompt =(f"{paper_text}\n\n"f"Question: {question}\n""First, answer in a few sentences. Then, quote 1–2 exact sentences from the above paper that best support your answer. ""Show each quote on a new line.") thinking_flag =False header ="Explain in Brief (Non-Think)"else: prompt =(f"{paper_text}\n\n"f"Question: {question}\n""First, answer in detail with reasoning and evidence. Then, quote 2–3 exact sentences from the above paper that most strongly support your answer. ""List the quotes after your answer.") thinking_flag =True header ="Explain in Detail (Think)"with st.spinner(f"Generating answer..."): start_time = time.perf_counter()try: response = client.chat.completions.create( model="deepseek/deepseek-chat-v3.1", messages=[{"role":"system","content":"You are a helpful research assistant."},{"role":"user","content": prompt}], max_tokens=900, extra_body={"thinking": thinking_flag},) answer = response.choices[0].message.content.strip() output_tokens = count_tokens(answer)except Exception as e: answer =f"Error: {e}" output_tokens =0 end_time = time.perf_counter() elapsed_time = end_time - start_time parts = re.split(r"(?:^|\n)(Quotes?:?)", answer, flags=re.IGNORECASE)iflen(parts)>=3: main_answer = parts[0].strip() quotes = parts[2].strip()else: main_answer = answer quotes =None st.markdown(f"### {header}") st.info(f"Time taken: {elapsed_time:.2f} seconds | Output tokens: {output_tokens} (Est. output cost: ${estimate_cost(output_tokens,'output'):.3f})") st.write(main_answer)if quotes: st.markdown("**Supporting Quotes:**") st.success(quotes)Altyapı:
Bu Streamlit uygulaması, DeepSeek V3.1’i kullanarak doküman alımından bağlam farkındalıklı LLM S&C’ye kadar tüm süreci yöneten dinamik bir araştırma makalesi asistanı uygular. StreamLit uygulamasının üstlendiği temel işlevler şunlardır:
1. PDF yükleme ve önbellekleme
Kullanıcı arayüz üzerinden bir PDF dosyası yükler, ardından:
st.session_state, dosyanın yeni olup olmadığını kontrol eder. Yeniyse metin çıkarılır ve yinelemeli etkileşimlerde her seferinde çıkarma yapılmaması için yükleme referansıyla birlikte session_state’e önbelleğe alınır.
Çıkarımın ardından, belgenin ilk ~600 karakteri; karakter sayısı, tahmini giriş token’ları ve maliyet gibi istatistiklerle birlikte önizlenir.
2. Kullanıcı sorgusu ve mod seçimi
Bir doküman yüklendikten sonra kullanıcı bir soru yazabilir ve Non-think ile Think modları arasında seçim yapabilir; arayüz her mod için istem talimatlarını uyarlayacaktır:
Non-think modu: Makaleden 1–2 destekleyici alıntıyla birlikte kısa bir yanıt döndürür.
Think modu: 2–3 destekleyici alıntıyla birlikte ayrıntılı, kanıta dayalı bir yanıt döndürür.
3. İstem tasarımı ve API çağrısı
Kullanıcı "Get Answer"a tıkladığında uygulama şunları yapar:
Makale içeriğini, soruyu ve yanıtlama talimatlarını enjekte eden, bağlam açısından zengin bir istem oluşturur.
thinking parametresini OpenRouter API isteğinde ayarlar (extra_body={"thinking": thinking_flag}); böylece model, sıcaklığa güvenmek yerine doğru akıl yürütme modunda çalışır.
Uygulama her yanıt için çıkarım süresi, çıktı token sayısı ve maliyeti ölçer ve şeffaflık için bunları gösterir.
4. Son işlem ve görüntüleme
Dönen yanıt, ana bölüm ve destekleyici alıntılar ayrılacak şekilde (bulunursa) ayrıştırılır. Ardından hem yanıt hem de çıkarılan alıntılar arayüzde görüntülenir; böylece kaynak makaleden alınan kesin metinsel kanıtlar vurgulanır.
Kendiniz denemek için kodu app.py olarak kaydedin ve şu komutla başlatın:
Deneylerimde, DeepSeek V3.1’in ayrıntılı “think” yanıtları üretmesi, kısa “non-think” yanıtlara kıyasla çok daha uzun sürdü. Bunun nedeni, daha uzun ve gerekçelendirilmiş çıktılar için daha fazla hesaplama ve süre gerekmesidir.
Sonuç
Bu eğitimde, DeepSeek V3.1’i kullanarak uzun dokümanları analiz edebilen, hem öz hem de ayrıntılı yanıtlar üretebilen ve maliyetleri gerçek zamanlı izleyebilen—hem de tek bir Streamlit uygulaması içinde—etkileşimli bir araştırma makalesi asistanının nasıl oluşturulacağını gösterdik. DeepSeek ile projeler geliştirmeye devam etmek istiyorsanız, yeni DeepSeek V3.2-Speciale’yi anlatan eğitimimize göz atmanızı öneririm.
ML (Üretken Yapay Zekâ) alanında Google Developers Uzmanıyım, Kaggle 3x Expert unvanına sahibim ve 3+ yıllık teknoloji deneyimiyle Women Techmakers Elçisiyim. 2020'de bir sağlık teknolojileri girişiminin kurucu ortağı oldum ve Georgia Tech'te makine öğrenmesi alanında uzmanlaşarak bilgisayar bilimleri yüksek lisansı yapıyorum.
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.
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!
Windsurf ile kodlamanızı hızlandırın. Windsurf, daha hızlı geliştirme, hata ayıklama ve dağıtım yapmanıza yardımcı olan yapay zeka destekli bir IDE'dir.
DeepSeek kısa süre önce DeepSeek V3.1’i yayımladı. “think” ve “non-think” yanıt modlarını destekleyen, büyük ölçekli hibrit bir akıl yürütme modeli olan bu sürüm, etkileşimli doküman analizi için ideal.
Bu yazıda, araştırma makalelerini anlamaya yönelik DeepSeek V3.1’in ajan yeteneklerine odaklanacağım. Herhangi bir PDF’yi bir Streamlit uygulaması aracılığıyla etkileşimli bir araştırma asistanına nasıl dönüştürebileceğinizi adım adım açıklayacağım—şunları göstereceğim:
Sonunda uygulamanız aşağıdaki gibi görünecek:
DeepSeek V3.1 Nedir?
DeepSeek V3.1, hem "düşünen" (ayrıntılı, gerekçeli) hem de "düşünmeyen" (olgusal, öz) yanıtlama tarzları için eğitilmiş 671 milyar parametreli hibrit bir Mixture-of-Experts (MoE) modelidir. 128.000 token’a kadar bağlamları destekler ve OpenRouter’ın OpenAI uyumlu API’si üzerinden erişilebilir.
Kaynak: DeepSeek
DeepSeek V3.1’in en önemli özellikleri şunlardır:
DeepSeek V3.1 Demo: Araştırma Makalesi Asistanı
Bu bölümde, yüklenen herhangi bir PDF araştırma makalesini etkileşimli, yapay zekâ destekli bir araştırma asistanına dönüştürmek için DeepSeek V3.1’i nasıl kullandığımı anlatacağım.
Nasıl çalıştığı şöyle:
Adım 1: Önkoşullar
Bu demoyu çalıştırmadan önce gerekli tüm önkoşulların hazır olduğundan emin olalım.
Adım 1.1: İçe aktarımlar
Öncelikle aşağıdaki paketlerin kurulu olduğundan emin olun:
Bu komut, arayüz, PDF işleme ve API istekleri için gerekli tüm temel bağımlılıkları sağlar.
Adım 1.2: OpenRouter API anahtarının ayarlanması
DeepSeek V3.1 modeli, DeepSeek Resmi API dahil çeşitli platformlar üzerinden sunulmaktadır. Ancak ben, OpenRouter kullandım. Bu servis, birçok modele ait API anahtarlarına erişim sağlar ve bu demo için en uygun maliyetli seçenektir. DeepSeek V3.1 için bir API anahtarı ayarlama adımları şöyle:
Şimdi, uygulamayı çalıştırmadan önce API anahtarınızı bir ortam değişkeni olarak ayarlayın:
Doğru API’nin seçilmesi
Resmi DeepSeek API’si, yüksek hacimli, otomatik iş yükleri için en uygunudur.
Çoğu araştırma, eğitim veya demo kullanım senaryosu—bu Streamlit Araştırma Makalesi Asistanı da dahil—için OpenRouter’ı tercih ederim; çünkü daha basit ve esnek bir seçenektir. Zaman penceresi kısıtları veya önbellek mantığı yönetimi olmadan öngörülebilir küresel fiyatlandırma sunar; bu da geçici analizler, tekil doküman sorguları ve kolay işbirliği için idealdir.
Not: API üzerinden DeepSeek V3.1 kullanmak, arayüz için yalnızca yaklaşık 8 GB bellek gerektirir; böylece aksi halde 170+ GB disk alanı ve güçlü bir GPU gerektiren 670B parametreli modeli yerelde barındırma ihtiyacından kurtulursunuz.
Adım 2: Streamlit Uygulamasını Kurma
DeepSeek V3.1’i kullanıcı dostu bir arayüz üzerinden erişilebilir kılmak için uygulama çatısı olarak Streamlit kullanacağız ve modeli OpenRouter’ın OpenAI uyumlu API’si üzerinden bağlayacağız.
Adım 2.1: Yapılandırma
Bu adım, ortam kurulumu, API kimlik doğrulaması ve temel Streamlit yapılandırmasını kapsar.
Yukarıdaki kodda,
st.set_page_config()çağrısı Streamlit uygulamasının sayfa başlığını ve yerleşimini özelleştirir. Uygulama, OpenRouter API anahtarını ortam değişkenlerinden alır ve OpenAI uyumlu bir istemci, OpenRouter API uç noktasına işaret edecek şekilde başlatılır; böylece sonraki tüm LLM çağrıları DeepSeek V3.1 için doğru şekilde yönlendirilir ve kimlik doğrulaması yapılır.Adım 2.2: Yardımcı fonksiyonlar
Ana iş akışını oluşturmadan önce, doküman işleme ve kaynak tahmini için sağlam yardımcı araçlara ihtiyacımız var. Bu adımda, yüklenen PDF’lerden metin çıkarmak, doküman içeriğini önizlemek, yaklaşık token sayısını hesaplamak ve OpenRouter’ın DeepSeek V3.1 fiyatlandırmasına göre maliyeti tahmin etmek için yardımcı fonksiyonları tanımlıyoruz.
Bu yardımcı fonksiyonlarla, arka uç katmanı ölçeklenebilir bir araştırma asistanı arayüzünü desteklemeye hazırdır:
pdf_to_text()fonksiyonu, çok sayfalı PDF’leri düz metne dönüştürürken sayfa sınırlarını korur; bu da veriyi LLM girdisi ve sonraki işlemler için uygun hale getirir.count_tokens()fonksiyonu, DeepSeek’in geniş bağlam penceresine göre API kullanımını izlemeye yardımcı olacak yaklaşık bir token sayısı sağlar.estimate_cost()ise bu token sayılarını, giriş ve çıkış için OpenRouter fiyatlandırmasını kullanarak gerçek zamanlı maliyet geri bildirimine çevirir; böylece kullanıcı her sorgu için hesaplama bütçesi hakkında bilgilendirilir.preview_pdf_text()fonksiyonu, kısaltılmış önizlemeler üretir; böylece kullanıcılar, model maliyetine katlanmadan veya API sınırlarına takılmadan önce çıkarılan içeriğin bütünlüğünü ve uygunluğunu doğrulayabilir.Bu yapı taşları hazır olduğuna göre, şimdi uzun bağlamlı, ajan odaklı araştırma makalesi S&C’si için tam Streamlit uygulamasını birleştirebiliriz.
Adım 2.3: Streamlit uygulaması
Çekirdek yardımcılar hazırken, artık PDF işleme, token/maliyet tahmini, kullanıcı yönlendirmeli S&C ve OpenRouter üzerinden DeepSeek V3.1 ile canlı etkileşimi bir araya getiren ana Streamlit kullanıcı arayüzünü oluşturabiliriz.
Bu Streamlit uygulaması, DeepSeek V3.1’i kullanarak doküman alımından bağlam farkındalıklı LLM S&C’ye kadar tüm süreci yöneten dinamik bir araştırma makalesi asistanı uygular. StreamLit uygulamasının üstlendiği temel işlevler şunlardır:
1. PDF yükleme ve önbellekleme
Kullanıcı arayüz üzerinden bir PDF dosyası yükler, ardından:
st.session_state, dosyanın yeni olup olmadığını kontrol eder. Yeniyse metin çıkarılır ve yinelemeli etkileşimlerde her seferinde çıkarma yapılmaması için yükleme referansıyla birliktesession_state’e önbelleğe alınır.2. Kullanıcı sorgusu ve mod seçimi
Bir doküman yüklendikten sonra kullanıcı bir soru yazabilir ve Non-think ile Think modları arasında seçim yapabilir; arayüz her mod için istem talimatlarını uyarlayacaktır:
3. İstem tasarımı ve API çağrısı
Kullanıcı "Get Answer"a tıkladığında uygulama şunları yapar:
thinkingparametresini OpenRouter API isteğinde ayarlar (extra_body={"thinking": thinking_flag}); böylece model, sıcaklığa güvenmek yerine doğru akıl yürütme modunda çalışır.4. Son işlem ve görüntüleme
Dönen yanıt, ana bölüm ve destekleyici alıntılar ayrılacak şekilde (bulunursa) ayrıştırılır. Ardından hem yanıt hem de çıkarılan alıntılar arayüzde görüntülenir; böylece kaynak makaleden alınan kesin metinsel kanıtlar vurgulanır.
Kendiniz denemek için kodu
app.pyolarak kaydedin ve şu komutla başlatın: