Asosiy kontentga o‘tish
AI qo‘llanmalari

Yowes va MCP yordamida ko‘p mamlakatli o‘qituvchi hujjatlari generatorini yarating

Yowes’ni o‘rnatish, uning interfeyssiz MCP serverini agent ishga tushirish muhitiga ulash, qo‘llab-quvvatlanadigan mamlakatlar va maktablarni aniqlash hamda Python yoki vositalarga to‘g‘ridan-to‘g‘ri murojaat qilish orqali PNG formatidagi o‘qituvchi hujjatlarini yaratishni o‘rganing.

Yowes va MCP yordamida ko‘p mamlakatli o‘qituvchi hujjatlari generatori

Yowes o‘qituvchilarga oid hujjatlarni yuqori aniqlikdagi PNG fayllar sifatida yaratadigan portativ Python ilovasidir. Uning boshqaruvsiz Model Context Protocol (MCP) serveri hujjat yaratishni stdio orqali taqdim etadi, bu esa undan Claude Desktop, Hermes va boshqa MCP mijozlari kabi agent muhitlarida foydalanish imkonini beradi.

Loyiha 13 ta mamlakatni, mamlakatga xos hujjat turlarini, paketga kiritilgan shriftlar va profil suratlarini, shuningdek manzillar hamda aloqa ma’lumotlarini o‘z ichiga olgan maktab ma’lumotlarini qo‘llab-quvvatlaydi. Ushbu qo‘llanma o‘rnatish, serverni sozlash, MCP vositalaridan foydalanish, Python bilan integratsiya va kengaytirish imkoniyatlarini ko‘rib chiqadi.

Yowes nima qiladi

Yowes o‘qituvchi profili va tanlangan maktab asosida mahalliylashtirilgan o‘qituvchi hujjatlarini yaratadi. Mamlakatga qarab, mavjud natijalar ishga qabul qilish xatlari, o‘qituvchi guvohnomalari, o‘qituvchilik litsenziyalari, ish haqi varaqalari, maktab guvohnomalari, shartnomalar, sertifikatlar va boshqa hujjat formatlarini o‘z ichiga oladi.

Yaratilgan fayllar PNG rasmlari sifatida saqlanadi. Ilova DejaVu Sans shriftlari va profil suratlarini paket tarkibiga kiritadi, shuning uchun ish vaqtida tizim shriftlari yoki tashqi rasm resurslariga bog‘liq bo‘lmaydi.

Qo‘llab-quvvatlanadigan mamlakatlar

Mavjud mamlakat kodlari va hujjat turlari quyidagilarni o‘z ichiga oladi:

  • Birlashgan Qirollik: ishga qabul qilish xatlari, o‘qituvchi guvohnomalari va o‘qituvchilik litsenziyalari.
  • Amerika Qo‘shma Shtatlari: ishga qabul qilish xatlari, o‘qituvchi guvohnomalari va o‘qituvchilik litsenziyalari.
  • Fransiya: ishga joylashish bayonotlari, iProf skrinshotlari, nizomlardan ko‘chirmalar va o‘qituvchilik sertifikatlari.
  • Niderlandiya: mehnat shartnomalari, o‘qituvchi ro‘yxatidan o‘tganlik hujjatlari, DUO deklaratsiyalari va maktab guvohnomalari.
  • Indoneziya: ish haqi varaqalari, o‘qituvchilik tajribasi haqidagi xatlar, NUPTK kartalari va tayinlov xatlari.
  • Avstraliya: imzolangan maktab xatlari, maktab guvohnomalari va o‘qituvchilik litsenziyalari.
  • Kanada: OCT kartalari, o‘qituvchilik litsenziyalari va imzolangan maktab xatlari.
  • Ispaniya: o‘qituvchi guvohnomalari, imzolangan maktab xatlari va mehnat shartnomalari.
  • Argentina: ish haqi varaqalari, mehnat sertifikatlari va imzolangan maktab xatlari.
  • Slovakiya: ish haqi varaqalari, ishga qabul qilish xatlari va imzolangan maktab xatlari.
  • Meksika: o‘qituvchi guvohnomalari, imzolangan maktab xatlari va mehnat sertifikatlari.
  • Filippin: o‘qituvchi guvohnomalari, mehnat sertifikatlari va o‘qituvchilik litsenziyalari.
  • Tailand: ish haqi varaqalari va ishga qabul qilish xatlari.

