ΠΠΎΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ REST-ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π±ΠΎΡΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠΈΠΏΠ° Β«ΠΡΠΎΡΠΈ.ΡΡΒ». ΠΠ½Π΄ΠΏΠΎΠΈΠ½Ρ /match ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π°ΡΠ²ΠΊΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, Π±ΡΠ΄ΠΆΠ΅Ρ, Π»ΠΎΠΊΠ°ΡΠΈΡ, ΡΡΠΎΡΠ½ΠΎΡΡΡ) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠΏ-10 ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² Ρ ΠΎΡΠ΅Π½ΠΊΠΎΠΉ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎΡΡΠΈ 0β1 ΠΈ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π Π°Π½ΠΆΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β Π²Π·Π²Π΅ΡΠ΅Π½Π½Π°Ρ ΡΡΠΌΠΌΠ° ΡΠ°ΠΊΡΠΎΡΠΎΠ²: ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠΌΠ±Π΅Π΄Π΄ΠΈΠ½Π³ΠΈ, ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΡΠ΅ΠΉΡΠΈΠ½Π³ ΠΈ ΠΎΡΠ·ΡΠ²Ρ, Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡ, ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ; Π²Π΅ΡΠ° Π²ΡΠ½ΠΎΡΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ: ΠΆΡΡΡΠΊΠΈΠ΅ ΡΠΈΠ»ΡΡΡΡ (Π±ΡΠ΄ΠΆΠ΅Ρ, Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ), ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π΅ΡΠΎΡΠ½ΡΡ
ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΎΠΊ Π·Π°ΡΠ²ΠΊΠΈ, Π°Π½ΡΠΈΡΡΠΎΠ΄-ΡΠ²ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠΎΡΠΈΠ² Π½Π°ΠΊΡΡΡΠΎΠΊ, ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ POST /feedback Π΄Π»Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΏΠΎΠ΄Π±ΠΎΡΠ° ΠΈ GET /metrics Π΄Π»Ρ ΠΌΠ΅ΡΡΠΈΠΊ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°. Π‘ΡΠ΅ΠΊ: Python 3.11, FastAPI, PostgreSQL Ρ pgvector Π»ΠΈΠ±ΠΎ Qdrant, ΠΌΡΠ»ΡΡΠΈΡΠ·ΡΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΌΠ±Π΅Π΄Π΄ΠΈΠ½Π³ΠΎΠ², Celery+Redis Π΄Π»Ρ ΡΠΎΠ½ΠΎΠ²ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ, Docker ΠΈ docker-compose. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: /match Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 500 ΠΌΡ p95 Π½Π° Π±Π°Π·Π΅ Π΄ΠΎ 50 000 ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ², ΠΏΠ°ΠΊΠ΅ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π΄ΠΎ 10 000 ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ Π·Π° 10 ΠΌΠΈΠ½ΡΡ. ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ API-ΠΊΠ»ΡΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ X-API-Key, ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ OpenAPI 3.0. ΠΠΎΡΡΠ°Π²ΠΊΠ°: ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² Git, Docker-ΠΎΠ±ΡΠ°Π·, OpenAPI, README, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π΅ΠΏΠ»ΠΎΡ, ΠΊΡΠ°ΡΠΊΠΈΠΉ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΡΡΡΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π² Π»ΠΈΡΠ½ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ
.????????????????.