Kutsu vLLM-i ja teisi OpenAI-ühilduvaid lõpp-punkte n8n-ist
Edasijõudnud8 min lugemistAutomatiseerimine

Kutsu vLLM-i ja teisi OpenAI-ühilduvaid lõpp-punkte n8n-ist

Kutsu n8n-i HTTP Requesti sõlmest kohalikku OpenAI-ga ühilduvat /v1/chat/completions lõpp-punkti koos selge autentimise, ajalõpueelarvete, baas-URL-i kontrollide ja privaatse võrgupiiriga.

Mida oskad pärast teha

n8n saab oma HTTP Requesti sõlme kaudu kutsuda kohalikku OpenAI-ga ühilduvat /v1/chat/completions marsruuti, kuid lõpp-punkt on privaatne taristu: autendi avaldatud marsruudid, isoleeri teenus, mõõda selle latentsust ja ära käsitle vLLM-i API-võtit kogu serveri turvapiirina.

Salvestatakse ainult selles brauseris.
Selles artiklis

Privaatsetest mudelitest on kasu ainult siis, kui automatiseerimine pääseb neile ligi. n8n-i kontrollitud üldine tee on HTTP Requesti sõlm. See saab kutsuda vLLM-i OpenAI-ga ühilduvat serverit või muud juurutust, mis tegelikult avaldab ja aktsepteerib liidest POST /v1/chat/completions.

See artikkel on käitaja juhend: kuidas HTTP-kutse ühendada ja autentida, kuidas määrata mõõdetud kohalikku inferentsi arvestavad ajalõpueelarved ning kuidas hoida mudeliteenus ebausaldusväärsetest võrkudest eemal.

Kui alles otsustad, kas n8n on sobiv automatiseerimiskiht, alusta artiklist n8n vs. Zapier vs. Make. Sellel torustikul töötavate agenttöövoogude jaoks vaata juhendit sinu esimene AI-agent n8n-is.

Avalikust internetist autentimata kättesaadav OpenAI-ga ühilduv lõpp-punkt toimib avatud inferentsiproksina. Igaüks, kes selle leiab, saab kulutada GPU-aega. vLLM-i puhul võivad ründajad jõuda ka inferentsi- ja käitusmarsruutideni, mida --api-key ei kaitse. Promptide leke on eraldi logimis- ja juurdepääsukontrolli risk, mitte vestlusmarsruudi automaatne omadus. Seo teenus privaatvõrguga, nõua väravas autentimist ja ära ava porti internetti ka „ainult demo jaoks“.

Mida „OpenAI-ühilduv“ siin tähendab

n8n jaoks on leping kitsas:

  • Baas-URL osutab serveri juurele või teele /v1, olenevalt sõlme oodatud vormingust.
  • Vestluspäringud jõuavad lõpp-punkti /v1/chat/completions või samaväärsele teele, mille sõlm ise lisab.
  • Päringukeha järgib vestlusvastuse skeemi: model, messages ning valikulised temperature, max_tokens ja muud väljad.
  • Vastuse väli choices sisaldab sõnumit, mida sõlm oskab parsida.

Sa ei vaja kõigi OpenAI toodete funktsioonidega võrdset liidest. Vaja on vestlusvastuse marsruuti, mille päringut, autentimist, mudeli identifikaatorit ja vastusekuju oled n8n-ist testinud.

vLLM dokumenteerib seda OpenAI-ga ühilduvat serverirežiimi; sarnaseid kujusid pakuvad ka teised käituskeskkonnad. Kontrolli marsruuti ja curl-näidet oma paigaldusega enne tootmistöövoogude ühendamist. Liides on levinud, kuid marsruudid, mudeli identifikaatorid, autentimine ja vastuse ühilduvus võivad eri toodete ja versioonide vahel muutuda.

Kontrollitud n8n-i tee: HTTP Request

