Yanlış məlumatların, təbliğatın və təsdiqlənməmiş iddiaların arasında həqiqəti araşdırmaq ehtiyacından yaranan açıq mənbəli layihə. Onu niyə hazırladım, necə işləyir və öz kompüterinizdə necə quraşdıra bilərsiniz?
Kateqoriya: Code / Open Source / AI
Layihə: FACT — Public Evidence Verification Engine
GitHub: https://github.com/alesmcgregor/fact
Canlı tətbiq: https://dr.ales.work
Hər Şey Sadə Bir Sualla Başladı
Heç internetdə bir videoya baxarkən öz-özünüzə belə bir sual vermisiniz?
“Bir dəqiqə, bəs danışılanlar doğrudanmı həqiqətdir?”
Mən vermişəm. Özü də dəfələrlə.
YouTube-da bir video açırsınız. X platformasında hansısa paylaşım qarşınıza çıxır. Sosial şəbəkələrdə kimsə olduqca iddialı açıqlamalar verir.
Mövzu bəzən siyasət, bəzən tarix, bəzən beynəlxalq münasibətlər, bəzən də guya bir neçə saat əvvəl baş vermiş hadisə olur.
Hər şey kifayət qədər inandırıcı görünür.
Arxa planda dramatik musiqi, diqqətlə seçilmiş görüntülər, bir neçə ekran şəkli və son dərəcə əminliklə danışan aparıcı.
Bir də tez-tez eşitdiyimiz həmin ifadə var:
“Rəsmi mənbələrə görə...”
Yaxşı, bəs hansı rəsmi mənbələr?
Sənədin əsli haradadır? Kim yayımlayıb? Nə vaxt yayımlanıb? Ən əsası isə, həmin sənəddə doğrudanmı danışıldığı kimi yazılıb?
Məni düşündürən məsələ məhz budur.
Bu gün məlumat əldə etmək heç vaxt olmadığı qədər asandır. Amma məlumatın əlçatan olması onun mütləq doğru olduğu demək deyil.
Əlbəttə, insanları həqiqətən məlumatlandırmağa çalışan məzmun yaradıcıları var. Yanlış məlumatı bilmədən paylaşanlar da var. Bir də hadisələri araşdırmaq əvəzinə, əvvəlcədən müəyyənləşdirilmiş mövqeyi dəstəkləyəcək şəkildə təqdim edənlər var.
Burada hansısa YouTube kanalının və ya sosial media hesabının adını çəkməyəcəyəm. Məqsədim kimisə hədəf göstərmək deyil.
Məni daha çox düşündürən başqa bir məsələdir:
Təsdiqlənməmiş bir iddia kifayət qədər təkrarlandıqda, necə olur ki, zamanla hamının qəbul etdiyi həqiqətə çevrilir?
Bir gün öz-özümə belə bir sual verdim:
Niyə eşitdiyimiz hər fikrə inanmaq əvəzinə, həmin fikrin arxasındakı sübutları araşdırmağa kömək edən bir sistem hazırlamayaq?
FACT layihəsinin yaranma səbəbi məhz bu sual oldu.
Mən Həqiqət Maşını Hazırlamağa Çalışmıram
Əvvəlcə bir məsələdə razılaşaq.
Süni intellektin nəyin doğru, nəyin yanlış olduğuna təkbaşına qərar verməli olduğunu düşünmürəm.
Hətta bir proqramın insanları yalançı, təbliğatçı və ya pis niyyətli kimi təsnif etməsini də düzgün hesab etmirəm.
Belə yanaşma təhlükəli ola bilər.
Mənim hazırlamaq istədiyim sistem daha sadə, amma fikrimcə, daha faydalıdır.
Təsəvvür edin.
YouTube-da bir videoya baxırsınız. Danışan şəxs video boyunca beş müxtəlif iddia irəli sürür.
Həmin iddialar barədə şərhlərdə mübahisə etmək əvəzinə, videonun keçidini bir sistemə təqdim edirsiniz.
Sistem əlçatan danışıq mətnini təhlil edir, yoxlanıla bilən iddiaları müəyyənləşdirir və onları müvafiq mənbələrlə müqayisə edir.
Amma internetdə bir neçə saytın eyni məlumatı yazması kifayət deyil.
Rəsmi açıqlamalar, dövlət qurumlarının yayımladığı sənədlər, institusional qeydlər və müstəqil mənbələr kimi izlənilə bilən sübutlara ehtiyac var.
Bəs iki rəsmi mənbə bir-birinə zidd açıqlama verirsə?
Bu da olduqca vacib məqamdır.
Sistem özbaşına onlardan birini seçməməlidir. Əgər ziddiyyət varsa, onu açıq şəkildə göstərməlidir.
Başqa bir məsələ də var.
Bir iddianı təsdiqləyən sübutun tapılmaması həmin iddianın mütləq yanlış olduğu demək deyil.
Ola bilər ki, müvafiq sənəd hələ ictimaiyyətə açıq deyil. Ola bilər ki, videonun danışıq mətninə giriş mümkün deyil. Yaxud hadisə hələ müstəqil mənbələr tərəfindən təsdiqlənməyib.
Belə hallarda sistemin bilmədiyi bir şeyi bilirmiş kimi təqdim etməsini istəmədim.
Çünki bəzən qeyri-müəyyənlik proqram xətası deyil.
Əksinə, mövcud sübutlarla əldə edilə biləcək ən düzgün nəticədir.
Bəs FACT Əslində Nədir?
FACT — Public Evidence Verification Engine — ictimaiyyətə açıq məzmunlarda irəli sürülən iddiaları sübutlar əsasında qiymətləndirmək üçün hazırladığım veb tətbiqidir.
Layihəni Laravel, PHP, OpenAI Responses API və müxtəlif məzmun əldəetmə xidmətlərindən istifadə edərək hazırlamışam.
İş prinsipi kifayət qədər sadədir.
Bir keçid təqdim edirsiniz.
FACT həmin məzmuna daxil olmağa çalışır, yoxlanıla bilən iddiaları müəyyənləşdirir, bu iddialarla bağlı mənbələri araşdırır, əldə olunan sübutları qiymətləndirir və nəticədə yoxlaya biləcəyiniz hesabat hazırlayır.
Tətbiq hazırda altı dili dəstəkləyir:
İngilis dili
Türk dili
Azərbaycan dili
Rus dili
İspan dili
Ərəb dili
Ərəb dili üçün sağdan sola yazı istiqaməti də nəzərə alınıb.
Layihəni yalnız bir ölkə və ya dillə məhdudlaşdırmaq istəmədim.
Çünki yanlış məlumat yalnız bir ölkədə yaranmır. Deməli, onu araşdırmaq üçün istifadə etdiyimiz vasitələr də mümkün qədər geniş auditoriyaya xidmət etməlidir.
Hansı Məzmunları Təhlil Edə Bilir?
FACT ictimaiyyətə açıq xəbər səhifələrini və dəstəklənən sosial media keçidlərini təhlil etmək üçün nəzərdə tutulub.
YouTube, X, Instagram, Facebook və TikTok kimi platformalar üçün məzmun əldəetmə mexanizmləri mövcuddur.
Sosial media məzmunlarının metadata və danışıq mətnlərini əldə etmək üçün istəyə bağlı Supadata inteqrasiyasından istifadə oluna bilər.
YouTube üçün ayrıca transkript əldəetmə mexanizmi də hazırlanıb.
Amma burada vacib bir məhdudiyyət var.
Hər videonun danışıq mətni əlçatan olmur. Bəzi platformalar avtomatik girişi məhdudlaşdırır. Bəzən də məzmun təminatçısı lazımi məlumatı təqdim etmir.
Belə hallarda FACT-ın mövcud olmayan danışığı uydurması əvəzinə, məlumatın əldə edilə bilmədiyini bildirməsini üstün tutdum.
İstifadəçi lazım gəldikdə özündə olan danışıq mətnini də sistemə təqdim edə bilər.
Əlbəttə, istifadəçinin təqdim etdiyi mətnin orijinal videoya tam uyğun olduğunu sistemin müstəqil şəkildə təsdiqlədiyini iddia edə bilmərik.
Bir məsələni də xüsusi qeyd etmək istəyirəm.
FACT hazırda video görüntülərinin saxta olub-olmadığını, səsin süni intellektlə təqlid edilib-edilmədiyini və ya yazının manipulyasiya olunub-olunmadığını müstəqil şəkildə yoxlamır.
Bunlar ayrı-ayrı texniki problemlərdir.
Bir insanın səsləndirdiyi iddianı araşdırmaq başqa, həmin insanın həqiqətən o sözləri söylədiyini sübut etmək isə tamam başqa məsələdir.
Bu ikisini bir-birindən ayırmaq lazımdır.
FACT Necə İşləyir?
İndi bir az sistemin daxilinə baxaq.
1. Keçidi təqdim edirik
İstifadəçi təhlil etmək istədiyi ictimaiyyətə açıq məzmunun keçidini daxil edir.
FACT əvvəlcə ünvanın etibarlı və təhlükəsiz olub-olmadığını yoxlayır.
Məsələn, istifadəçinin təqdim etdiyi ünvan vasitəsilə serverin daxili şəbəkəsindəki xidmətlərə girişin qarşısını almaq üçün müxtəlif təhlükəsizlik yoxlamaları tətbiq olunur.
2. Məzmun oxunur
Keçid xəbər səhifəsinə aiddirsə, oxuna bilən mətn çıxarılır.
Video keçididirsə, əlçatan danışıq mətni və müvafiq məlumatlar əldə edilməyə çalışılır.
3. Yoxlanıla bilən iddialar müəyyənləşdirilir
Məncə, sistemin ən vacib mərhələlərindən biri məhz budur.
Çünki hər cümlə yoxlanıla bilən iddia deyil.
Məsələn:
“Məncə, bu qərar olduqca pisdir.”
Bu, şəxsi fikirdir.
Amma:
“Bu qərar sentyabrın 15-də rəsmi şəkildə qəbul edilib.”
Bu isə yoxlanıla bilən iddiadır.
İkinci ifadəni rəsmi qərar sənədləri ilə müqayisə edə bilərik.
4. Sübutlar araşdırılır
OpenAI əsaslı analiz təminatçısı veb axtarışdan istifadə edərək müvafiq iddiaları araşdırır.
Sistemdə Türkiyə və Azərbaycandakı bəzi rəsmi qurumlarla başlayan mənbə reyestri mövcuddur.
Bundan əlavə, beynəlxalq qurumların domenləri və müstəqil nəşrlər də qiymətləndirmə prosesində istifadə oluna bilər.
5. Sübutlar qiymətləndirilir
Burada süni intellektin şərhi ilə proqramın qiymətləndirmə mexanizmini bir-birindən ayırmağa xüsusi diqqət yetirdim.
FACT-ın öz deterministik qiymətləndirmə komponenti var.
Yəni sistem sadəcə süni intellektdən “Bu məlumatın doğruluğuna nə qədər əminsən?” deyə soruşmur.
Mənbələrin növləri, dəstəkləyici və ziddiyyətli sübutlar, fərqli nəşriyyatlar və mənbələrin tarixləri müəyyən qaydalar əsasında qiymətləndirilir.
Amma burada kiçik, eyni zamanda vacib bir məqam var.
Bir iddianın 85 bal alması onun 85 faiz ehtimalla doğru olduğu demək deyil.
Bu, sübutların qiymətləndirilməsi indeksidir.
Statistik olaraq hesablanmış doğruluq ehtimalı deyil.
6. Nəticə hesabatı hazırlanır
Son mərhələdə araşdırılan iddialar, onların qiymətləndirmə nəticələri, mənbə keçidləri və varsa təhlilin məhdudiyyətləri bir hesabatda təqdim olunur.
Hesabatın paylaşılması üçün ayrıca keçid də yaradılır.
Beləliklə, istifadəçi yalnız nəticəni görmür, həmin nəticəyə hansı sübutlar əsasında gəlindiyini də araşdıra bilir.
Mənim istədiyim məhz bu idi.
Sehrli doğru-yanlış düyməsi deyil.
İzlənilə və yoxlanıla bilən araşdırma prosesi.
Rəsmi Mənbələr Niyə Vacibdir? Bəs Həmişə Kifayətdirmi?
İndi haqlı olaraq belə soruşa bilərsiniz:
“Rəsmi mənbələrə bu qədər əhəmiyyət verirsən, amma rəsmi qurumlar da yanlış və ya yanıltıcı açıqlamalar verə bilməzmi?”
Əlbəttə, verə bilərlər.
Rəsmi açıqlama ilk növbədə müvafiq qurumun həmin açıqlamanı etdiyini təsdiqləməyə kömək edir.
Amma bu, açıqlamanın daxilindəki bütün iddiaların avtomatik olaraq doğru olduğu demək deyil.
Xüsusilə siyasi və beynəlxalq məsələlərdə bu fərqi anlamaq vacibdir.
Məsələn, bir qanunun qəbul edilib-edilmədiyini araşdırırıqsa, rəsmi qəzet və ya parlament qeydləri olduqca güclü ilkin mənbələrdir.
Amma həmin qanunun cəmiyyətə təsirini araşdırırıqsa, müstəqil tədqiqatlara, statistik məlumatlara və fərqli qurumların araşdırmalarına da ehtiyacımız ola bilər.
Ona görə FACT-ı yalnız bir mənbə növündən asılı şəkildə hazırlamadım.
Müxtəlif mənbələrin iddialarla əlaqəsini qiymətləndirən struktur qurdum.
Hətta rəsmi mənbələrin bir-biri ilə ziddiyyət təşkil etməsi üçün ayrıca nəticə kateqoriyası mövcuddur.
Bununla belə, mövcud alqoritmin inkişaf etdirilə biləcək tərəfləri var.
Məsələn, beş fərqli xəbər saytının eyni xəbər agentliyindən aldığı mətni yayımlaması, əslində beş müstəqil təsdiq demək deyil.
Bu əlaqələri daha yaxşı müəyyənləşdirən mexanizmlər hazırlamaq istəyirəm.
Çünki doğrulama sistemi öz metodlarını da sorğulamağı bacarmalıdır.
Əks halda bir yanlış güvən hissini digəri ilə əvəz etmiş olarıq.
Bir Az da Texniki Tərəfinə Baxaq
Layihəni hazırlayarkən mümkün qədər anlaşılan, modulyar və inkişaf etdirilə bilən arxitekturadan istifadə etməyə çalışdım.
İstifadə etdiyim əsas texnologiyalar:
Komponent | Texnologiya |
|---|---|
Backend | PHP 8.3+ / Laravel 13 |
Frontend | Blade / Tailwind CSS 4 / Vite |
Verilənlər bazası | SQLite, MySQL və ya PostgreSQL |
Arxa plan prosesləri | Laravel Queue / Scheduler |
Süni intellekt | OpenAI Responses API |
Veb araşdırması | OpenAI Web Search |
Sosial media məlumatları | Supadata (istəyə bağlı) |
Xüsusilə servislərin bir-birindən ayrılmasına diqqət yetirdim.
Məzmunun əldə edilməsi, süni intellekt analizi, sübutların qiymətləndirilməsi və hesabatın hazırlanması ayrı komponentlər vasitəsilə həyata keçirilir.
Bu yanaşmanın vacib üstünlüyü var.
Məsələn, gələcəkdə fərqli süni intellekt təminatçısından istifadə etmək istəsəm, bütün tətbiqi yenidən yazmağa ehtiyac qalmayacaq.
Analiz təminatçısı müəyyən interfeys müqaviləsi əsasında işləyir.
Bu da yeni təminatçıların əlavə edilməsini asanlaşdırır.
Bundan başqa, URL təhlükəsizliyi, HTML məzmununun çıxarılması, YouTube transkriptləri və sosial media məzmunları üçün ayrıca servislər mövcuddur.
Təhlükəsizlik baxımından daxili şəbəkə ünvanlarına girişin məhdudlaşdırılması, DNS yoxlamaları, təhlükəsiz yönləndirmə, sorğu limitləri və nəticələrin təhlükəsiz göstərilməsi kimi mexanizmlər hazırlanıb.
Əlbəttə, bunlar tətbiqin heç vaxt hücuma məruz qalmayacağı demək deyil.
Amma ən azından təhlükəsizliyi sonradan düşünüləcək bir detal kimi görmədim.
Tutorial: FACT-ı Öz Kompüterimizdə Quraşdıraq
İndi keçək işin praktik hissəsinə.
Layihəni araşdırmaq, üzərində işləmək və ya öz mühitinizdə çalışdırmaq istəyirsinizsə, mənbə kodunu GitHub-dan əldə edə bilərsiniz.
GitHub: https://github.com/alesmcgregor/fact
Gəlin addım-addım irəliləyək.
Addım 1 — Sistem Tələbləri
Əvvəlcə kompüterinizdə aşağıdakı vasitələr olmalıdır:
PHP 8.3 və ya daha yeni versiya
Composer 2
Node.js 20.19+ və ya 22.12+
npm
Git
SQLite və ya Laravel tərəfindən dəstəklənən başqa verilənlər bazası
PHP tərəfində curl, DOM, mbstring, OpenSSL və istifadə edəcəyiniz verilənlər bazasına uyğun PDO drayveri tələb olunur. intl əlavəsini də tövsiyə edirəm.
Quraşdırılmış versiyaları yoxlamaq üçün terminalda:
php -v
composer --version
node -v
npm -v
git --versionəmrlərini işlədə bilərsiniz.
Addım 2 — GitHub Repozitoriyasını Klonlayaq
Terminalı açıb aşağıdakı əmrləri işlədirik:
git clone https://github.com/alesmcgregor/fact.git
cd factSonra PHP asılılıqlarını quraşdıraq:
composer installFrontend asılılıqlarını da yükləyək:
npm ciAddım 3 — Laravel Mühitini Hazırlayaq
Nümunə mühit faylını kopyalayaq.
Linux və ya macOS üçün:
cp .env.example .envWindows PowerShell üçün:
Copy-Item .env.example .envArdınca Laravel tətbiq açarını yaradaq:
php artisan key:generateLokal quraşdırma üçün SQLite istifadə etmək olduqca rahatdır.
Verilənlər bazası faylı hələ mövcud deyilsə, onu yaradaq:
php -r "file_exists('database/database.sqlite') || touch('database/database.sqlite');"İndi verilənlər bazası cədvəllərini yaradaq və ilkin məlumatları əlavə edək:
php artisan migrate --seedBu proses Türkiyə və Azərbaycandakı bəzi rəsmi qurumlara aid ilkin mənbə qeydlərini də əlavə edəcək.
Gələcəkdə bu siyahını başqa ölkə və qurumlarla genişləndirə bilərsiniz.
Addım 4 — Frontend Fayllarını Hazırlayaq
npm run buildBu əmr interfeys fayllarını Laravel tərəfindən istifadə oluna biləcək şəkildə hazırlayacaq.
Addım 5 — Tətbiqi İşə Salaq
Birinci terminalda:
php artisan serveəmrini işlədirik.
Laravel normal halda bizə aşağıdakı ünvanı göstərəcək:
İndi eyni layihə qovluğunda ikinci terminal açırıq.
php artisan queue:work database --sleep=3 --tries=1 --timeout=240Bəs niyə iki terminal istifadə edirik?
Çünki FACT analizləri arxa planda yerinə yetirir.
Veb tətbiqi sorğunu qəbul edir, arxa plan işçisi analiz tapşırığını icra edir, brauzer isə prosesin hansı mərhələdə olduğunu izləyir.
Beləliklə, uzun çəkən analizlər bir HTTP sorğusundan birbaşa asılı qalmır.
Addım 6 — Əvvəlcə Demo Rejimini Yoxlayaq
Burada xoşuma gələn bir detal var.
FACT standart olaraq mock, yəni nümunə təminatçılarla işləyə bilir.
.env faylınızda:
FACT_ANALYSIS_DRIVER=mock
FACT_CONTENT_DRIVER=mockparametrləri olmalıdır.
Bu rejim sayəsində ödənişli süni intellekt API-sindən istifadə etmədən tətbiqin əsas iş prinsipini yoxlaya bilərsiniz.
Amma unutmayın:
Demo rejimi real mənbə araşdırması və fakt yoxlaması aparmır.
Bu, sadəcə sistemin necə işlədiyini görmək üçün hazırlanmış nümunə rejimidir.
Addım 7 — Real Süni İntellekt Analizini Aktivləşdirək
Real məzmun analizi və veb araşdırması aparmaq istəyirsinizsə, .env faylını redaktə etməlisiniz.
FACT_ANALYSIS_DRIVER=openai
FACT_CONTENT_DRIVER=safe
OPENAI_API_KEY=your_api_key
OPENAI_MODEL=gpt-6-luna
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_TIMEOUT=90Burada OPENAI_API_KEY hissəsinə öz API açarınızı əlavə etməlisiniz.
Layihədə standart model adı gpt-6-luna olaraq müəyyənləşdirilib. API hesabınızda bu modelin əlçatan olduğundan əmin olun. Lazım gəldikdə Responses API-ni dəstəkləyən başqa model seçə bilərsiniz.
Sosial media məzmunlarına giriş üçün istəyə bağlı Supadata inteqrasiyasını da aktivləşdirə bilərsiniz:
SUPADATA_API_KEY=your_supadata_keyAPI açarlarını heç vaxt hamıya açıq kod fayllarında və ya GitHub-da paylaşmayın.
Parametrləri dəyişdikdən sonra:
php artisan config:clear
php artisan queue:restartəmrlərini işlədin.
Lazım gələrsə, queue worker prosesini yenidən başladın.
Artıq dəstəklənən ictimai keçidlər üzərindən real analizlər apara bilərsiniz.
Təbii ki, OpenAI və Supadata kimi xidmətlərin istifadəsinə görə API xərclərinin yarana biləcəyini nəzərə alın.
Addım 8 — Testləri İşlədək
Layihədə dəyişiklik etməzdən əvvəl mövcud testlərin uğurla işlədiyini yoxlamaq yaxşı vərdişdir.
Laravel testlərini işə salmaq üçün:
php artisan testKod formatı yoxlamaları üçün:
vendor/bin/pint --testFrontend yığılmasını yoxlamaq üçün:
npm run buildLayihədəki testlər URL təhlükəsizliyi, məzmunun çıxarılması, sübutların qiymətləndirilməsi, dil dəstəyi, arxa plan prosesləri və hesabatların göstərilməsi kimi müxtəlif sahələri əhatə edir.
Bu testlər lokal tətbiqin gözlənilən davranışlarını yoxlamağa kömək edir.
Amma təkbaşına production mühitinin tam təhlükəsiz olduğunu sübut etmir.
Addım 9 — Serverdə Quraşdırma
Layihəni yalnız öz kompüterinizdə deyil, serverdə də işlədə bilərsiniz.
Production mühitində .env faylının müvafiq parametrlərini belə tənzimləyə bilərsiniz:
APP_ENV=production
APP_DEBUG=false
APP_URL=https://your-domain.example
SESSION_SECURE_COOKIE=true
DB_QUEUE_RETRY_AFTER=300Veb serverin kök qovluğu Laravel layihəsinin tamamına deyil, public qovluğuna yönləndirilməlidir.
HTTPS istifadə edin, API açarlarını təhlükəsiz saxlayın və verilənlər bazasının ehtiyat nüsxələrini təşkil edin.
Arxa plan işçisinin fasiləsiz işləməsi üçün systemd və ya Supervisor kimi servis idarəedicilərindən istifadə edə bilərsiniz.
Worker əmri:
php artisan queue:work database --sleep=3 --tries=1 --timeout=240Laravel scheduler üçün:
php artisan schedule:runSonuncu əmrin cron və ya uyğun zamanlayıcı vasitəsilə hər dəqiqə işlədilməsi lazımdır.
Bundan əlavə, API xərc limitləri, asılılıqların təhlükəsizlik yoxlamaları, tətbiq jurnalları və məzmun əldəetmə servisinin xarici şəbəkə bağlantıları üçün təhlükəsizlik qaydaları da nəzərə alınmalıdır.
Ətraflı məlumat üçün GitHub repozitoriyasındakı README.md və SECURITY.md fayllarına baxa bilərsiniz.
FACT-ın API Strukturu
Layihəni öz interfeysinizə inteqrasiya etmək və ya başqa tətbiqlərlə istifadə etmək istəsəniz, JSON əsaslı API ünvanları da mövcuddur.
Metod | Ünvan | Funksiya |
|---|---|---|
POST |
| Yeni analiz başladır |
GET |
| Analizin vəziyyətini və nəticəsini gətirir |
GET |
| İctimai hesabatı göstərir |
Analiz sorğusunda URL, dil və istəyə bağlı bəzi araşdırma seçimləri göndərilə bilər.
Sorğular Laravel-in təhlükəsizlik və sürət məhdudlaşdırma mexanizmlərinə tabedir.
Xüsusilə brauzerdən kənar POST sorğusu göndərmək istəyirsinizsə, müvafiq sessiya və CSRF tələblərini də nəzərə almalısınız.
Analiz vəziyyətləri verilənlər bazasında saxlanılır. Hesabatlar isə ardıcıl olmayan, təxmin edilməsi çətin identifikatorlarla əlçatan edilir.
Standart hesabat saxlanma müddəti 90 gündür. Bu müddəti konfiqurasiya vasitəsilə dəyişmək mümkündür.
FACT Tamamlanmış Layihədirmi?
Xeyr.
Və açığı, bunun pis bir şey olduğunu düşünmürəm.
Mövcud versiya əsas doğrulama infrastrukturu təqdim edir. Amma inkişaf etdirmək istədiyim kifayət qədər sahə var.
Xüsusilə mənbələrin həqiqətən bir-birindən müstəqil olub-olmadığını daha dəqiq qiymətləndirmək istəyirəm.
Xəbərin ilkin mənbəyini tapmaq, eyni məlumatın fərqli saytlarda təkrar yayımlanmasını ayırd etmək və tarixi konteksti daha düzgün qiymətləndirmək vacibdir.
Rəsmi mənbələr reyestrini müxtəlif ölkələrlə genişləndirmək də məqsədlərim arasındadır.
Başqa bir məsələ süni intellektin mənbələri yanlış şərh etmə ehtimalıdır.
Süni intellekt bir sənəd tapmış ola bilər. Amma həmin sənədin araşdırılan iddianı həqiqətən dəstəkləyib-dəstəkləmədiyini ayrıca yoxlamaq lazımdır.
Gələcəkdə manipulyasiya olunmuş media məzmunlarının araşdırılmasına yönəlmiş fərqli texnologiyalar da layihəyə əlavə edilə bilər.
Amma hələlik əsas diqqətim yoxlanıla bilən iddialar və izlənilə bilən sübutlar üzərindədir.
Çünki məncə, bəzən “Kifayət qədər sübut tapa bilmədim” deyə bilən sistem, hər suala əminliklə cavab verən sistemdən daha dəyərlidir.
Niyə Açıq Mənbə Kimi Paylaşdım?
Belə sistemlərin qapalı qutular şəklində işləməsini düzgün hesab etmirəm.
Bir proqram sübutları qiymətləndirdiyini deyirsə, həmin qiymətləndirmənin necə aparıldığını da araşdıra bilməliyik.
Bu səbəbdən FACT-ın mənbə kodunu GitHub-da açıq şəkildə paylaşdım.
Layihə MIT lisenziyası altında təqdim olunur.
Yəni proqramçılar lisenziya şərtlərinə əməl etməklə mənbə kodunu araşdıra, dəyişdirə, öz layihələrinə uyğunlaşdıra və yenidən paylaşa bilərlər.
Bir jurnalist öz araşdırma ehtiyaclarına uyğun fərqli interfeys hazırlaya bilər.
Bir tədqiqatçı müəyyən ölkənin rəsmi qurumlarını sistemə əlavə edə bilər.
Bir proqramçı fərqli süni intellekt modelləri ilə təcrübələr apara bilər.
Bir tələbə isə layihənin arxitekturasını öyrənərək Laravel, API inteqrasiyası və arxa plan prosesləri haqqında bilik əldə edə bilər.
Mənim üçün açıq mənbə yanaşmasının ən dəyərli tərəfi budur.
Nəsə hazırlayırıq, paylaşırıq və başqaları onu araşdırıb daha yaxşı hala gətirə bilir.
Üstəlik, hər kəsin istifadə olunan alqoritmlə razılaşması vacib deyil.
Əksinə, onun sorğulanması və tənqid edilməsi inkişafın mühüm hissəsidir.
AI Agent İstifadə Edənlər Üçün Kiçik Bir Asanlıq
Əgər AI coding agent istifadə edirsinizsə, quraşdırmanın bütün mərhələlərini əl ilə yerinə yetirməyə ehtiyac yoxdur.
Məsələn, Goose və ya oxşar kodlaşdırma agentinə bu məqaləni və GitHub repozitoriyasını təqdim edərək lokal inkişaf mühitini hazırlamasını istəyə bilərsiniz.
Aşağıdakı ingiliscə prompt-dan birbaşa istifadə edə bilərsiniz:
I want to install and explore FACT, a Laravel-based
public evidence verification project.
Repository:
https://github.com/alesmcgregor/fact
Tutorial:
[PASTE THIS ARTICLE URL HERE]
Read the article and the repository README first.
Inspect the existing code and verify the system
requirements before changing anything.
Set up a working local environment, install the
dependencies, prepare the database, build the
frontend, and start the application and queue worker.
Use mock mode for the initial setup.
Do not activate paid API providers without approval.
Preserve the existing security controls.
Never expose API keys or secrets.
Run the available tests, report any failures,
and explain what was configured or changed.
Do not rewrite working components unnecessarily.Burada məntiq sadədir.
Agentə GitHub repozitoriyasını, quraşdırma təlimatlarını və nə etmək istədiyinizi izah edirsiniz.
O da mövcud sistemi araşdıraraq quraşdırma mərhələlərini həyata keçirməyə kömək edir.
Əlbəttə, etdiyi dəyişiklikləri yoxlamaq, xüsusilə sistemi internetə açıq serverə yerləşdirməzdən əvvəl, yenə də sizin məsuliyyətinizdədir.
Son Bir Düşüncə
FACT-ı hazırlamağa başlamağımın səbəbi insanların bəzən heç bir mənbə göstərmədən irəli sürdükləri iddiaları həqiqət kimi təqdim etmələrindən narahat olmağım idi.
Amma layihə üzərində işlədikcə başqa bir məsələni də anladım.
Əsas problem təkcə yanlış məlumat deyil.
Nəyə və nə üçün güvəndiyimizdir.
Peşəkar hazırlanmış video özlüyündə sübut deyil.
Özündən əmin danışan insan özlüyündə sübut deyil.
Süni intellektin olduqca səlis cümlələrlə hazırladığı açıqlama da özlüyündə sübut deyil.
Bunların hamısı araşdırmağa dəyər mövzuya işarə edə bilər.
Amma araşdırmanın yerini tuta bilməz.
FACT ilə etmək istədiyim də məhz budur.
İnsanlara nə düşünməli olduqlarını söyləmək deyil.
Sadəcə bir sualı verməyi bir az da asanlaşdırmaq:
“Yaxşı, bəs əlimizdəki sübutlar əslində nə deyir?”
Çünki bəzən düzgün sualı vermək, tez cavab almaqdan daha dəyərlidir.
Layihəni araşdırmaq istəyənlər üçün:
GitHub: https://github.com/alesmcgregor/fact
Canlı tətbiq: https://dr.ales.work
FACT inkişaf etdirilməyə davam edən açıq mənbəli layihədir. Aktual quraşdırma təlimatları, dəstəklənən inteqrasiyalar və texniki məhdudiyyətlər üçün GitHub repozitoriyasını nəzərdən keçirə bilərsiniz.
← KOD