LocalAI: nyílt forráskódú alternatíva a teljesen lokális mesterséges intelligenciához

  • A LocalAI egy OpenAI-kompatibilis API-t kínál, amely lehetővé teszi az LLM-ek, a látás, a hang és az ügynökök teljes mértékben helyben, a felhőre való támaszkodás nélkül történő futtatását.
  • Moduláris architektúrája csak a szükséges backendeket tölti le, automatikusan felismeri a hardvert, és támogatja a CPU, GPU, Metal, Jetson és elosztott gyorsításokat.
  • Az ökoszisztéma magában foglalja a LocalAGI-t, a LocalRecall-t, egy átdolgozott WebUI-t MCP-támogatással, külső eszközökkel rendelkező ágenseket és fejlett modellkezelést.
  • A közösség egy nagyon aktív ütemtervet és származékos alkalmazásokat fejleszt, mint például az adatvédelemre épülő és offline használatú helyi mesterséges intelligencián alapuló csevegő mobil kliensek.

Helyi mesterséges intelligencia

Ha szeretnéd otthon vagy a szervereiden saját mesterséges intelligenciát beállítani anélkül, hogy bárkitől függnél, A LocalAI a nyílt forráskódú ökoszisztéma egyik kulcsfontosságú referenciájává vált.Ez nem csak egy újabb projekt: ez Egy teljes eszközcsalád, amelyet az OpenAI API és más kereskedelmi platformok közvetlen helyettesítésére terveztekde helyben fut, teljes hozzáféréssel az adataidhoz és kötelező GPU-követelmény nélkül.

A LocalAI messze nem csupán egy modellszerver, hanem egy Teljes ágensplatform, szemantikus memória, multimodális generálás és elosztott telepítésMindez egy moduláris architektúrával, amely alkalmazkodik mind a nagyon szerény hardverekhez, mind a fejlett infrastruktúrákhoz GPU-kkal, Jetsonnal vagy elosztott klaszterekkel.

Mi a LocalAI, és miért beszélnek róla annyit?

A LocalAI egy nyílt forráskódú projekt az MIT licenc alatt, amely a következőképpen működik: OpenAI specifikációval kompatibilis REST API (és hasonló szolgáltatások, mint például az Anthropic vagy az Elevenlabs)De teljes egészében a saját gépeden vagy helyszíni infrastruktúrán fut. Ettore Di Giacinto és egy nagyon aktív közösség tartja karban, és már több tízezer csillagot gyűjtött a GitHubon, ami a felhőmentes mesterséges intelligencia megoldások iránti hatalmas érdeklődést tükrözi.

A fő gondolat az, hogy megteheted Használja az OpenAI API-hoz tervezett klienseket, SDK-kat és eszközöket a kód módosítása nélkül.Egyszerűen irányítsd a végpontokat a LocalAI példányodra. Innen LLM-eket futtathatsz, képeket és hangokat generálhatsz, TTS-t használhatsz, szemantikus keresést, objektumészlelést és egyebeket végezhetsz, mindezt helyben, anélkül, hogy bármilyen adatot kifelé küldenél.

Az egyik legszembetűnőbb előnye, hogy Nem feltétlenül kell GPUSok modell csak CPU-n futhat, ami lehetővé teszi, hogy NAS-ra, NUC-ra, régi szerverre vagy bármilyen minimális erőforrásokkal rendelkező gépre telepítsük őket, a modellek méretét és kvantálását a hardverkorlátokhoz igazítva.

A Local Stack család: LocalAI, LocalAGI és LocalRecall

Ahogy a projekt bővült, átalakult egy összekapcsolt eszközök „családja”, amelyek sokkal többet fednek le, mint az egyszerű modellkövetkeztetésManapság az úgynevezett „Local Stack” főként három kulcsfontosságú komponensből áll, amelyek együtt vagy külön-külön is működhetnek.

Egyrészt a LocalAI továbbra is a központi pillér, mint OpenAI-kompatibilis API szövegekhez, képekhez, hanganyagokhoz és egyéb modalitásokhozKezeli a kommunikációt a különféle következtetési háttérrendszerekkel (llama.cpp, vLLM, transzformátorok, diffúzorok stb.), és egy szabványos felületet biztosít, amely támogatja a csevegést, a kiegészítéseket, a képgenerálást, a TTS-t, a beágyazásokat, az újrarangsorolást, sőt még a kísérleti végpontokat is, például a szövegből videót.