Praegune n8n-i esimese osapoole dokumentatsioon ei kinnita OpenAI pääsuandmete ega OpenAI Chat Modeli sõlme kohandatud baas-URL-i. Käsitle sellist välja konkreetses n8n-i versioonis või kogukonnasõlmes versioonipõhisena, kuni oled seda kontrollinud. Dokumenteeritud üldine tee on HTTP Requesti sõlm, mis annab selge kontrolli meetodi, URL-i, päiste, päringukeha, autentimise ja sõlme korduskatsete sätete üle.

Kasuta üldist kandja- või päisepõhist pääsutunnust, mitte töövoogu lisatud saladust. Pääsutunnus peab sisaldama väärtust, mida inferentsiteenus või selle värav tegelikult valideerib. Näidisvõti üksnes kohtvõrgus oleval lõpp-punktil ei ole autentimine.

POST http://10.0.0.20:8000/v1/chat/completions
Content-Type: application/json
Authorization: Bearer <secret>
{
  "model": "installer-recommended-local-model",
  "messages": [
    { "role": "system", "content": "Classify the ticket. Reply with JSON only." },
    { "role": "user", "content": "{{ $json.body }}" }
  ],
  "temperature": 0
}

Asenda mudeli sõne täpse teenindatava identifikaatoriga lõpp-punktist /v1/models. Kui kasutad NVIDIA NemoClawi kohalikku vLLM-i teed, kasuta identifikaatorit, mille see salvestab töötavast serverist või valitud hallatud profiilist. Hallatud vLLM on toetatud hosti võimalus, mitte iga NemoClawi paigalduse üldine omadus; üldine Linux nõuab sõnaselget eksperimentaalset või pakkuja valikut. Ära mõtle mudelikaalu nime mälu järgi välja.

HTTP Request on sobiv varutee ka siis, kui teenusepakkujapõhine AI-sõlm ei dokumenteeri kohandatud lõpp-punkti.

Autentimine ja võrgukontrollid, mis tegelikult toimivad

Kohalik ei tähenda autentimata.

vLLM-i --api-key ei ole kogu HTTP-teenuse turvapiiriks. Ametlik turbeleht kirjeldab kaitstud ja kaitsmata lõpppunktide komplekte ning soovitab vajaliku ligipääsu korral võrgu eraldamist koos tagasipööratud proksiga (vLLM-i turvajuhised). API-võti inferentsiradadel ei tõenda, et iga rada lükkab autentimata liikluse tagasi.

Nõutav lähtetase: seo vLLM ainult tagasisideahela, konteineri- või klastrivõrgu või tulemüürireegliga kaitstud privaatliidesega, mis lubab ligipääsu üksnes proksile või n8n-i töövoole. Kui ühenduma peab mitu serverit, paiguta nende ette Caddy, nginx, Traefik või samaväärne kontrollitud värav. Lõpeta TLS seal, kus ühendus ei kulge juba usaldatud krüpteeritud pealisvõrgus, autendi iga avaldatud lõpp-punkt, piira päringute sagedust ja suurust ning luba ainult vajalikud lõpp-punktid. n8n suhtleb proksiga; kliendid ei pääse vLLM-ile otse.

Kasuta vLLM-i --api-key täiendava kontrollina toetatud inferentsilõpppunktide jaoks, mitte proksi ega tulemüüri asendusena. Hoiusta kõik volitused n8n-i volitustes või heakskiidetud salajaste andmete hoidlas, mitte lihtsates töövooväljades, mis eksportitakse Git-i.

Ära:

  • Seo 0.0.0.0 kodu või kontori WAN IP-le „ajutiselt.“
  • Jaga tunnel-URL-i Slackis.
  • Taaskasuta isiklikku OpenAI võtit „paroolina“ kohalikule serverile, mis seda kunagi ei kontrolli. Kui server ignoreerib Authorization-i, on võti teater.

