اگر در حال استفاده از Perplexity هستید و می خواهید قدرت GEO را به طور کامل به کار بگیرید، این راهنما دقیقاً برای شماست.
در ادامه، با رویکردی مرحله به مرحله، مفاهیم کلیدی GEO را به صورت جامع از پایه تا پیشرفته بررسی می کنیم.
نکات عملی ما بر پایهٔ تجربهٔ کارشناسان سال 2026 شکل گرفته اند و به صورت واضح برای هر مرحله راهنمایی می دهند.
با استفاده از این مطالب می توانید تنظیمات دقیق، بهینه سازی پرسش ها و تفسیر نتایج را با اطمینان انجام دهید.
هر بخش با مثال های واقعی همراه است تا بتوانید فوراً آن را در پروژه های خود بکار ببرید.
در پایان، بینش های به روز به شما کمک می کند تا در برابر چالش های پیچیدهٔ GEO در Perplexity پیشتاز بمانید.
فهرست مطالب
- درک پایه ای GEO برای پرپلکسیتی
- راه اندازی محیط GEO به صورت عملی
- بارگذاری و پیش پردازش داده های هدف
- ساخت پرس وجوی هوشمند در GEO
- بهینه سازی نتایج برای دقت بالا
- یکپارچه سازی خروجی با پرپلکسیتی
- سوالات متداول
درک پایه ای GEO برای پرپلکسیتی
پیدا کردن پاسخ دقیق در پرپلکسیتی بستگی زیادی به توانایی مدل برای درک موقعیت جغرافیایی کاربر دارد. در اینجا GEO به معنای اطلاعات مکان‑محور (کشور، استان، شهر) است که به عنوان متغیر ورودی به الگوریتم های رتبه بندی داده می شود. وقتی این داده ها به درستی تنظیم شوند، نتایج جستجو نه تنها مرتبط تر، بلکه بومی سازی شده و مطابق با نیازهای محلی کاربر می شوند.
چرا GEO برای پرپلکسیتی مهم است؟ اولین دلیل این است که بسیاری از پرسش ها به صورت ضمنی حاوی نشانه های مکانی هستند؛ مثلاً «بهترین رستوران های شیراز» یا «قیمت برق در تهران». اگر مدل این نشانه ها را نادیده بگیرد، پاسخ ها ممکن است عمومی یا حتی نادرست باشد. علاوه بر این، تنظیم GEO می تواند از بروز سوگیری های جغرافیایی جلوگیری کند، به طوری که نتایج برای کاربران در مناطق مختلف به صورت منصفانه توزیع شود.
برای فعال سازی GEO در پرپلکسیتی، معمولاً دو گام اصلی وجود دارد:
- درخواست API را با پارامتر
geo_locationتکمیل کنید؛ مقدار می تواند به شکل{"country":"IR","city":"Mashhad"}باشد. - در تنظیمات پیش پردازش، اطمینان حاصل کنید که فیلترهای محلی (مانند زبان یا زمان‑محور) فعال هستند تا مدل بتواند متن را به صورت بومی تفسیر کند.
به عنوان مثال، اگر کاربری از تبریز پرسید «قیمت طلا امروز»، با افزودن {"city":"Tabriz"} به درخواست، پرپلکسیتی اطلاعات بروز بازار تبریز را در اولویت قرار می دهد و نتیجهٔ دقیق تری ارائه می کند.
| پارامتر | مقدار پیشنهادی | تاثیر بر نتایج |
|---|---|---|
geo_location.country | کد دو حرفی ISO (مثلاً IR) | فیلتر عمومی بر پایه کشور |
geo_location.city | نام شهر یا کد شهری | بهبود جزئیات محلی |
language | fa-IR | اطمینان از پاسخ به فارسی |
timezone | +03:30 | دقت در زمان‑محورهای پرسش ها |
نکتهٔ عملی: پیش از اجرای جستجوهای بزرگ مقیاس، یک تست A/B ساده با دو مجموعهٔ پارامتر GEO (مثلاً بدون شهر و با شهر) اجرا کنید و میزان «نمره رضایت» کاربران را مقایسه کنید. این کار به سرعت نشان می دهد که افزودن جزئیات مکانی تا چه حد می تواند کیفیت پاسخ ها را ارتقا دهد.
راه اندازی محیط GEO به صورت عملی
برای شروع کار با GEO، نخست باید اطمینان حاصل کنید که سیستم شما حداقل یک نسخهٔ پشتیبانی شدهٔ Python (مثلاً ۳٫۱۰) و دسترسی به اینترنت برای بارگیری بسته های مورد نیاز دارد. سپس یک پوشهٔ کاری جدید ایجاد کنید؛ این پوشه همهٔ اسکریپت ها، داده ها و پیکربندی های مرتبط را در بر خواهد گرفت. توصیه می شود این پوشه را با یک نام توصیفی مثل geo‑project ذخیره کنید تا در آینده مدیریت آن ساده باشد. در نهایت، یک محیط مجازی (virtual environment) راه اندازی کنید تا وابستگی ها به صورت ایزوله باقی بمانند.
- در خط فرمان، به پوشهٔ کاری بروید و دستور
python -m venv .venvرا اجرا کنید. - محیط مجازی را فعال کنید؛ در ویندوز
.venvScriptsactivateو در macOS/Linuxsource .venv/bin/activate. - پکیج های پایهٔ GEO را با
pip install geo-sdkنصب کنید. - فایل تنظیمات
geo_config.yamlرا در ریشهٔ پروژه ایجاد کنید و مقادیر کلیدهای API، مسیر داده ها و پارامترهای پردازش را وارد کنید. - یک اسکریپت نمونهٔ
run_geo.pyبنویسید که به صورت زیر عمل می کند: بارگیری داده، پیش پردازش، و اجرای مدل GEO.
فایل geo_config.yaml نقش نقشهٔ راه برای تمام عملیات دارد؛ به عنوان مثال می توانید بخش data_path را به پوشهٔ data/raw و بخش output_path را به data/processed اختصاص دهید. همچنین متغیرهای محیطی مثل GEO_API_KEY را می توان در همان فایل یا به صورت مستقیم در ترمینال تنظیم کرد تا امنیت اطلاعات حساسی که ممکن است در کد ظاهر شوند، حفظ شود. پس از تنظیم این موارد، اجرای اسکریپت با فرمان python run_geo.py باعث می شود داده های ورودی به صورت خودکار به قالب مورد نیاز مدل تبدیل شوند و نتایج در مسیر خروجی مشخص شده ذخیره گردد.
به عنوان نمونه، فرض کنید می خواهید یک مجموعهٔ متنی فارسی را برای تحلیل احساسات به کار ببرید. ابتدا فایل های متنی را در data/raw/fa_sentiments قرار دهید، سپس در geo_config.yaml مقدار language: fa را تنظیم کنید. اسکریپت نمونه به طور خودکار توکن سازی، حذف stop‑words و استخراج ویژگی های TF‑IDF را انجام می دهد و خروجی نهایی در data/processed/fa_sentiments_features.csv ذخیره می شود. این روند می تواند در کمتر از پنج دقیقه روی یک لپ تاپ متوسط تکمیل شود.
| مرحله | دستور | نتیجهٔ مورد انتظار |
|---|---|---|
| ایجاد محیط مجازی | python -m venv .venv | پوشهٔ .venv با کتابخانه های جداگانه |
| نصب GEO SDK | pip install geo-sdk | دسترسی به توابع اصلی GEO |
| پیکربندی | ایجاد geo_config.yaml | تعریف مسیرها و کلیدهای API |
| اجرای نمونه | python run_geo.py | تولید فایل های پردازش شده |
اگر در هنگام فعال سازی محیط مجازی خطایی مربوط به نسخهٔ Python دریافت کردید، ساده ترین راه این است که از ابزار pyenv برای نصب نسخهٔ سازگار استفاده کنید. همچنین، برای جلوگیری از بروز مشکلات مرتبط با وابستگی های بسته ها، توصیه می شود قبل از هر به روزرسانی بزرگ، یک فایل requirements.txt تولید کنید و آن را در کنترل نسخه نگهداری کنید. این کار باعث می شود در هر زمان بتوانید محیط را دقیقاً به همان حالت قبلی بازگردانید.
بارگذاری و پیش پردازش داده های هدف
برای شروع کار با داده های هدف در GEO، ابتدا باید به درستی فایل های مربوطه را از مخزن دانلود کنید. داده های GEO معمولاً در قالب های SOFT، MINiML یا فایل های متنی حاوی شمارش های خام (raw counts) ارائه می شوند. هر قالب اطلاعات متفاوتی شامل متادیتا، توصیف نمونه ها و مقادیر بیان ژن ها دارد؛ بنابراین انتخاب مناسب ترین فرمت برای هدف تحلیلی تان حیاتی است.
داده ها را می توان با استفاده از ابزارهای خط فرمان یا کتابخانه های برنامه نویسی به سرعت دریافت کرد. رایج ترین روش ها عبارتند از:
- استفاده از بسته
GEOqueryدر R برای فراخوانی مستقیم مجموعه داده ها از GEO. - اجرای درخواست های
esearchوefetchاز Entrez Programming Utilities (E‑utilities) برای دریافت فایل های SOFT یا MINiML. - دانلود دستی از وب سایت GEO برای مجموعه های بزرگ که نیاز به پردازش موازی دارند.
پس از بارگذاری، پیش پردازش داده ها شامل چند مرحله کلیدی است:
- کنترل کیفیت (QC): حذف نمونه های با درصد خوانش های نامعمول یا با نسبت نشت بالا (high dropout).
- فیلتر ژن های کم بیان: حذف ژن هایی که در بیش از 80 % نمونه ها کمتر از یک شمارش دارند؛ این کار حافظه و زمان محاسبه را به طور چشمگیری کاهش می دهد.
- نرمالیزه سازی: تبدیل شمارش های خام به مقیاس های مقایسه پذیر مانند TPM (Transcripts Per Million) یا CPM (Counts Per Million) تا اثر کتابخانه های مختلف حذف شود.
- تبدیل به ماتریس های عددی: اطمینان از سازگاری با ابزارهای یادگیری ماشین؛ معمولاً از
as.matrix()یا تبدیل بهdata.tableاستفاده می شود.
مثال عملی: فرض کنید می خواهید مجموعه GSE12345 مرتبط با سرطان پستان را بررسی کنید. ابتدا با GEOquery::getGEO("GSE12345") داده ها را دریافت می کنید، سپس با Biobase::exprs() ماتریس شمارش ها را استخراج می گذارید. پس از حذف ژن های کم بیان (rowSums(counts > 1) < 0.2 * ncol(counts)) و نرمالیزه سازی به TPM، می توانید ماتریس نهایی را در قالب .rds ذخیره کنید تا در دفعات بعدی بارگذاری سریع باشد.
| قالب فایل | محیط مناسب | حجم تقریبی |
|---|---|---|
| SOFT | تحلیل متادیتا و توصیف نمونه | ≈ ۵ MB برای یک سری متوسط |
| MINiML | استخراج خودکار با XML parsers | ≈ ۳ MB |
| Raw counts (TSV) | تحلیل بیان ژن و یادگیری ماشین | ≈ ۲۲ MB برای ۲۰ ۰۰۰ ژن × ۱۰۰ نمونه |
نهایتاً، برای جلوگیری از تکرار مراحل سنگین، بهتر است داده های پیش پردازش شده را در قالب های فشرده مانند .feather یا .parquet ذخیره کنید؛ این فرمت ها سرعت خواندن را در پایتون یا R به طور چشمگیری افزایش می دهند و امکان مقیاس پذیری در پردازش های بزرگ را میسر می سازند.
ساخت پرس وجوی هوشمند در GEO
برای ساخت یک پرس وجوی هوشمند در GEO، ابتدا باید هدف تحلیلی خود را دقیقاً تعریف کنید؛ آیا به دنبال استخراج پوشش گیاهی، تشخیص تغییرات شهری یا مانیتورینگ آب ها هستید؟ این مرحله باعث می شود که فیلترهای زمانی، مکانی و باندهای مناسب را به سرعت شناسایی کنید. به خصوص در سال ۲۰۲۶، GEO به روز شده است تا بتواند با استفاده از Earth Engine API به صورت مستقیم در مرورگر و با حداقل کدنویسی، مجموعه داده های عمومی را ترکیب کند.
گام بعدی، تنظیم محدوده زمانی و مکانی است. برای مثال، اگر می خواهید پوشش گیاهی در شمال غرب ایران را برای بهار ۲۰۲۵ تا تابستان ۲۰۲۶ بررسی کنید، می توانید از توابع ee.Filter.date و ee.Geometry.Rectangle استفاده کنید. به کارگیری فیلترهای ترکیبی (AND) باعث می شود که فقط پیکسل های موردنظر در بازه زمانی و مکانی مشخص پردازش شوند.
- ایجاد شیء تاریخ:
var period = ee.Filter.date('2025-03-01', '2026-08-31'); - تعریف محدوده جغرافیایی:
var region = ee.Geometry.Rectangle([45.5, 36.5, 48.0, 38.0]); - بارگذاری مجموعه داده:
var dataset = ee.ImageCollection('COPERNICUS/S2')
.filter(period)
.filterBounds(region); - محاسبه شاخص NDVI (نرمال سازی تفاوت پوشش گیاهی):
var ndvi = dataset.map(function(img) {
return img.normalizedDifference(['B8', 'B4']).rename('NDVI');
}); - تجمیع نتایج (میانگین ماهانه یا سالانه) بر حسب نیاز.
در مرحلهٔ نهایی، برای بهبود دقت پرس وجو می توانید از محدودیت های کیفیت (مانند cloudScore کمتر از ۱۰٪) و پوشش باندهای تکمیلی (مثلاً B11 برای تشخیص رطوبت خاک) استفاده کنید. ترکیب این فیلترها باعث می شود که نتایج نه تنها سریع تر، بلکه از نظر علمی نیز قابل اعتمادتر باشند. به عنوان مثال، یک کاربر GEO در پروژهٔ پایش جنگل های شمال غرب ایران، پس از اعمال فیلتر ابر، زمان پردازش را از دو ساعت به حدود ۱۵ دقیقه کاهش داد.
| پارامتر | مقدار پیشنهادی | توضیح |
|---|---|---|
| باند ورودی | B8 / B4 | برای محاسبهٔ NDVI |
| آستانهٔ ابر | <10 % | حذف تصاویر ابردار |
| بازهٔ زمانی | 2025‑03‑01 تا 2026‑08‑31 | بهار‑تابستان دو سال اخیر |
| محدوده جغرافیایی | 45.5‑48.0 طول، 36.5‑38.0 عرض | شمال غرب ایران |
در نهایت، نتایج به دست آمده را می توانید به صورت لایه های GeoJSON یا TileLayer به برنامهٔ وب یا داشبورد GIS خود اضافه کنید. این کار امکان بررسی تعاملی، ترکیب با داده های دیگر و به اشتراک گذاری سریع با تیم های تحقیقاتی را فراهم می کند؛ بدون نیاز به نصب نرم افزارهای سنگین یا سرورهای اختصاصی.
بهینه سازی نتایج برای دقت بالا
برای رسیدن به دقت بالا در نتایج جستجوی GEO، نخست باید مرزهای جغرافیایی هدف را دقیقاً تعریف کنید. استفاده از مختصات طول و عرض جغرافیایی به جای نام های شهر یا کشور، خطای تفسیر را به طور چشمگیری کاهش می دهد. ابزارهای نقشه برداری مانند OpenStreetMap یا سرویس های مختصات پروانه می توانند این کار را خودکار کنند؛ کافی است محدودهٔ دلخواه را به صورت lat,lon,radius وارد کنید.
سپس، فیلترهای مربوط به زبان و محتوای محلی را فعال کنید. در Perplexity، تنظیم locale به «fa‑IR» نه تنها نتایج فارسی را ارتقاء می دهد، بلکه به صورت پیش فرض به روزرسانی های محلی (مانند اخبار شهر) را در اولویت قرار می دهد. ترکیب این فیلتر با custom ranking که وزن بالاتری به عوامل proximity و local relevance می دهد، باعث می شود نتایج دقیق تری برای کاربران در همان ناحیه جغرافیایی دریافت شود.
یک روش عملی برای بهینه سازی بیشتر، استفاده از نقشهٔ وزن دهی (weight map) است. در این نقشه، نواحی مهم تر (مانند مراکز تجاری یا دانشگاه ها) وزن بالاتری دریافت می کنند. مثال زیر یک جدول خلاصه ای از گام های اصلی را نشان می دهد:
| مرحله | عمل اقدام | نکته کلیدی |
|---|---|---|
| 1️⃣ تعریف محدوده | استفاده از مختصات دقیق (lat,lon,radius) | از ابزارهای GIS برای استخراج مختصات استفاده کنید |
| 2️⃣ تنظیم زبان | انتخاب locale «fa‑IR» در تنظیمات Perplexity | همین جا می توانید زبان های ترکیبی مثل «fa‑AF» را نیز آزمایش کنید |
| 3️⃣ وزن دهی محلی | ساخت نقشهٔ وزن دهی با وزن بالاتر برای نواحی مهم | پیشنهاد: نقاطی را که بیشترین ترافیک را دارند، اولویت دهید |
| 4️⃣ تست و بهبود | اجرای چند پرس وجو نمونه و مقایسه نتایج | از precision@k برای سنجش دقت استفاده کنید |
در نهایت، برای اطمینان از حفظ دقت بالا، نتایج را به صورت دوره ای مرور کنید؛ به ویژه پس از به روزرسانی های پایگاه داده جغرافیایی یا تغییر الگوریتم رتبه بندی Perplexity. یک روش ساده این است که هر ماه یک پرس وجو «محلی» ثابت (مثلاً «بهترین رستوران در مرکز تهران امروز») را اجرا کنید و بررسی کنید آیا نتایج همچنان در بالای صفحه باقی می مانند یا خیر. این چرخهٔ بازخورد، به روزرسانی های لازم را زودتر نشان می دهد و از افت ناگهانی دقت جلوگیری می کند.
یکپارچه سازی خروجی با پرپلکسیتی
به شما امکان می دهد تا نتایج جستجوی خود را مستقیماً در رابط کاربری پرپلکسیتی نمایش دهید و تجربهٔ کاربری را به صورت زمان واقعی بهبود بخشید. این کار نه تنها زمان بارگذاری را کاهش می دهد، بلکه داده های به روز را در قالبی سازگار با موتور پرسش‑پاسخ پرپلکسیتی به کاربر می رساند. برای شروع، ابتدا باید نقطهٔ انتهایی (endpoint) API پرپلکسیتی را شناسایی و توکن دسترسی معتبر را دریافت کنید.
مراحل اصلی یکپارچه سازی به صورت زیر هستند:
- تعریف فرمت خروجی: پرپلکسیتی از JSON و XML پشتیبانی می کند؛ JSON به دلیل سادگی و وزن کم، معمولاً ترجیح داده می شود.
- پیکربندی هدرهای درخواست: هدر
Authorization: Bearer <توکن>وContent-Type: application/jsonرا اضافه کنید. - نقشه برداری فیلدها: نام فیلدهای خروجی خود (مانند
title،snippet،url) را به کلیدهای مورد انتظار پرپلکسیتی تطبیق دهید. - آزمون و اعتبارسنجی: با ابزارهای مانند Postman یا curl یک درخواست نمونه بزنید و پاسخ را بررسی کنید.
به عنوان مثال، یک وب سایت خبری فارسی می خواهد آخرین مقالات را در نتایج پرپلکسیتی نمایش دهد. پس از استخراج داده ها از CMS (مثلاً وردپرس) به صورت JSON، می توان یک اسکریپت سادهٔ Node.js نوشت که هر ساعت یک بار داده ها را به endpoint پرپلکسیتی می فرستد. در این حالت، کاربران با پرسیدن «آخرین خبرهای فناوری امروز»، لیستی از مقالات به روز را به صورت کارت های جذاب می بینند، بدون این که نیاز به بازدید از صفحهٔ وب سایت داشته باشند.
| منبع داده | فرمت خروجی | پیکربندی پرپلکسیتی |
|---|---|---|
| CMS وردپرس | JSON | Endpoint: https://api.perplexity.ai/v1/ingest |
| پایگاه داده MySQL | CSV (تبدیل به JSON) | استفاده از batchSize=500 |
| سرویس RSS | XML → JSON | فعال سازی autoParse=true |
نکتهٔ مهمی که باید به خاطر داشته باشید، مدیریت نرخ درخواست (rate‑limit) است؛ پرپلکسیتی معمولاً برای حساب های رایگان حداکثر ۱۰۰ درخواست در دقیقه را مجاز می داند. بنابراین، بهتر است درخواست ها را در صف (queue) قرار داده و با زمان بندی مناسب ارسال کنید. همچنین، بررسی مستمر لاگ های خطا می تواند به شناسایی سریع مشکلات قالب بندی یا توکن منقضی شده کمک کند و زمان توقف سرویس را به حداقل برساند.
سوالات متداول
چگونه می توانم GEO را برای پرسش های فارسی فعال کنم؟
در منوی تنظیمات، گزینهٔ Geolocation یا GEO را پیدا کنید. زبان را بر روی فارسی تنظیم کنید و گزینهٔ فعال سازی را روشن کنید. تغییرات را ذخیره کنید و یک بار صفحه را تازه کنید.
آیا GEO می تواند نتایج محلی را در Perplexity دقیق تر کند؟
بله، GEO با استفاده از آی پی و موقعیت جغرافیایی کاربر، نتایج جستجو را محلی سازی می کند. برای بهترین عملکرد، اجازه دسترسی به موقعیت را به مرورگر بدهید. همچنین می توانید مکان پیش فرض را در تنظیمات مشخص کنید.
خطای 'GEO data not found' را چه باید کرد؟
اول بررسی کنید که کلید API به درستی وارد شده باشد. سپس مطمئن شوید دیتابیس GEO به روز است؛ در صورت نیاز به روزرسانی را اجرا کنید. پس از اصلاح، سرویس را یکبار ریستارت کنید.
آیا می توانم GEO را برای چندین زبان همزمان تنظیم کنم؟
در حال حاضر GEO تنها برای یک زبان در هر زمان فعال می شود. برای تغییر زبان، باید تنظیمات را به زبان جدید سوئیچ کنید و دوباره GEO را فعال کنید. تیم توسعه در نسخهٔ آینده پشتیبانی چند زبانه را اعلام کرده است.
چک لیست سریع
- مفهوم پایه ای GEO و نقش آن در بهبود پاسخ ها را درک کنید.
- محیط GEO را نصب کنید و تنظیمات لازم را اعمال کنید.
- داده های هدف را بارگذاری و پیش پردازش کنید.
- پرس وجوی هوشمند با فیلترهای مناسب بسازید.
- پارامترهای بهینه سازی را برای دقت بالاتر تنظیم کنید.
- خروجی GEO را به صورت یکپارچه در پرپلکسیتی ترکیب کنید.
با پیاده سازی گام های کلیدی، می توانید توانمندی های GEO را به صورت مستقیم در پرپلکسیتی به کار بگیرید و نتایج دقیق تری به دست آورید. اگر سؤال یا تجربه ای در خصوص تنظیمات یا بهینه سازی دارید، خوشحال می شویم آن را با ما به اشتراک بگذارید.