Mellette megjelenik a LocalAGI, amely a következő szerepet tölti be: AI ügynökkezelő platform fejlett ügynöki eszközök és munkafolyamatok támogatásávalAz OpenAI Responses API-jának továbbfejlesztett helyettesítőjeként működik, lehetővé téve olyan ágensek definiálását, amelyek képesek érvelni, lépéseket tervezni, külső eszközöket meghívni és összetett feladatokat koordinálni autonóm módon, de mindig lokálisan futva.

A harmadik elem a LocalRecall, amelyet úgy terveztek, hogy REST API és tudásmenedzsment rendszer perzisztens memóriával az ügynökök számáraAlapvetően a szemantikus tárolási réteget, a vektoros adatbázist és a hosszú távú kontextuskezelést biztosítja, így az ágensek és modellek idővel emlékezhetnek az információkra, dokumentumokra és beszélgetési állapotokra anélkül, hogy külső szolgáltatásokra kellene támaszkodniuk.

Főbb képességek: túlmutatnak az egyszerű helyi LLM-en

A LocalAI egyik oka annak, hogy ekkora népszerűségre tett szert, az az, hogy Nem korlátozódik nagy nyelvi modellek kiszolgálásáraA projekt a mesterséges intelligencia képességeinek nagyon széles skáláját öleli fel, így egyfajta „általános infrastruktúrát” biztosít az önállóan üzemeltetett intelligens alkalmazások számára.

A nyelv területén a LocalAI lehetővé teszi több modellcsaláddal kompatibilis LLM-eket futtatni (Llama, Gemma, Qwen, Phi, Mistral, SmollVLM és mások), GGUF formátumú modellek támogatásával a llama.cpp-n keresztül, vagy olyan háttérrendszereken keresztül, mint a transformers vagy a vLLM, a rendelkezésre álló hardvertől és a teljesítményigényektől függően.

A multimodális látásmód és generálás tekintetében a LocalAI kínálja a következőket: diffúziós modellek támogatása, képszerkesztés, látásnyelvi modellek és valós idejű objektumérzékelésEz magában foglalja az olyan projektekkel való integrációt, mint a stable-diffusion.cpp, a HuggingFace diffusors, olyan modellekkel, mint a FLUX, WAN vagy Qwen 3 VL, valamint egy dedikált API-t az rf-detr által támogatott objektumészleléshez, amely még CPU-terhelés mellett is nagyon hatékonyan futhat.

Az audio egy másik erős pont: a LocalAI integrálja valós idejű hang, szövegfelolvasó és beszédfelismerő háttérrendszerek klónozássalMindent megtaláltunk a whisper.cpp és a faster-whisper átírási szolgáltatásaitól kezdve a TTS motorokon át, mint a Bark, Bark-cpp, Coqui, Kokoro, KittenTTS, Piper, Chatterbox, neutts vagy Vibevoice, valamint a hangaktivitás-észlelő (VAD) modellekig, mint például a silero-vad, amelyekkel szabályozható, hogy mikor kell beszélni vagy megszakítani a csendet.

Moduláris architektúra: könnyűsúlyú bináris és igény szerinti háttérrendszerek

A projekt egyik legnagyobb közelmúltbeli forradalma az átállás volt a teljesen moduláris architektúra, ahol a fő LocalAI bináris fájl elkülönül a háttérrendszerektőlKorábban az „all-in-one” rendszerképek nagyok voltak, és alapértelmezés szerint az összes lehetséges motort tartalmazták, ami bonyolította a könnyű telepítéseket és frissítéseket.

Ezzel az új filozófiával az alap Docker kép és a LocalAI bináris fájl sokkal kisebb, és csak a szükséges backendeket tölti le, amikor szükségesAmikor egy modellt telepítesz a galériából vagy YAML fájlokon keresztül, a LocalAI automatikusan felismeri a hardveredet (CPU, NVIDIA, AMD vagy Intel GPU), és letölti a modellhez szükséges háttérrendszer megfelelő változatát.