Kohalikule lõpp-punktile saadetud promptid lahkuvad endiselt n8n-i serverist ning võivad jääda mudeliserveri, proksi ja n8n-i käitusajaloo logidesse. Kohalik majutus vähendab kolmanda osapoole pilves säilitamist, kuid ei kõrvalda logimist, ekraanipilte ega käitaja juurdepääsu. Liigita klienditekst oma poliitika ja kohaldatava õiguse järgi võimalikuks tundlikuks või isikuandmeks ning kontrolli seejärel säilitus- ja juurdepääsumeetmeid.

Laiema integratsioonihügieeni, sealhulgas piiratud õigustega pääsutunnuste, teenusekontode ja auditijälgede jaoks kasuta AI turvalise ühendamise mustreid.

Ajalõpud ja aeglane inferents

Kohalike mudelite latentsus sõltub tugevalt mudelist, prompti pikkusest, riistvarast, samaaegsusest ja külmkäivituse olekust. n8n-i sõlme tegelik ajalõpp sõltub ka sõlme liigist ja paigaldatud versioonist. HTTP Requesti sõlme dokumenteeritud ajalõpp katab vastuse päiste või päringukeha alguse ootamist; see ei tõenda, et voogedastatud või pikalt kestev genereerimine on otsast lõpuni piiratud. Õpetusest kopeeritud vaikeväärtus võib seetõttu katkestada aeglase, kuid korras töö või jätta mõne muu kihi selge piiranguta.

Määra ajalõpud teadlikult:

  1. Mõõda külma ja sooja päringu kestust curliga n8n-i serverist.
  2. Määra sõlme algvastuse ajalõpp mõõdetud p95 väärtusest pikemaks ja jäta põhjendatud varu koormustippudeks.
  3. Sobita töövoo, proksi, kliendi ja inferentsiserveri piirangud kogu genereerimise eelarvega.
  4. Eelista klassifitseerimiseks või marsruutimiseks lühemaid prompte ja väiksemat max_tokens; jäta pikad genereerimised asünkroonselt jätkuvateks mustandisammudeks.

Kui etapp kestab tavaliselt mitu minutit, tuleks see tõenäoliselt panna asünkroonse jätkamisega järjekorda, mitte siduda sünkroonse veebikonksuvastusega.

Tee suitsutest n8n-i protsessi võrgunimeruumist, mitte ainult sülearvutist. Konteineris töötav n8n ei pääse serveri localhost-aadressile, kui mudeli port ei ole sellesse võrku avaldatud. Kasuta Dockeri teenusenime, serveri lüüsi IP-aadressi või kohtvõrgu aadressi, kuhu konteiner oskab liiklust suunata.

Baas-URL-i korrashoiu kontrollnimekiri

Enne kui märgid mandaadi tootmisvalmis:

KontrollLäbimistingimus
Ulatusn8n-i käituskeskkond pääseb dokumenteeritud tervisemarsruudile ja autenditud /v1/models lõpp-punktile privaatvõrgust lahkumata
Tee/v1/chat/completions õnnestub väikese päringukehaga
AutentimineAutentimata järeldus lükatakse tagasi; kaitseta vLLM-i rada ei ole saadaval väljaspool kavandatud privaatpiiri
Mudeli idTäpne string ühtib sellega, mida server reklaamib
TLSNõutav, kui tee ületab usaldusväärseid võrke
LogiminePrompti/vastuse logimine on tahtlik ja säilituspiiratud
VarulahendusTöövoogudel on selge käitumine, kui lõpp-punkt ei ole kättesaadav
AjalõppAlgvastuse ja otsast lõpuni piirangud kajastavad n8n-i käituskeskkonnast tehtud mõõtmisi

Määratle selgelt, mis juhtub lõpp-punkti katkestuse korral: proovi kasvava viivitusega uuesti, suuna töö inimese järjekorda või lõpeta käitus nähtava veaga. Ära lülitu vaikselt teistsuguse privaatsustasemega avalikule API-le, kui see varutee pole dokumenteeritud ega heaks kiidetud.

Ära avalda teenust ilma kaitstud väravata

