1xAi
تحلیل با هوش مصنوعی ۲۰۲۶: راهنمای API بدون VPN از ایران
روزنامه‌نگاری۱۱ دقیقه مطالعه

تحلیل با هوش مصنوعی ۲۰۲۶: راهنمای API بدون VPN از ایران

برای تحلیل نظرات مشتری با هوش مصنوعی، هر نظر را از طریق API به مدل زبانی بدهید و خروجی را به‌صورت JSON ساختاریافته (حس، موضوع و شدت) بگیرید.

BY·منتشر: ۲۰۲۶/۱۰/۱۰ ۰۹:۳۹·بروزرسانی: ۲۰۲۶/۱۰/۱۰ ۰۹:۳۹·
تحلیلباهوشمصنوعی

تیمِ فنیِ 1xAi گیت‌وی را می‌سازد و می‌گرداند — همان‌هایی که هر روز با APIهای OpenAI، Anthropic، Google و DeepSeek از داخلِ ایران کار می‌کنند. آنچه اینجا می‌خوانی از همان کارِ روزمره درآمده، نه از بازنویسیِ مستنداتِ انگلیسی.

در این مقالهCONTENTS

۲۳

برای تحلیل نظرات مشتری با هوش مصنوعی، هر نظر را از طریق API به مدل زبانی بدهید و خروجی را به‌صورت JSON ساختاریافته (حس، موضوع و شدت) بگیرید. سپس این خروجی را در دیتابیس یا داشبورد خودتان ذخیره کنید تا شمارش، فیلتر و رصد روند ممکن شود. از ایران هم می‌توانید با SDK استاندارد OpenAI و بدون VPN یا کارت خارجی از طریق 1xAi به مدل‌هایی مثل GPT-4o و Claude وصل شوید. محدودیت اصلی این است که دقت تشخیص حس در فارسی و هزینه هر ۱۰۰۰ نظر را باید روی نمونه‌ای از نظرات واقعی خودتان بسنجید، نه روی ادعای عمومی.

۱. تحلیل نظرات مشتری با هوش مصنوعی دقیقاً چه خروجی‌ای می‌دهد؟

خروجی برای هر نظر سه چیز است: برچسب احساس، موضوع و یک جمله کلیدی، به شرطی که هر سه در دستور (پرامپت) صریح خواسته شده باشند. هوش مصنوعی در این کار یک مدل زبانی است که متن را می‌خواند و طبق دستوری که شما نوشته‌اید برچسب و خلاصه برمی‌گرداند. فیلدی که در دستور نیامده باشد، در خروجی هم تضمین نمی‌شود.

تیم محصول معمولاً این فیلدها را می‌خواهد:

  • برچسب احساس: مثبت، منفی، خنثی یا ترکیبی (مثلاً «بسته‌بندی عالی بود ولی دیر رسید»).
  • موضوع نظر: ارسال، کیفیت، پشتیبانی یا قیمت.
  • جمله کلیدی: عین جمله‌ای از نظر مشتری که می‌شود در گزارش به آن ارجاع داد. مدل ممکن است جمله را بازنویسی کند، پس پیش از ارجاع در گزارش، حضور آن در متن اصلی نظر را بررسی کنید.

نمونه خروجی هدف برای یک نظر:

{
  "sentiment": "mixed",
  "topics": ["shipping", "quality"],
  "key_quote": "کیفیتش عالی بود ولی دیر رسید"
}

فرق این روش با آپلود فایل در چت

راهنمای OpenAI برای تحلیل داده در ChatGPT تحلیل دستی را توصیف می‌کند: فایل را بارگذاری می‌کنید، جدول تعاملی می‌بینید و با فرمان‌هایی مثل «تحلیل کن» نتیجه می‌گیرید. این برای بررسی یک فایل خوب است.