Továbbá, ennek a kialakításnak köszönhetően most A backendeket egy dedikált galériából függetlenül is kezelheted, akár fejlesztői verziókat is használva.Ez azt jelenti, hogy nem kell megvárnod egy új LocalAI kiadást, hogy kipróbálhasd a legújabb llama.cpp, whisper.cpp vagy diffusors backendet: egyszerűen frissítsd az adott komponenst, és a rendszer menet közben használni fogja.

Egy másik praktikus részlet, amelyet nagyra értékelnek azok, akik elszigetelt környezetben vagy nagyon speciális követelményekkel dolgoznak, a egyéni háttérprogramok betöltésének lehetősége egyszerűen a bináris fájlok kijelölt mappába másolásávalTeljes konténerek újrafordítása nélkül tesztelhet optimalizált buildeket, adott architektúrákhoz tartozó variánsokat vagy a háttérrendszerek javított buildjeit anélkül, hogy az a teljes rendszert érintené.

Kompatibilitás több AI háttérrendszerrel

A LocalAI valóban kiterjedt backend listát integrál, hogy lefedje a különböző típusú modelleket és használati eseteket, a következőkkel: minden hardverhez igazított gyorsítástámogatásAz LLM-ek lényege általában a llama.cpp, a vLLM és a transformers körül forog, de sok más létezik.

Az általános LLMs részben a llama.cpp a következőket biztosítja: Hatékony következtetés C/C++ nyelven CUDA, ROCm, Intel SYCL, Vulkan, Metal és Pure CPU támogatássallehetővé téve a kvantált modellek GPU nélküli gépeken való futtatását. A vLLM PagedAttention és átviteli sebesség-orientált optimalizálásokat kínál, gyorsítással CUDA és ROCm rendszerekhez, míg a transformers megnyitja az utat a HuggingFace kiterjedt CUDA, ROCm, Intel és CPU modellek gyűjteményéhez.

Hang esetén a whisper.cpp és a faster-whisper backendek kombinálva vannak a következő célra: Gyors és hordozható beszédfelismerés CPU-n vagy GPU-n, valamint a TTS motorok széles választéka: Bark és Bark-cpp, Coqui, Kokoro, Kitten-TTS, Piper, Chatterbox, neutts és Vibevoice, mindegyiknek megvan a saját minőségi, késleltetési és hardverkövetelményei, a tiszta CPU-tól a CUDA, ROCm, Metal vagy Intel rendszerekig.

A jövőkép és a terjesztés tekintetében a projekt támogatja a következőket: A stablediffusion.cpp a Stable Diffusion C/C++ implementációjakéntvalamint a HuggingFace diffúzorkönyvtárát az újabb képgeneráló és -szerkesztő modellekhez. A háttérrendszertől függően CUDA, ROCm, Intel SYCL, Metal vagy egyszerűen CPU is használható.

Az LLM-eken, hanganyagokon és képeken túl a LocalAI integrálja a következőket: Speciális háttérrendszerek, mint például az rfdetr az objektumészleléshez, dokumentum-újrarangsoroló motorok és egy helyi tároló vektortárolóEzenkívül integrálódik a HuggingFace API-val, hogy szükség esetén kombinálhassa a helyi és távoli következtetéseket. Ezáltal a platform rendkívül átfogóvá válik kiterjesztett keresőrendszerek, dokumentumnavigációs asszisztensek vagy helyi MLOps folyamatok építéséhez.

Gyorsulás: CPU-ra optimalizálttól a GPU, Metal és Jetson optimalizálásig

Annak érdekében, hogy senki se maradjon ki, a LocalAI egy réteget kínál Rendkívül rugalmas gyorsítás, szinte bármilyen modern hardverhez használható konfigurációkkalHa NVIDIA GPU-d van, akkor a CUDA 12 vagy 13 előnyeit kihasználhatod a legtöbb kompatibilis backendben, a llama.cpp-től a diffuserekig vagy a coqui-ig, a GPU rétegek számát vagy a terhelést az erőforrásaidnak megfelelően állítva be.

Az AMD grafikus kártyák esetében a LocalAI az ROCm-re támaszkodik a következőkhöz: Gyorsítsa fel a kulcsfontosságú háttérrendszereket, mint például a llama.cpp, a whisper, a vLLM, a transformers, a diffuser, az reranker és a különféle TTS.Ez nagyon érdekes azok számára, akik Radeon kártyákkal otthoni laboratóriumokat hoznak létre. Intel hardverek esetén a támogatás a oneAPI-n és más technológiákon keresztül történik, gyorsítást alkalmazva olyan háttérrendszerekben, mint a llama.cpp, whisper, stablediffusion, vLLM, diffusors, rfdetr, rerankers és hangmotorok, mint a Coqui vagy a Bark.