Reegel on lihtne: ära avalda vLLM-i otse ebausaldusväärsele võrgule. Selle API-võti ei kaitse kogu HTTP-teenust. Kasuta võrguisolatsiooni ja avalda autenditud, päringusagedusega piiratud värava kaudu ainult vajalikud teed.

Aktsepteeritavad mustrid:

  • Ainult tagasisideahel või Dockeri võrk, n8n samas serveris või pealisvõrgus.
  • Kohtvõrk ja tulemüüri lubatud loend proksi või n8n-i täituri identiteedi või IP-aadressi järgi; kontrolli reeglit keelatud serverist.
  • VPN või Tailscale/ZeroTier mesh; WAN-kuulajaid ei tohi olla.
  • Pöördproksi tugeva autentimise, TLS-i ja päringusageduse piirangutega, kui teenindada tuleb mitut usaldusväärset klienti.

Aktsepteerimatud mustrid:

  • Autentimata WAN-bind.
  • Tegelike andmetega proovilahendused, millele lubatakse autentimine lisada alles hiljem.
  • Sama autentimata lõpp-punkti jagamine iga sülearvutiga külalis-Wi-Fi-s.

Kui ehitad privaatset tarkvarapinu kohaliku inferentsi, n8n-i orkestreerimise ja agendisammuga, käsitle mudeli baas-URL-i sisemise liidesena. Hermes ja teised käituskeskkonnad saavad kasutada sama privaatset teenust. Kui n8n kutsub Hermest, vali autenditud API-server juhul, kui n8n vajab tulemust, või HMAC-veebikonksu adapter sündmuse vastuvõtmiseks ja seadistatud Hermese-edastuseks. Seda vastutuse jaotust kirjeldab n8n → Hermes: API-kutse või sündmuse veebikonks.

Minimaalne privaatne toe tee

Illustratiivne voog, mida saad juurutada ilma jõudlusnumbreid leiutamata:

  1. Pileti veebikonks jõuab n8n-i.
  2. Valideeri ja redigeeri väljad.
  3. HTTP Request kutsub privaatset /v1/chat/completions lõpp-punkti klassifikatsiooni JSON-iks.
  4. Switch-sõlm marsruudib sildi järgi.
  5. Mustandid, mis lahkuvad ettevõtte piirist, ootavad inimväravat (idempotentsus ja inimväravad).

Sellest piisab tõestamaks, et kohalik lõpp-punkt teenib oma koha enne rikkalikumate agentide lisamist.

Mida kontrollida redigeerimispäeval

Toote UI-d ja mandaadiväljade nimed triivivad. Päeval, mil sa selle töövoo välja saadad või värskendad:

  1. Kontrolli oma inferentsiserveri OpenAI-ga ühilduva lõpp-punkti kehtivat dokumentatsiooni.
  2. Kinnita, et HTTP Requesti pääsutunnus ja sõlme seadistus saadavad endiselt nõutud autentimise, päised ja toore JSON-kuju.
  3. Käivita uuesti curl ja üks n8n-i test mittetootmiskasutuse päringukehaga.
  4. Kinnita, et kuulaja on endiselt privaatne (ss või lsof, tulemüürireeglid ja ootamatute tunnelite puudumine), autentimata inferentsipäring ebaõnnestub ning vLLM-i dokumenteeritud kaitseta lõpp-punktid pole väljastpoolt turvapiiri kättesaadavad.

Kohalikud OpenAI-ga ühilduvad lõpp-punktid võimaldavad n8n-il kasutada privaatset inferentsi ilma automatiseerimisgraafi ümberkirjutamata. Põhiküsimus ei ole nutikas promptimine, vaid inferentsi käsitlemine nagu iga teist sisemist API-t: avaldatud piiril autendituna, mõõdetuna, teadlikult logituna ja kõrvalistele isikutele kättesaamatuna.

Järgmisena loe

Jätka sama õpiteekonda järgmiste praktiliste artiklitega.

Mine sügavamale

Hoolikalt valitud välised kursused, mis aitavad sellesse teemasse sügavamalt minna.

Vaata kõiki kursusi teemal „Automatiseerimine”