API برای وقتی است که نظرات مدام وارد می‌شوند. همان دستور را خودکار روی هزاران نظر اجرا می‌کنید و نتیجه را در سایت یا اپ خودتان می‌نشانید. ما در 1xAi این مسیر را با یک کلید و base URL به نشانی https://1xai.ir/v1 فراهم کرده‌ایم؛ مدل‌های قابل استفاده در صفحه مدل‌ها فهرست شده‌اند.

خروجی باید ساختاریافته باشد تا بشود شمرد، فیلتر کرد و روند ساخت.

۲. چطور بدون VPN و کارت خارجی اولین تحلیلگر نظرات را با API بسازیم؟

یک کلید 1xai-… و آدرس https://1xai.ir/v1 در SDK رسمی OpenAI کافی است. این تنظیم با هر کتابخانه سازگار با OpenAI کار می‌کند و به VPN یا کارت خارجی نیازی ندارد. ما در 1xAi این درگاه را اداره می‌کنیم. شارژ پیش‌پرداخت و تومانی است، با زرین‌پال انجام می‌شود و حداقل مبلغ آن ۱٬۰۰۰ تومان است. اگر دنبال api هوش مصنوعی رایگان می‌گردید، چرخ هدیه 1xai.ir/free برای هر حساب یک بار اعتبار کیف پول می‌دهد.

Python با SDK رسمی OpenAI

ابتدا pip install openai را اجرا کنید و کلید را در متغیر محیطی ONEXAI_API_KEY بگذارید. پرامپت سیستم باید خود کلمه JSON را داشته باشد، چون response_format همین را می‌خواهد.

import json
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["ONEXAI_API_KEY"],
    base_url="https://1xai.ir/v1",
)

SYSTEM = (
    "You are a customer review analyst. Reply only with a JSON object "
    "with keys: sentiment (positive, negative or neutral), "
    "topic (a short Persian phrase), urgent (true or false)."
)

reviews = [
    "ارسال خیلی سریع بود و بسته‌بندی عالی بود.",
    "دو هفته گذشته و هنوز پولم برگشت داده نشده، پشتیبانی جواب نمی‌دهد!",
    "کیفیت معمولی است، نه بد نه خوب.",
]

for text in reviews:
    resp = client.chat.completions.create(
        model="gpt-4o",
        response_format={"type": "json_object"},
        messages=[
            {"role": "system", "content": SYSTEM},
            {"role": "user", "content": text},
        ],
    )
    result = json.loads(resp.choices[0].message.content)
    print(text, "->", result)

نمونه خروجی (برچسب‌ها و عبارت موضوع در هر اجرا ممکن است کمی فرق کند):

ارسال خیلی سریع بود و بسته‌بندی عالی بود. -> {'sentiment': 'positive', 'topic': 'ارسال و بسته‌بندی', 'urgent': False}
دو هفته گذشته و هنوز پولم برگشت داده نشده، پشتیبانی جواب نمی‌دهد! -> {'sentiment': 'negative', 'topic': 'بازگشت وجه', 'urgent': True}
کیفیت معمولی است، نه بد نه خوب. -> {'sentiment': 'neutral', 'topic': 'کیفیت محصول', 'urgent': False}

Node.js

بعد از npm install openai، فایل را با پسوند .mjs ذخیره کنید تا import و await سطح بالا کار کنند.

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.ONEXAI_API_KEY,
  baseURL: "https://1xai.ir/v1",
});

const resp = await client.chat.completions.create({
  model: "gpt-4o",
  response_format: { type: "json_object" },
  messages: [
    {
      role: "system",
      content:
        "Reply only with a JSON object with keys: sentiment, topic, urgent.",
    },
    { role: "user", content: "پشتیبانی دیر جواب می‌دهد ولی محصول خوب بود." },
  ],
});

console.log(JSON.parse(resp.choices[0].message.content));

مسیر Claude

SDK رسمی Anthropic روی اندپوینت‌های اختصاصی ما بدون تغییر کار می‌کند. فقط base_url را روی https://1xai.ir/anthropic بگذارید؛ احراز هویت با هدر x-api-key انجام می‌شود و SDK خودش آن را می‌فرستد.

