-
Notifications
You must be signed in to change notification settings - Fork 239
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs(Cookbook): Add Turkish translation for agent data analyst notebook #219
Open
Kadermiyanyedi
wants to merge
2
commits into
huggingface:main
Choose a base branch
from
Kadermiyanyedi:add-agent-data-analyst-turkish-translation
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,267 @@ | ||
{ | ||
"nbformat": 4, | ||
"nbformat_minor": 0, | ||
"metadata": { | ||
"colab": { | ||
"provenance": [] | ||
}, | ||
"kernelspec": { | ||
"name": "python3", | ||
"display_name": "Python 3" | ||
}, | ||
"language_info": { | ||
"name": "python" | ||
} | ||
}, | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"source": [ | ||
"# Veri Analizi Ajanı: Göz açıp kapayıncaya kadar verilerinizi analiz edin ✨\n", | ||
"Yazar: [Aymeric Roucher](https://huggingface.co/m-ric)\n", | ||
"\n", | ||
"Bu eğitim ileri düzey konular içermektedir. Bu eğitim içeriğinden önce Cookbook'ta yer alan [Ajan eğitimine](https://github.com/huggingface/cookbook/blob/main/notebooks/en/agents.ipynb) bakmanızı öneririz.\n", | ||
"\n", | ||
"Bu notebook ile bir veri analisti ajanı oluşturacağız: Veri analizi kütüphaneleri ile donatılmış ve Dataframelerden sonuçlar çıkartabilen ve bu sonuçları grafiklerle gösterebilen bir ajan.\n", | ||
"\n", | ||
"[Kaggle Titanic yarışmasındaki](https://www.kaggle.com/competitions/titanic) verileri analiz ederek yolcuların hayatta kalma olasılıklarını tahmin etmek istediğimizi düşünelim.\n", | ||
"\n", | ||
"Ama bu konuya başlamadan önce, otomatik bir ajanın trendleri çıkararak ve bazı grafikler çizerek analiz hazırlamasını istiyorum.\n", | ||
"\n", | ||
"Bu sistemi kuralım.\n", | ||
"\n", | ||
"Gerekli kütüphane gereksinimlerini yüklemek için aşağıdaki kodu çalıştıracağız:\n" | ||
], | ||
"metadata": { | ||
"id": "pix5sPJeoiMA" | ||
} | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"source": [ | ||
"!pip install seaborn \"transformers[agents]\"" | ||
], | ||
"metadata": { | ||
"id": "zK7vGRYCojql" | ||
}, | ||
"execution_count": null, | ||
"outputs": [] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"source": [ | ||
"İlk olarak `ReactCodeAgent` kullanarak bir ajan oluşturacağız. (Ajan türleri hakkında daha fazla bilgi edinmek için bu [dökümantasyonu](https://huggingface.co/docs/transformers/en/agents) okuyabilirsiniz.)\n", | ||
"\n", | ||
"ReactCodeAgent kodu doğrudan çalıştırabilir dolayısı ile herhangi farklı bir araç kullanmamıza gerek yoktur.\n", | ||
"\n", | ||
"Veri bilimiyle ilgili kütüphaneleri kullanmasına izin verdiğimizden emin olmak için `[\"numpy\", \"pandas\", \"matplotlib.pyplot\", \"seaborn\"]` kütüphanelerini `\"additional_authorized_imports\"` parametresi ile aktarıyoruz.\n", | ||
"\n", | ||
"Python yorumlayıcısı yalnızca çalışma ortamında yüklü kütüphaneleri kullanabilir. Bu sebeple `\"additional_authorized_imports\"` parametresine aktardığımız kütüphanelerin çalışma ortamınızda kurulu olduğundan emin olun.\n", | ||
"\n", | ||
"⚙ Ajanımızı, `HfEngine` sınıfı aracılığıyla HF'nin Inference API'sini kullanan [meta-llama/Meta-Llama-3.1-70B-Instruct](https://huggingface.co/meta-llama/Llama-3.1-70B-Instruct) modeliyle çalıştıracağız. Inference API, herhangi bir açık kaynak modelini hızlı ve kolay bir şekilde çalıştırmamıza olanak tanır.\n", | ||
"\n", | ||
"\n", | ||
"\n", | ||
"\n", | ||
"\n", | ||
"\n", | ||
"\n", | ||
"\n" | ||
], | ||
"metadata": { | ||
"id": "ONR4fZmbrrnw" | ||
} | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"source": [ | ||
"from transformers.agents import HfEngine, ReactCodeAgent\n", | ||
"from huggingface_hub import login\n", | ||
"import os\n", | ||
"\n", | ||
"login(os.getenv(\"HUGGINGFACEHUB_API_TOKEN\"))\n", | ||
"\n", | ||
"llm_engine = HfEngine(\"meta-llama/Meta-Llama-3.1-70B-Instruct\")\n", | ||
"\n", | ||
"agent = ReactCodeAgent(\n", | ||
" tools=[],\n", | ||
" llm_engine=llm_engine,\n", | ||
" additional_authorized_imports=[\"numpy\", \"pandas\", \"matplotlib.pyplot\", \"seaborn\"],\n", | ||
" max_iterations=10,\n", | ||
")" | ||
], | ||
"metadata": { | ||
"id": "0zf6_TnHrdAk" | ||
}, | ||
"execution_count": null, | ||
"outputs": [] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"source": [ | ||
"## Veri analizi 📊🤔\n", | ||
"\n", | ||
"Yarışmadan alınan notları fonksiyona argüman olarak verelim ve ajanımızı `run` methodu ile çalıştıralım." | ||
], | ||
"metadata": { | ||
"id": "DPOHaLM18sIW" | ||
} | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"source": [ | ||
"import os\n", | ||
"\n", | ||
"os.mkdir(\"./figures\")" | ||
], | ||
"metadata": { | ||
"id": "EC1R4pxvtheR" | ||
}, | ||
"execution_count": null, | ||
"outputs": [] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"source": [ | ||
"\"\"\"\n", | ||
"## Değişken notları\n", | ||
"pclass: Sosyo-ekonomik durumu (SES) temsil eden bir gösterge\n", | ||
"1.sınıf = Üst\n", | ||
"2.sınıf = Orta\n", | ||
"3.sınıf = Alt\n", | ||
"\n", | ||
"age: Yaş, 1'den küçükse kesirli bir değerdir. Eğer yaş tahmin ediliyorsa, xx.5 şeklindedir.\n", | ||
"\n", | ||
"sibsp: Veri seti aile ilişkilerini şu şekilde tanımlar...\n", | ||
"Kardeş = erkek kardeş, kız kardeş, üvey erkek kardeş, üvey kız kardeş, Eş = koca, karı (nişanlılar göz ardı edilmiştir)\n", | ||
"\n", | ||
"parch: Veri seti aile ilişkilerini şu şekilde tanımlar...\n", | ||
"Ebeveyn = anne, baba, Çocuk = kız, oğul, üvey kız, üvey oğul\n", | ||
"Bazı çocuklar yalnızca bir bakıcıyla seyahat ettikleri için, bu durumda parch=0'dır.\n", | ||
"\"\"\"\n", | ||
"additional_notes = \"\"\"\n", | ||
"### Variable Notes\n", | ||
"pclass: A proxy for socio-economic status (SES)\n", | ||
"1st = Upper\n", | ||
"2nd = Middle\n", | ||
"3rd = Lower\n", | ||
"age: Age is fractional if less than 1. If the age is estimated, is it in the form of xx.5\n", | ||
"sibsp: The dataset defines family relations in this way...\n", | ||
"Sibling = brother, sister, stepbrother, stepsister\n", | ||
"Spouse = husband, wife (mistresses and fiancés were ignored)\n", | ||
"parch: The dataset defines family relations in this way...\n", | ||
"Parent = mother, father\n", | ||
"Child = daughter, son, stepdaughter, stepson\n", | ||
"Some children travelled only with a nanny, therefore parch=0 for them.\n", | ||
"\"\"\"\n", | ||
"\n", | ||
"\"\"\"\n", | ||
"Sen bir veri analizi uzmanısın.\n", | ||
"Lütfen kaynak dosyasını yükle ve içeriğini analiz et.\n", | ||
"Elindeki değişkenlere göre, bu verilerle ilgili sorulabilecek 3 ilginç soru listele, örneğin hayatta kalma oranlarıyla belirli korelasyonlar hakkında.\n", | ||
"Sonra bu soruları, ilgili sayıları bularak teker teker yanıtla.\n", | ||
"Bu arada, matplotlib/seaborn kullanarak bazı grafikler çiz ve bunları (zaten mevcut olan) './figures/' klasörüne kaydet: Her grafiği çizmeden önce plt.clf() ile temizlemeyi unutma.\n", | ||
"\n", | ||
"Sonuçlarınızda: bu korelasyonları ve trendleri özetleyin.\n", | ||
"Her sayının ardından gerçek dünya içgörüleri çıkarın; örneğin: \"is_december ile boredness arasındaki korelasyon 1.3453'tür, bu da insanların kışın daha çok sıkıldığını gösterir.\"\n", | ||
"Sonuçlarınız en az 3 numaralı ve ayrıntılı parça içermelidir.\n", | ||
"\"\"\"\n", | ||
"analysis = agent.run(\n", | ||
" \"\"\"You are an expert data analyst.\n", | ||
"Please load the source file and analyze its content.\n", | ||
"According to the variables you have, begin by listing 3 interesting questions that could be asked on this data, for instance about specific correlations with survival rate.\n", | ||
"Then answer these questions one by one, by finding the relevant numbers.\n", | ||
"Meanwhile, plot some figures using matplotlib/seaborn and save them to the (already existing) folder './figures/': take care to clear each figure with plt.clf() before doing another plot.\n", | ||
"\n", | ||
"In your final answer: summarize these correlations and trends\n", | ||
"After each number derive real worlds insights, for instance: \"Correlation between is_december and boredness is 1.3453, which suggest people are more bored in winter\".\n", | ||
"Your final answer should have at least 3 numbered and detailed parts.\n", | ||
"\"\"\",\n", | ||
" additional_notes=additional_notes,\n", | ||
" source_file=\"titanic/train.csv\",\n", | ||
")" | ||
], | ||
"metadata": { | ||
"id": "N_c5S8tm9BbJ" | ||
}, | ||
"execution_count": null, | ||
"outputs": [] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"source": [ | ||
"print(analysis)" | ||
], | ||
"metadata": { | ||
"id": "WHRN66Yh9MOg" | ||
}, | ||
"execution_count": null, | ||
"outputs": [] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"source": [ | ||
"Etkileyici, değil mi? Ajanınıza kendi grafiklerini gözden geçirmesi için bir görselleştirme aracı da sağlayabilirsiniz!\n", | ||
"\n", | ||
"## Veri bilimi ajanı: Tahminleri çalıştır 🛠️👉\n", | ||
"**Modelimizin veriler üzerinde tahminler yapmasına izin vererek** bir adım daha ilerleyelim.\n", | ||
"\n", | ||
"Bunu yapmak için, `additional_authorized_imports` içinde `sklearn` kullanımına da izin veriyoruz." | ||
], | ||
"metadata": { | ||
"id": "c7QrYCxR9aGE" | ||
} | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"source": [ | ||
"agent = ReactCodeAgent(\n", | ||
" tools=[],\n", | ||
" llm_engine=llm_engine,\n", | ||
" additional_authorized_imports=[\n", | ||
" \"numpy\",\n", | ||
" \"pandas\",\n", | ||
" \"matplotlib.pyplot\",\n", | ||
" \"seaborn\",\n", | ||
" \"sklearn\",\n", | ||
" ],\n", | ||
" max_iterations=12,\n", | ||
")\n", | ||
"\"\"\"\n", | ||
"Sen bir ML uzmanısın.\n", | ||
"Lütfen \"titanic/train.csv\" dosyası üzerinde hayatta kalmayı tahmin etmek için bir ML modeli eğit.\n", | ||
"Sonuçları './output.csv' dosyasına yaz.\n", | ||
"Kullanımdan önce fonksiyonları ve modülleri içe aktarmayı unutma!\n", | ||
"\"\"\"\n", | ||
"output = agent.run(\n", | ||
" \"\"\"You are an expert machine learning engineer.\n", | ||
"Please train a ML model on \"titanic/train.csv\" to predict the survival for rows of \"titanic/test.csv\".\n", | ||
"Output the results under './output.csv'.\n", | ||
"Take care to import functions and modules before using them!\n", | ||
"\"\"\",\n", | ||
" additional_notes=additional_notes + \"\\n\" + analysis,\n", | ||
")" | ||
], | ||
"metadata": { | ||
"id": "q2c7g4rr9yXH" | ||
}, | ||
"execution_count": null, | ||
"outputs": [] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"source": [ | ||
"Ajanımızın çıkardığı test çıktıları, Kaggle'a gönderildiğinde 0.78229 puan alıyor ve 17,360 sonuç arasından #2824 sıraya yerleşiyor.\n", | ||
"\n", | ||
"Bu sonuç, yazarın yıllar önce bu yarışmaya ilk girdiğinde elde ettiği sonuçtan çok daha iyi bir sonuçtur.\n", | ||
"\n", | ||
"Sonuçlarınız değişebilir, ancak yine de ajanın birkaç saniyede bu sonucu başarması gerçekten etkileyici.\n", | ||
"\n", | ||
"🚀 Veri analisti ajanı ile sadece basit bir deneme yaptık. Kullanım durumunuza daha iyi uyacak şekilde çok daha fazla geliştirebilirsiniz." | ||
], | ||
"metadata": { | ||
"id": "DbkkLpf0-DQj" | ||
} | ||
} | ||
] | ||
} |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ajan desek daha doğru olur, bot diyince chatbot çağrışımı yapıyor, bir de agent yerine ajan yazabiliriz kalan her yerde tutarlılık adına
Dataframelerden -> dataframe'lerden*
Reply via ReviewNB
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ajan olarak bilerek çok çevirmek istemedim biraz tuhaf geldi açıkçası assistan olarak düşündüm ama acaba her yerde agent olarak mı bıraksak?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ajan en doğrusu bence tam altını doldurduğu için
asistanın kapsamı daha geniş