Ha Mac gépet használsz, a platform integrálható a Metal és az Apple natív MLX és MLX-VLM backend rendszereivel, így a következőket kínálva: Optimalizált következtetés M1, M2 és M3+ chipeken mind az LLM-ek, mind a multimodális modellek esetében, a bark-cpp és más Metal-kompatibilis komponensek támogatása mellett.

A beágyazott forgatókönyvekről sem feledkeztek meg: külön támogatás jár hozzájuk. NVIDIA Jetson CUDA 12 és 13 processzorokkalEz lehetővé teszi a llama.cpp, whisper, stablediffusion, diffusors és rfdetr futtatását ARM64 eszközökön, például AGX Orin vagy edge computing platformokon, ami nagyon hasznos robotikai, biztonsági vagy intelligens IoT projektekhez.

És mindezt természetesen kiegészíti az CPU-ra optimalizált futtatható fájlok, olyan utasításkészletek támogatásával, mint az AVX, AVX2 és AVX512A backend variánsok, mint például a whisper.cpp, kifejezetten a processzor képességei szerint lettek lefordítva, elkerülve az „illegális utasítások” hibáit a régebbi vagy alacsony fogyasztású gépeken.

Telepítés: binárisok, szkriptek, Docker és AIO

Gyakorlati szinten a LocalAI csapata rengeteg erőfeszítést tett annak biztosítására, hogy A beüzemelésnek nem szabadna egy odüsszeiának lennieA környezettől és a tapasztalati szinttől függően számos telepítési módszer létezik, mind a gyors tesztekhez, mind a komolyabb telepítésekhez.

Egyrészt elkezdheted egy telepítőszkript, amely letölti a megfelelő bináris fájlt és konfigurálja az alapokatKözvetlen bináris fájlok léteznek különféle asztali platformokra is, bár például macOS rendszeren a DMG-ket az Apple nem írja alá, ami miatt a rendszer „karanténba helyezettként” jelölheti meg őket, és egy kis kitérőt igényelhet a megnyitásuk (a csapat folyamatosan figyelemmel kíséri a problémákat a megoldásokkal és a lehetséges fejlesztésekkel kapcsolatban).

Egy másik nagyon gyakori módszer a Docker használata a LocalAI telepítéséhez önálló konténer, akár CPU, GPU vagy AIO rendszerképekhez, előre letöltött modellekkelVálaszthatsz csak CPU-s rendszerképeket, kombinált CPU+GPU-s rendszerképeket, vagy All-In-One rendszerképeket, amelyek a használatra kész modellek kezdeti készletét tartalmazzák, bár az utóbbiak több helyet foglalnak, és figyelmeztettek, hogy a jövőben egyes "extra" változatokat elavulttá tehetnek az új háttér-felügyeleti rendszer javára.

Dockerrel való munka során fontos különbséget tenni a következők között: docker futtatás, amely létrehoz és elindít egy új konténertÉs a `docker start`, ami egyszerűen elindít egy meglévőt. Ha már elindítottad a LocalAI-t, és újra szeretnéd indítani, akkor a megfelelő módszer a `docker start -i local-ai` paranccsal való használat, hogy elkerüld a konténerek duplikálását vagy a már regisztrált nevekkel való ütközéseket.

Modell betöltése és automatikus háttér-észlelés

Miután a LocalAI beüzemelt, a következő lépés a következő: Töltsd be a használni kívánt modelleket a hivatalos galériából vagy YAML konfigurációs fájlok használatával.Ebben a fázisban kerül képbe az automatikus hardver- és háttérészlelés logikája.

Amikor kiválaszt egy modellt a WebUI-ban, vagy definiál egyet a YAML-ben, a LocalAI Elemezd a géped képességeit (GPU típusa, legyen az NVIDIA, AMD vagy Intel, CPU-támogatás stb.), és töltsd le a megfelelő backend verziót. az adott modellhez és eszközkombinációhoz. Így elkerülhető, hogy manuálisan kelljen kitalálnia, hogy melyik llama.cpp, diffusors vagy whisper.cpp bináris fájlra van szüksége az adott környezetben.