import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["ONEXAI_API_KEY"],
    base_url="https://1xai.ir/anthropic",
)

msg = client.messages.create(
    model="claude-haiku-4-5",
    max_tokens=200,
    system="Reply only with a JSON object with keys: sentiment, topic, urgent.",
    messages=[{"role": "user", "content": "ارسال دیر شد ولی کیفیت عالی بود."}],
)
print(msg.content[0].text)

مدل‌های نسل ۵ Claude (claude-sonnet-5، claude-fable-5، claude-opus-5) پارامترهای temperature و top_p و prefill پیام دستیار را رد می‌کنند. به همین دلیل کد بالا هیچ‌کدام را ندارد و قالب JSON را فقط با دستور سیستم می‌گیرد. اگر مدل را عوض کردید، نام دقیق آن را از 1xai.ir/models بردارید. قیمت هر مدل، مثلاً ورودی gpt-4o با ۸۰۱٬۰۰۰ تومان به ازای هر ۱ میلیون توکن، همان‌جا و در صفحه قیمت‌ها هر روز به‌روز می‌شود.

۳. چطور در تحلیل نظرات فارسی، تعریف و شکایت را دقیق جدا کنیم؟

پرامپتی که خروجی مشخص و چند مثال فارسی واقعی دارد، معمولاً بهتر از پرسش کلی «حس این نظر چیست؟» عمل می‌کند. این یک توصیه عمومی است و نتیجه آزمون ما نیست.

موارد خاص فارسی که در مثال‌ها بیاورید

  • محاوره و فینگلیش: «خیلی خفنه» و «kheyli khoob bood» هر دو تعریف‌اند. حداقل یک مثال فینگلیش در پرامپت بگذارید.
  • کنایه: «عالی بود، فقط سه هفته طول کشید!» ظاهری مثبت و معنایی شاکی دارد.
  • نظر ترکیبی: «کیفیت عالی، ارسال افتضاح» باید به دو جنبه با حس جدا شکسته شود.
  • نیم‌فاصله و ایموجی: «نمی‌خوام» و «نمیخوام» را پیش از ارسال یکدست کنید. ایموجی را حذف نکنید، چون 😍 و 🙄 حس را برعکس می‌کنند.

طرح خروجی

is_complaint را از sentiment جدا نگه دارید، چون پرسش خنثی یا نظر تند بدون درخواست رفع مشکل، لزوماً شکایت نیست.

{
  "sentiment": "mixed",
  "aspects": [
    {"name": "کیفیت", "sentiment": "positive"},
    {"name": "ارسال", "sentiment": "negative"}
  ],
  "is_complaint": true,
  "urgency": "low",
  "quote": "ارسال افتضاح"
}

اجرای آن روی اندپوینت سازگار با OpenAI در 1xAi:

import json
from openai import OpenAI

client = OpenAI(api_key="1xai-YOUR_KEY", base_url="https://1xai.ir/v1")

SYSTEM = """نظر مشتری فارسی را تحلیل کن و فقط JSON با کلیدهای
sentiment (positive|negative|neutral|mixed)، aspects (آرایه‌ای از name و sentiment)،
is_complaint (true|false)، urgency (low|medium|high) و quote (عین عبارت نظر) برگردان.
مثال: «کیفیت عالی، ارسال افتضاح» ->
{"sentiment":"mixed","aspects":[{"name":"کیفیت","sentiment":"positive"},
{"name":"ارسال","sentiment":"negative"}],"is_complaint":true,"urgency":"low","quote":"ارسال افتضاح"}
مثال کنایه: «عالی بود، فقط سه هفته طول کشید!» -> is_complaint=true."""

