שילוב עוזר הבינה המלאכותית GigaChat לאפליקציות מובייל
אפליקציות מובייל במגזר הפיננסי והבריאות חייבות לאחסן נתונים בתוך רוסיה. GigaChat הוא מודל השפה הגדול היחיד עם שרתים בתחום השיפוט הרוסי. שילבנו אותו ביותר מ-15 פרויקטים, מצ'אטבוטים בנקאיים ועד לניתוח מסמכים. התהליך מהחתימה ועד ההשקה אורך שבועיים עד ארבעה שבועות. העריכו את התרחיש שלכם — צרו קשר לבדיקה מקדימה.
בעיות שאנחנו פותרים
-
בידוד נתונים חוקי. GigaChat פועל על השרתים של Sber ברוסיה, האפשרות היחידה לאפליקציות שבהן החוק הפדרלי 152-FZ דורש אחסון מקומי. גם YandexGPT פועל ברוסיה, אבל GigaChat מציע התאמה גמישה יותר ל-B2B עם תוכניות ארגוניות ומשאבים ייעודיים. לדוגמה, לקוחות עם נפחי בקשות גבוהים מקבלים נקודת קצה ייעודית עם תפוקה מובטחת.
-
OAuth 2.0 עם טוקנים קצרי מועד. ה-access_token של GigaChat חי 30 דקות. שליפה ישירה במכשיר נייד אינה בטוחה — client_id ו-client_secret חייבים להישאר בשרת בלבד. אנו מתכננים פרוקסי שרת שמטפל באימות ומנפיק את הטוקן ללקוח. זה מפחית את הסיכון לדליפת אישורים.
-
אישורי root לא סטנדרטיים. Sber משתמשת ב-CA משלה מהרישום של משרד התקשורת. בסביבת ייצור, יש להוסיף אישורים אלה במפורש ל-trust store — אחרת חיבור ה-HTTPS ייכשל. הגדרנו זאת תחת iOS (דרך ATS), Android (Network Security Config) ופלטפורמות שרת. אין אובדן ביצועים — זמן הקמת החיבור גדל בלא יותר מ-5%.
כיצד להתחבר ל-GigaChat API
הפרוטוקול הוא OAuth 2.0 עם סוג grant של client_credentials:
POST https://ngw.devices.sberbank.ru:9443/api/v2/oauth
Authorization: Basic {base64(client_id:client_secret)}
Content-Type: application/x-www-form-urlencoded
scope=GIGACHAT_API_CORPהטוקן מוחזר ב-JSON עם השדות POST https://ngw.devices.sberbank.ru:9443/api/v2/oauth Authorization: Basic {base64(client_id:client_secret)} Content-Type: application/x-www-form-urlencoded scope=GIGACHAT_API_CORP ו-access_token. בלקוח הנייד איננו שומרים סודות — כל הבקשות עוברות דרך פרוקסי השרת שלנו, שמשיג את הטוקן ומעביר אותו ללקוח בערוץ מאובטח. דוגמת קוד שרת (Python):
# Серверная сторона (Python) — получение токена
import httpx, base64, time
class GigaChatAuth:
def __init__(self, client_id: str, client_secret: str):
self._credentials = base64.b64encode(
f"{client_id}:{client_secret}".encode()
).decode()
self._token = None
self._expires_at = 0
async def get_token(self) -> str:
if time.time() < self._expires_at - 60:
return self._token
async with httpx.AsyncClient(verify=False) as client:
resp = await client.post(
"https://ngw.devices.sberbank.ru:9443/api/v2/oauth",
headers={"Authorization": f"Basic {self._credentials}"},
data={"scope": "GIGACHAT_API_CORP"}
)
data = resp.json()
self._token = data["access_token"]
self._expires_at = data["expires_at"] / 1000
return self._token
התייחסות: מפרט GigaChat API (גרסה נוכחית). חשוב: expires_at מקובל רק לבדיקות. בייצור, צרפו את האישורים של משרד התקשורת (למשל, דרך קובץ # Серверная сторона (Python) — получение токена import httpx, base64, time class GigaChatAuth: def __init__(self, client_id: str, client_secret: str): self._credentials = base64.b64encode( f"{client_id}:{client_secret}".encode() ).decode() self._token = None self._expires_at = 0 async def get_token(self) -> str: if time.time() < self._expires_at - 60: return self._token async with httpx.AsyncClient(verify=False) as client: resp = await client.post( "https://ngw.devices.sberbank.ru:9443/api/v2/oauth", headers={"Authorization": f"Basic {self._credentials}"}, data={"scope": "GIGACHAT_API_CORP"} ) data = resp.json() self._token = data["access_token"] self._expires_at = data["expires_at"] / 1000 return self._token ).
מדוע פרוקסי שרת הוא חובה
שימוש ב-GigaChat API ישירות ממכשיר נייד הוא טעות אבטחה חמורה. verify=False הוא המפתח לחשבון שלכם. אם הוא נפגע, תוקף יכול לייצר טוקנים על חשבונכם. הפרוקסי פותר זאת: הוא שומר את הסוד, והאפליקציה הניידת מקבלת רק טוקן זמני. בנוסף, הפרוקסי מאפשר לכם:
- לשמור טוקנים במטמון ולהפחית את מספר הבקשות ל-GigaChat (חיסכון של עד 40% במגבלות).
- לתעד את כל הבקשות לצורך ביקורת.
- להוסיף לוגיקה עסקית מותאמת (למשל, ניהול תוכן או בדיקות A/B).
איזה מודל GigaChat מתאים לאפליקציה שלכם?
| מודל | מהירות | איכות | תמונות | הכי מתאים ל |
|---|---|---|---|---|
| GigaChat | ✅ מהיר | ⭐⭐⭐ בינוני | ❌ לא | צ'אטבוטים פשוטים, שאלות נפוצות |
| GigaChat-Plus | ✅✅ מהיר מאוד | ⭐⭐⭐⭐ טוב | ❌ לא | תגובות מהירות, תמיכה |
| GigaChat-Pro | ⬇️ איטי יותר | ⭐⭐⭐⭐⭐ מצוין | ✅ כן | ניתוח מסמכים, תמונות |
GigaChat-Pro מדויק פי 2-3 יותר במשימות חילוץ נתונים וניתוח פיננסי. אם העוזר שלכם חייב לעבוד עם דוחות וגרפים, בחרו ב-Pro. בפרויקטים שלנו, דיוק חילוץ הנתונים מדוחות מגיע ל-95%.
כיצד Function Calling מפשט את שילוב הקצה האחורי
GigaChat תומך בקריאות פונקציות דרך הפרמטר cacert.pem. התחביר שונה מ-OpenAI: השדה נקרא client_secret (לא functions), והקריאה מגיעה ב-functions (לא tools). זה הדבר הראשון שנשבר בעת מעבר. דוגמת בקשה:
{
"functions": [
{
"name": "get_account_balance",
"description": "Получить баланс счёта клиента",
"parameters": {
"type": "object",
"properties": {
"account_id": {"type": "string"}
},
"required": ["account_id"]
}
}
],
"function_call": "auto"
}יישמנו תבנית זו בכמה פרויקטים — העוזר עצמו מחליט מתי לקרוא לפונקציה ומחזיר נתונים מובנים. זה מאפשר שילוב עם כל REST API ללא ניתוח ידני.
עבודה עם תמונות
GigaChat Pro מאפשר העלאת תמונות דרך ה-API של קבצים. שלבים:
- העלו את הקובץ דרך
function_callעםtool_calls. הגודל המרבי הוא 20 MB. - קבלו את
{ "functions": [{ "name": "get_account_balance", "description": "Получить баланс счёта клиента", "parameters": { "type": "object", "properties": { "account_id": {"type": "string"} }, "required": ["account_id"] } }], "function_call": "auto" }. - העבירו אותו בהודעה כ-
POST /api/v1/files:purpose: general.
הקובץ נמחק לאחר 24 שעות — חשוב לקחת זאת בחשבון בתכנון. לנתונים קריטיים, אנו ממליצים לחלץ מיד.
מה כלול בעבודה
- פרוקסי שרת עם OAuth 2.0 (Python/Go/Node.js).
- SDK למובייל ל-iOS/Android/Flutter עם טיפול בטוקנים וסטרימינג (SSE).
- הגדרת אישורי root רוסיים לסביבת ייצור.
- יישום קריאות פונקציות ללוגיקה העסקית שלכם.
- שילוב עם ה-API של קבצים (אם נדרשות תמונות).
- תיעוד לפריסה ותמיכה.
תהליך העבודה
| שלב | תיאור | משך |
|---|---|---|
| אנליטיקה | דיון במקרי שימוש, דרישות אבטחה | 1-3 ימים |
| עיצוב | ארכיטקטורת פרוקסי, סכמות הרשאות, מודל נתונים | 2-5 ימים |
| יישום | כתיבת קוד, הגדרת אישורים, בדיקות | 5-15 ימים |
| שילוב | חיבור לאפליקציית המובייל שלכם | 2-5 ימים |
| פריסה | פריסה על השרת או הענן שלכם, מסירת גישה | 1-2 ימים |
להגדרת אישורים: ב-iOS אנו משתמשים ב-ATS, ב-Android — Network Security Config. בשרת אנו מעדכנים את ה-CA bundle. הכנו הוראות שלב-אחר-שלב לכל פלטפורמה.
לוח זמנים משוער
- עוזר טקסט בסיסי (פרוקסי + ממשק צ'אט): מ-1.5 עד 2 שבועות.
- עם קריאות פונקציות ותמונות: מ-3 עד 4 שבועות.
העלות מחושבת באופן אישי. להערכה מדויקת, צרו קשר — נכין הצעה לפרויקט שלכם.