Ha nagyobb kontrollra van szüksége, a YAML konfiguráció lehetővé teszi ezt Paraméterek, például a kontextusméret, a GPU-rétegek száma, az mmap-használat, a kvantálások vagy az ügynökeszközök definíciójának módosításaA WebUI átalakításának köszönhetően mostantól az összes YAML közvetlenül a grafikus felületről szerkeszthető anélkül, hogy SSH-n keresztül kellene csatlakozni a szerverhez, vagy manuálisan szerkeszteni a fájlokat.

Újratervezett webes felhasználói felület: modellek, csevegés és ügynökök vizuális kezelése a LocalAI-ban

A webes felület jelentős átalakításon esett át, amely a haladó felhasználók igényeit szolgálja, miközben továbbra is könnyen hozzáférhető marad azok számára, akik egyszerűen csak vizuálisan szeretnének felfedezni. A HTML-ről a következők kombinációjára való áttérés Az Alpine.js és a natív JavaScript jelentősen javította a sebességet és a folyékonyságot. tapasztalatból, különösen sok konfigurációval vagy modellel rendelkező környezetekben.

Erről a webes felhasználói felületről hozzáférhet chat felületek, képgenerálás, hang, modellkezelés és belső konfigurációLétezik egy fuzzy kereséssel rendelkező modellek listája, így még ha hibázol is gépelés közben (például „gema” a „gemma” helyett), a rendszer a helyes találatokat jeleníti meg anélkül, hogy a pontos kifejezés finomításával kellene próbálkoznod.

Az egyik legpraktikusabb szempont, hogy a WebUI lehetővé teszi Az egyes modellek teljes YAML-konfigurációjának megtekintése és szerkesztése A böngészőből, az alkalmazás elhagyása nélkül. Itt módosíthatja a maximális kontextust, engedélyezheti vagy letilthatja a multimodális támogatást, módosíthatja a teljesítményparamétereket, vagy eszközöket és MCP-kiszolgálókat definiálhat az ügynökökhöz, mindezt azonnal, a módosítások mentése után.

MCP ügynökök és támogatás: Helyi eszközöket használó mesterséges intelligencia

A LocalAI legújabb verzióiban jelentős előrelépést tett azáltal, hogy beépíti a következőket: Teljes körű támogatás a protokollkontextus-modellhez (PCM) és a fejlett ágensi képességekhezEz lehetővé teszi olyan ágensek létrehozását, amelyek nemcsak kérdésekre válaszolnak, hanem külső eszközöket is használhatnak, lépéseket tervezhetnek és összetett feladatokat is vezényelhetnek.

Az MCP integráció a LocalAGI és a kapcsolódó projektek, például a Cogito által kifejlesztett keretrendszeren alapul, ami egyszerű módot kínál a következőkre: Az „MCP-kiszolgálók” definiálása olyan konténerek vagy külső szolgáltatásokként, amelyek eszközöket tesznek elérhetővéPéldául lehet egy MCP-kiszolgálód, amely kereséseket végez a DuckDuckGo-n, egy másik, amely lekérdezi a vállalatod belső API-jait, vagy egy olyan, amely szkripteket futtat a helyi gépeden.

A fejlesztő szemszögéből elég, ha Konfigurálja ezeket az MCP-kiszolgálókat a modell YAML-jében, Python-kód írása vagy speciális könyvtárak használata nélkül.A konfigurálás után használhatod az OpenAI API-val kompatibilis /mcp/v1/chat/completions végpontot, vagy közvetlenül aktiválhatod az „MCP Agent Mode”-ot a chat webes felhasználói felületéről, hogy a modell szükség esetén meghívja az eszközöket.

A csapat erőfeszítéseket tett azért is, hogy A függvényhívások robusztusságának és a JSON sémák kezelésének javításaEz kijavítja a hibákat és a pánikot, amelyek akkor fordulhattak elő, amikor a modellek tökéletlen eszközdefiníciókat generáltak. Ezekkel a fejlesztésekkel az eszközhasználat és az ügynöki munkafolyamat sokkal stabilabb az éles környezetben.

LocalAI ütemterv és a projekt folyamatos fejlesztése