resp = client.chat.completions.create(
    model="gpt-4o",
    temperature=0,
    response_format={"type": "json_object"},
    messages=[
        {"role": "system", "content": SYSTEM},
        {"role": "user", "content": "kheyli khoob bood ولی بسته‌بندی داغون 😡"},
    ],
)
print(json.loads(resp.choices[0].message.content))

ارزیابی روی داده خودتان

۱۰۰ تا ۲۰۰ نظر واقعی کسب‌وکارتان را دستی برچسب بزنید. همان نمونه را با دو مدل از فهرست مدل‌ها اجرا کنید و برای is_complaint و sentiment ماتریس اشتباهات هر دو را کنار هم بگذارید. خانه‌هایی که شکایت را تعریف تشخیص داده‌اند، معمولاً گران‌ترین خطاها هستند.

«بهترین مدل» را نمونه برچسب‌خورده خودتان تعیین می‌کند، نه جدول مقایسه‌ای بیرونی.

۴. هزینه تحلیل ۱۰۰۰ نظر با GPT-4o و Claude چقدر می‌شود؟

هزینه برابر است با قیمت لیست رسمی ارائه‌دهنده به‌علاوه مارک‌آپ ثابت ۲۰٪، ضرب در توکن‌هایی که نظرهای شما واقعاً مصرف می‌کنند. دلار هر روز ساعت ۹ صبح تهران با نرخ بازار همگام می‌شود، برای همین مبلغ ثابتی نمی‌نویسیم.

فرمول

هزینه = (تعداد نظر × میانگین توکن ورودی × قیمت ورودی
       + تعداد نظر × میانگین توکن خروجی × قیمت خروجی) ÷ 1,000,000

عدد توکن را حدس نزنید؛ میانگین را از فیلد usage روی ۵۰ نظر نمونه بخوانید. این اسکریپت هر دو میانگین را برمی‌گرداند و اگر فایل خالی باشد، پیش از تقسیم متوقف می‌شود:

from openai import OpenAI

client = OpenAI(api_key="1xai-...", base_url="https://1xai.ir/v1")
SYSTEM = "نظر کاربر را تحلیل کن و فقط یک JSON با کلیدهای sentiment و topic برگردان."

with open("reviews.txt", encoding="utf-8") as f:
    reviews = [line for line in f.read().splitlines() if line.strip()][:50]

if not reviews:
    raise SystemExit("فایل reviews.txt خالی است؛ حداقل یک نظر در آن بنویسید.")

tin = tout = 0
for text in reviews:
    r = client.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "system", "content": SYSTEM},
                  {"role": "user", "content": text}],
    )
    tin += r.usage.prompt_tokens
    tout += r.usage.completion_tokens

print("avg in:", tin / len(reviews), "avg out:", tout / len(reviews))

قیمت هر یک میلیون توکن

مدل ورودی هر ۱M خروجی هر ۱M
gpt-4o ۸۰۱٬۰۰۰ تومان ۳٬۲۰۴٬۰۰۰ تومان
claude-3-5-haiku ۳۲۰٬۴۰۰ تومان ۱٬۶۰۲٬۰۰۰ تومان

این‌ها قیمت لیست رسمی به‌علاوه مارک‌آپ ۲۰٪ ما هستند و با نرخ روز دلار به‌روز می‌شوند. شارژ کیف پول ۱۰٪ مالیات ارزش افزوده دارد (vat_pct=10). فهرست کامل در صفحه قیمت‌ها است.

کش پرامپت

دستورالعمل ثابت (همان SYSTEM بالا) در هر ۱۰۰۰ درخواست تکرار می‌شود و فقط متن نظر عوض می‌شود. اگر کش پرامپت برای این پیشوند مشترک رخ دهد، آن بخش با نرخ ورودی کش‌شده حساب می‌شود. برای gpt-4o، قیمت لیست ورودی کش‌شده ۱٫۲۵ دلار است و ورودی عادی ۲٫۵ دلار.