Ushbu hujjatlardan faqat qonuniy testlar, namoyishlar yoki ruxsat etilgan ma’muriy jarayonlar uchun foydalaning. Yaratilgan hujjatlar tegishli muassasa tomonidan berilmagan va tasdiqlanmagan bo‘lsa, rasmiy malaka yoki vakolat hujjatlari sifatida taqdim etilmasligi kerak.

Talablar

Yowes uchun Python 3.10 yoki undan yangi versiyasi talab qilinadi. Uning asosiy bog‘liqliklari bo‘lgan Pillow va mcp paketni o‘rnatish vaqtida avtomatik ravishda o‘rnatiladi.

Loyiha Windows, Linux va macOS tizimlarini qo‘llab-quvvatlaydi. Shriftlar va suratlar paketga kiritilgani sababli, paketlangan ilova portativ bo‘lishi uchun mo‘ljallangan.

Yowesni o‘rnatish

Wheel faylidan o‘rnatish

Agar dist katalogida tayyor wheel fayli bo‘lsa, uni quyidagi buyruq bilan o‘rnating:

AQSh o‘qituvchisi guvohnomasi

pip install dist/yowes_doc_generator-0.1.0-py3-none-any.whl

Manba kodidan o‘rnatish

Ishlab chiqish yoki mahalliy tajribalar uchun loyihani tahrirlanadigan rejimda o‘rnating:

pip install -e .

uv bilan ishga tushirish

Loyihani uv orqali ham ishga tushirishingiz mumkin:

uvx --from . yowes-mcp

Paketlangan resurslarni tekshirish

O‘rnatishdan so‘ng paketga kiritilgan shrift va profil surati yordamchi funksiyalari to‘g‘ri ishlashini tekshiring:

python -c "from countries.utils import load_font, get_profile_photo; print(load_font(30).getname()); print(get_profile_photo((280,340), person_id='x', gender='Male') is not None)"

Muvaffaqiyatli ishga tushirish DejaVu Sans shriftini ko‘rsatadi va paketga kiritilgan profil surati uchun True qiymatini qaytaradi.

MCP serveriga ulanish

Yowes MCP orqali stdio yordamida aloqa qiladi. O‘rnatilgan buyruqni quyidagicha ishga tushiring:

yowes-mcp

Shuningdek, to‘g‘ridan-to‘g‘ri manba kodi daraxti bilan ishlaganda quyidagisini bajaring:

AQSh xati

python mcp_server.py

Jarayon standart kiritish oqimida MCP so‘rovlarini kutadi va javoblarni standart chiqarish oqimiga yozadi. U interaktiv terminal ilovasi sifatida ishlash uchun mo‘ljallanmagan.

Yowesni MCP mijozida ro‘yxatdan o‘tkazish

MCP bilan mos agent muhitini bajariladigan faylga yo‘naltiring:

{
  "mcpServers": {
    "yowes": {
      "command": "yowes-mcp",
      "args": []
    }
  }
}

Agar buyruq PATH ichida mavjud bo‘lmasa, Pythonning mutlaq yo‘lidan foydalaning va server modulini ishga tushiring:

{
  "mcpServers": {
    "yowes": {
      "command": "/path/to/python",
      "args": ["-m", "mcp_server"]
    }
  }
}

Mavjud MCP vositalarini o‘rganish