A LocalAI nagyon gyorsan mozog, egy nyilvános ütemterv címkézett problémák formájában ahol követheti a legújabb frissítéseket és a következő hónapokra tervezetteket. Az ütemterv a fejlesztések folyamatos sorozatát mutatja be, amely mind az új funkciókat, mind a belső finomításokat magában foglalja.

Az elmúlt években a következők kerültek be Olyan funkciók, mint az elosztott következtetés, az összevont mód, a P2P az LLM-ek hálózaton keresztüli futtatásához, az dashboardok a példányrajok kezeléséhez, valamint az új modellek és backendek támogatása. (Flux, MLX-Audio, WAN, SANA, Bark.cpp, stablediffusion.cpp stb.), valamint egy Reranker API és egy integrált objektumfelderítő API.

Mérföldkövek is történtek, mint például a Az összes háttérrendszer migrálása a fő bináris fájlból a súlycsökkentés érdekébenAz új macOS és Linux indítóprogram érkezése, a WebUI folyamatos fejlesztése, valamint kísérleti API-k, például a szöveg videóvá alakítása a /v1/videos könyvtáron keresztül, amely helyi MI-eszközökhöz, például a helyi videószerkesztéshez kapcsolódik, mind a terv részét képezik. A jövőbeli tervek között szerepel a dinamikusabb memóriakezelés, a továbbfejlesztett több GPU-s támogatás, az új ágensintegrációk és a kibővített MCP eszközökoszisztéma.

Példák a közösségi és mobilalkalmazásbeli használatra Local AI Chatbot

A LocalAI szellemisége szorosan kötődik a közösséghez, amint azt a következők is tükrözik: a készítő saját bejegyzései olyan fórumokon, mint az r/selfhosted vagy a/LocalLLaMAEzen a fórumon első kézből osztják meg az architektúra fejlődését, és választ kapnak a felhasználók kérdéseire. Sok hozzászólás arról szól, hogyan lehet a LocalAI-t integrálni, mint egy privát „agyat” az automatizálásokhoz és a személyes projektekhez.

Az „összességében lokális” megközelítést illusztráló esetek egyike a következők megjelenése: Mobilalkalmazások, mint például a Software Tailor Local AI Chatbotja, amelyek internetkapcsolat nélkül, közvetlenül az eszközön csevegést tesznek lehetővé fejlett modellekkel.Ez az alkalmazás lehetővé teszi, hogy teljesen offline módon beszélgess olyan modellekkel, mint a DeepSeek R1, Qwen, Mistral, Llama 3 vagy Phi, megőrizve 100%-os adatvédelmet és kihasználva a telefon hardverét.

Jellemzői közé tartozik a Több modell támogatása gyors váltással közöttük, a hatékony erőforrás-felhasználásra összpontosító kialakítás és letisztult felület a gondtalan csevegéshez.Adatvédelmet igénylő felhasználóknak, érzékeny információkat kezelő szakembereknek, rossz internetkapcsolattal rendelkező területeken élőknek és a helyi modellekkel való kísérletezés iránt érdeklődő mesterséges intelligencia rajongóknak szól.

Az ilyen típusú megoldások azt mutatják be, hogy a LocalAI és a helyi MI körüli ökoszisztéma hogyan lép túl a fő szerveren, a „minden az eszközödön” filozófia mobilokra, asztali számítógépekre és más formátumokra való átültetése, azzal a céllal, hogy bárki élvezhesse a fejlett asszisztensek előnyeit távoli szolgáltatások igénybevétele nélkül.

A LocalAI projekt és eszközcsaládja bemutatja, hogyan valósítható meg. Egy teljes, privát, bővíthető, moduláris és multimodális mesterséges intelligencia rendszer felépítése, amely képes lefedni mindent az egyszerű csevegéstől a memóriával és eszközökkel rendelkező összetett ügynökökig, anélkül, hogy feladná a szabad szoftverek szabadságát vagy az adatok teljes ellenőrzését., nagyon komoly alternatívaként pozicionálva magát azok számára, akik nem szeretnék, hogy projektjeik mesterséges intelligenciája harmadik felektől függjön.

Agentical AI Alapítvány
Kapcsolódó cikk:
Agentic AI Foundation: a nyílt ágentikus mesterséges intelligencia új közös frontja, amelyben a Linux Foundation is együttműködik.

Hozzáadás előnyben részesített forrásként