تکرار SYSTEM به‌تنهایی وقوع کش را تضمین نمی‌کند. اینکه کش واقعاً اعمال شود به رفتار ارائه‌دهنده و مدل بستگی دارد، پس هزینه را بر اساس مصرف ثبت‌شده در usage پاسخ‌ها بسنجید، نه بر اساس فرض کش.

در Claude، کش پرامپت قابلیتی اختصاصی از ارائه‌دهنده است که اندپوینت‌های اختصاصی /anthropic آن را حفظ می‌کنند. خواندن از کش با نرخ ورودی کش‌شده خود ارائه‌دهنده حساب می‌شود. نرخ هر مدل را در فهرست مدل‌ها ببینید و از یک مدل به مدل دیگر تعمیم ندهید. دستورالعمل را اول پیام و متن نظر را آخر بگذارید تا بخش مشترک پیشوند بماند.

۵. کدام مدل را برای کدام بخش پایپ‌لاین انتخاب کنیم؟

برنده‌ی کلی وجود ندارد: برای طبقه‌بندی انبوه یک مدل ارزان‌تر بگذارید و برای نظرات مبهم یا خلاصه‌های مدیریتی یک مدل قوی‌تر. نام مدل‌ها در 1xai.ir/models و قیمت روز هرکدام در صفحه قیمت‌ها است.

  • حجم بالا و برچسب ساده (مثبت/منفی/خنثی، دسته‌بندی موضوع): مدل سبکی مثل gpt-4o-mini یا gemini-2.5-flash. خروجی را به یک برچسب کوتاه محدود کنید تا هزینه‌ی توکن خروجی ناچیز بماند.
  • نظرات طولانی و ترکیبی (تعریف و شکایت در یک متن، کنایه): مدلی قوی‌تر مثل gpt-5.2. می‌توانید فقط نظراتی را به آن بدهید که مدل ارزان برایشان اطمینان پایینی گزارش کرده است.
  • گزارش هفتگی برای مدیران: هفته‌ای یک درخواست با ورودی خلاصه‌شده است. با این حجم کم، هزینه‌ی مدل قوی‌تر معمولاً سهم کوچکی از صورت‌حساب را می‌سازد.

حریم خصوصی

IP، کوکی و user-agent مشتری شما به ارائه‌دهنده نمی‌رسد، چون هر درخواست از زیرساخت 1xAi دوباره صادر می‌شود. اما متن نظر به مدل می‌رسد، پس شماره تلفن و نام را پیش از ارسال ماسک کنید:

import re

PHONE = re.compile(r"(?:\+98|0098|0)?9\d{9}")

def mask(text: str, known_names: list[str]) -> str:
    text = PHONE.sub("[PHONE]", text)
    for name in known_names:
        text = text.replace(name, "[NAME]")
    return text

print(mask("من علی هستم، شماره‌ام 09121234567 است", ["علی"]))
# خروجی: من [NAME] هستم، شماره‌ام [PHONE] است

الگوی بالا شماره‌هایی را که کاملاً با ارقام فارسی نوشته شده‌اند نمی‌گیرد، پس پیش از ماسک‌کردن ورودی را نرمال کنید و ارقام فارسی را به لاتین برگردانید. نام‌ها را هم از فیلدهای مشتری در پایگاه‌داده‌تان بدهید، نه از حدس روی متن.

بخش «رایگان»

اگر دنبال «api هوش مصنوعی رایگان» هستید، فرق دو چیز را بدانید. پلن رایگان گفتگو برای چت است، نه API. چرخ هدیه برای هر حساب یک بار می‌چرخد و بین ۱۰۰ هزار تا ۱ میلیون تومان اعتبار کیف پول می‌دهد که منقضی نمی‌شود. این اعتبار می‌تواند برای آزمایش اولیه‌ی پایپ‌لاین کافی باشد، اما کفایتش به مبلغ شانس شما، مدل انتخابی و حجم آزمایش بستگی دارد و «API رایگان دائمی» نیست.