Server uchta asosiy vositani taqdim etadi:

  • list_countries_tool mamlakat kodlari, ko‘rsatiladigan nomlar va hujjat turlarini ro‘yxatlaydi.
  • list_schools(country) tanlangan mamlakatdagi maktablarni ro‘yxatlaydi.
  • generate_documents(...) bir yoki bir nechta hujjatni yaratadi va ularning fayl yo‘llarini qaytaradi.

Mamlakatlarni ro‘yxatlash

list_countries_tool funksiyasini argumentsiz chaqiring. Javob har bir mamlakat uchun bittadan natija elementini o‘z ichiga oladi; unda code, name va document_types kabi qiymatlar bo‘ladi. Ro‘yxat bir nechta MCP kontent elementlariga bo‘lingani sababli, har bir mamlakatni ko‘rish uchun qaytarilgan content to‘plamini takroran ko‘rib chiqing.

Maktablarni ro‘yxatlash

list_schools funksiyasiga mamlakat kodini uzating:

{
  "country": "us"
}

Buyuk Britaniya o‘qituvchi ID kartasi

Har bir maktab natijasi uning nomi, manzili, shaharchasi, pochta indeksi, shtati, telefon raqami va mahalliy ta’lim boshqarmasi haqidagi ma’lumotlarni o‘z ichiga olishi mumkin. Hujjatlar yaratishda ushbu vosita qaytargan maktab nomining to‘liq yoki qisman shaklidan foydalaning.

Hujjatlar yaratish

generate_documents vositasi mamlakat, o‘qituvchi ismi, maktab, lavozim va tug‘ilgan sanani talab qiladi. Ixtiyoriy ravishda jins, hujjat turlari va chiqish katalogini tanlashingiz mumkin.

So‘rov namunasi

{
  "country": "us",
  "first_name": "John",
  "last_name": "Smith",
  "school_name": "Valley High",
  "position": "Head of Science Department",
  "date_of_birth": "12/05/1988",
  "gender": "Male",
  "document_types": ["employment_letter", "teacher_id"],
  "output_dir": "output"
}

gender qiymati Random, Male yoki Female bo‘lishi mumkin. U biriktirilgan profil fotosuratlari to‘plamidan tanlovni boshqaradi. Agar document_types ko‘rsatilmasa, Yowes tanlangan mamlakat uchun mavjud barcha hujjat turlarini yaratadi. Standart chiqish katalogi output/ hisoblanadi.

Muvaffaqiyatli javobda tanlangan mamlakat va maktab, hujjat turlari, yaratilgan fayl yo‘llari, soni hamda chiqish katalogi ko‘rsatiladi. Qaytarilgan PNG yo‘llari mutlaq yo‘llardir.

Masalan, yaratilgan AQSh hujjatlari quyidagi namunaviy natijalarga o‘xshashi mumkin:

AQSh o‘qituvchi ID kartasiAQSh ishga qabul qilish xati

Yowes’dan Python orqali foydalanish

Ilovalar MCP serverini ishga tushirishi va Python MCP mijozi orqali uning vositalarini chaqirishi mumkin. Zarur bo‘lsa, mijoz bog‘liqligini o‘rnating:

pip install mcp

Quyidagi misol stdio sessiyasini ishga tushiradi, mamlakatlar ro‘yxatini oladi va AQSh hujjatlarini yaratadi:

import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def main():
    params = StdioServerParameters(command="yowes-mcp", args=[])
    async with stdio_client(params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()

            countries = await session.call_tool(
                "list_countries_tool", {}
            )
            for item in countries.content:
                print(item.text)

            result = await session.call_tool(
                "generate_documents",
                {
                    "country": "us",
                    "first_name": "John",
                    "last_name": "Smith",
                    "school_name": "Valley High",
                    "position": "Head of Science Department",
                    "date_of_birth": "12/05/1988",
                    "gender": "Male"
                }
            )
            print(result.content[0].text)

asyncio.run(main())

Ro‘yxat javoblari alohida kontent elementlariga bo‘lingani sababli, to‘liq ro‘yxat bitta javob qiymatida keladi deb hisoblamasdan, countries.content ichidagi har bir elementni tekshiring.

Amaliy agent ish jarayoni

Buyuk Britaniya xati

  1. Amaldagi mamlakat kodlari va hujjat turlarini aniqlash uchun list_countries_tool ni chaqiring.
  2. Tanlangan mamlakat kodi bilan list_schools ni chaqiring.
  3. Qaytarilgan ma’lumotlardan maktabni tanlang.
  4. Vakolati tasdiqlangan o‘qituvchi va maktab ma’lumotlari bilan generate_documents ni chaqiring.
  5. Qaytarilgan PNG yo‘llarini o‘qing va fayllarni ilovangizda qayta ishlang.

Bu ketma-ketlik mamlakat kodlari, maktab nomlari yoki hujjat turi identifikatorlarini taxmin qilish zaruratini bartaraf etadi.

Kengaytirilgan maslahatlar

Faqat kerakli natijalarni tanlang

Mamlakatda mavjud hujjatlarning faqat bir qismi kerak bo‘lsa, document_types massivini yuboring. Bu keraksiz renderlashni kamaytiradi va chiqish katalogini so‘ralgan fayllar bilan cheklaydi.

Barqaror profil fotosuratini tanlang

Yowes bir xil shaxs uchun profil fotosuratlarini barqaror saqlash maqsadida xeshga asoslangan tanlovdan foydalanadi. Barqaror shaxs identifikatorini va aniq jinsni ko‘rsatish tegishli biriktirilgan fotosuratlar to‘plamidan tanlashda oldindan taxmin qilinadigan natijalarni olishga yordam beradi.

Maxsus chiqish katalogidan foydalaning

Yaratilgan rasmlarni loyiha, test ishga tushirilishi yoki mamlakat bo‘yicha tartibga solish uchun output_dir ni belgilang. Nisbiy yo‘llar MCP serverining ish katalogiga nisbatan aniqlanadi.

Zarur bo‘lganda eski grafik interfeysni ishga tushiring

Loyihada asosiy yaratish mantiqidan foydalanadigan ixtiyoriy CustomTkinter interfeysi ham mavjud:

python main_gui.py

Windows’da repozitoriy TCL_LIBRARY ni o‘rnatuvchi run.bat faylini ham taqdim etadi. MCP serveri asosiy headless interfeys bo‘lib qoladi va grafik interfeysga bog‘liq emas.

Yowes’ni yangi mamlakat bilan kengaytirish

Mamlakat qo‘shish uchun countries/<code>/__init__.py faylini yarating va countries.base.CountryGenerator dan meros oluvchi sinfni aniqlang. Quyidagi majburiy metodlarni amalga oshiring:

  • get_country_name
  • get_country_code
  • get_schools_data
  • get_first_names
  • get_last_names
  • get_positions
  • get_document_types
  • generate_document

Generatorni countries/__init__.py faylida register_country("<code>", <Name>Generator) orqali ro‘yxatdan o‘tkazing. Ro‘yxatdan o‘tkazilgach, MCP mamlakat va maktab vositalari uni avtomatik aniqlashi mumkin. Agar grafik interfeys maxsus yorliqni ko‘rsatishi kerak bo‘lsa, main_gui.py faylidagi mamlakatlar ro‘yxati va mamlakat o‘zgarishi mantiqini yangilang.

Xulosa

Yowes mamlakatga xos hujjat generatorlari, jamlangan resurslar va MCP stdio serverini ko‘chma ish jarayoniga birlashtiradi. Uni Python yordamida o‘rnating, MCP orqali mavjud mamlakatlar va maktablarni aniqlang, tanlangan PNG chiqish fayllarini yarating hamda jarayonni agent yoki Python ilovasiga integratsiya qiling. Qonuniy ishlab chiqish va testdan o‘tkazish uchun uning mamlakatlarni ro‘yxatdan o‘tkazish namunasi yangi generatorlar qo‘shishning aniq yo‘lini ham taqdim etadi.