اگر تیمتان پایپ‌لاین آماده می‌خواهد (چت‌بات پشتیبانی، اتصال به سایت یا تلگرام، اتوماسیون)، درخواست خود را از فرم تماس ثبت کنید.

This article was researched and written by the IT Master content engine.

سوالات متداول

هوش مصنوعی چیست

هوش مصنوعی نرم‌افزاری است که کارهایی مثل فهمیدن متن، دسته‌بندی و خلاصه‌سازی را بدون قانون‌نویسی دستی انجام می‌دهد. در تحلیل نظرات، مدل زبانی هر نظر را می‌خواند و طبق دستور شما حس، موضوع و شدت را برچسب می‌زند. دقت آن را باید روی نمونه واقعی نظرات خودتان بسنجید.

هوش مصنوعی چیست به زبان ساده

مثل همکاری است که هزاران نظر را سریع می‌خواند و طبق دستور شما دسته‌بندی می‌کند. شما می‌گویید چه می‌خواهید، مثلاً «حس و موضوع را به‌صورت JSON بده»، و مدل خروجی را برمی‌گرداند. این مدل گاهی اشتباه می‌کند، پس بخشی از خروجی را دستی بررسی کنید.

بدون VPN و کارت خارجی چطور به API دسترسی بگیرم؟

کلید `1xai-…` را از داشبورد 1xAi می‌گیرید و با هر SDK استاندارد OpenAI و آدرس `https://1xai.ir/v1` کار می‌کنید. پرداخت پیش‌پرداخت و تومانی است و از طریق زرین‌پال انجام می‌شود. حداقل شارژ ۱٬۰۰۰ تومان است. همین یک کلید، بر اساس نام مدل، OpenAI، Claude، Gemini و DeepSeek را پوشش می‌دهد.

هزینه تحلیل نظرات چقدر می‌شود؟

هزینه برابر است با توکن ورودی ضرب در نرخ ورودی، به‌علاوه توکن خروجی ضرب در نرخ خروجی. قیمت هر مدل برابر قیمت رسمی ارائه‌دهنده به‌علاوه ۲۰٪ مارک‌آپ ثابت 1xAi است و تبدیل آن به تومان با نرخ روزانه بازار انجام می‌شود، که هر صبح ساعت ۹ به وقت تهران به‌روز می‌شود. برای نمونه، gpt-5.2 امروز به ازای هر یک میلیون توکن ورودی ۵۶۰٬۷۰۰ تومان و به ازای هر یک میلیون توکن خروجی ۴٬۴۸۵٬۶۰۰ تومان است. توکن واقعی نظرات خود را روی یک نمونه بشمارید و قیمت‌های جاری را در [صفحه قیمت‌ها](https://1xai.ir/pricing) و [صفحه مدل‌ها](https://1xai.ir/models) ببینید.

با Claude هم می‌شود از همین مسیر کار کرد؟

بله؛ SDK رسمی Anthropic روی اندپوینت اختصاصی `/anthropic` بدون تغییر کار می‌کند و ویژگی‌هایی مثل کش پرامپت حفظ می‌شود. فقط مدل‌های نسل ۵ (`claude-sonnet-5`، `claude-fable-5` و `claude-opus-5`) پارامترهای `temperature` و `top_p` و prefill پیام دستیار را نمی‌پذیرند.

ABOUT THE PUBLISHERناشر

1xAi

تیمِ 1xAi پروکسیِ تخصصیِ مدل‌های OpenAI، Claude و Gemini برای کاربرانِ ایرانی را اداره می‌کند — از زیرساختِ شبکه تا صورت‌حسابِ تومانی. هرچه اینجا می‌نویسیم بر اساسِ تجربه‌ٔ روزانه با APIهای OpenAI، Anthropic و Google و نیازهای واقعیِ توسعه‌دهندگانِ داخلِ ایران است.

RELATEDادامهٔ مطالعه
مقاله ۱ از ۳