Kutsu vLLM:ää ja muita OpenAI-yhteensopivia päätepisteitä n8n:stä
Keskitaso8 min lukemistaAutomaatiot

Kutsu vLLM:ää ja muita OpenAI-yhteensopivia päätepisteitä n8n:stä

Kutsu paikallista OpenAI-yhteensopivaa /v1/chat/completions-päätepistettä n8n:n HTTP Request -solmusta. Määritä todennus, aikakatkaisubudjetti ja perusosoite täsmällisesti ja pidä palvelu yksityisen verkkorajan sisällä.

Mitä sinun pitäisi osata

n8n voi kutsua paikallista OpenAI-yhteensopivaa /v1/chat/completions-reittiä HTTP Request -solmulla. Päätepiste on kuitenkin yksityistä infrastruktuuria: todenna avatut reitit, eristä palvelu, mittaa viive äläkä pidä vLLM:n API-avainta koko palvelimen tietoturvarajana.

Tallennettu vain tällä selaimella.
Tässä artikkelissa

Yksityisessä ympäristössä ajettavista malleista on hyötyä vain, jos automaatiosi tavoittavat ne. n8n:n varmennettu yleinen ratkaisu on HTTP Request -solmu. Se voi kutsua OpenAI-yhteensopivaa vLLM-palvelinta tai muuta toteutusta, joka tarjoaa reitin POST /v1/chat/completions ja hyväksyy siihen tulevat pyynnöt.

Tämä operaattorin opas kertoo, miten HTTP-kutsu yhdistetään ja todennetaan, miten aikakatkaisubudjetti mitoitetaan paikallisen päättelyn mittaustuloksista ja miten mallipalvelu pidetään epäluotettujen verkkojen ulottumattomissa.

Jos vielä arvioit, onko n8n oikea automaatiokerros, aloita artikkelista n8n vs Zapier vs Make. Jos rakennat tämän tiedonsiirtokerroksen päälle agenttityönkulkuja, lue myös ensimmäinen tekoälyagenttisi n8n:ssä.

Julkisesta internetistä ilman todennusta saavutettava OpenAI-yhteensopiva päätepiste on avoin päättelyvälityspalvelin. Sen löytäjä voi kuluttaa GPU-aikaa. vLLM:n tapauksessa hyökkääjä voi päästä myös päättely- ja ylläpitoreiteille, joita --api-key ei suojaa. Kehotteiden vuotaminen on erillinen lokitus- ja pääsynhallintariski, ei chat-reitin automaattinen ominaisuus. Sido palvelu yksityisiin verkkoihin. Vaadi todennus yhdyskäytävässä. Älä tee porttiohjausta ”vain esittelyä varten”.

Mitä ”OpenAI-yhteensopiva” tarkoittaa tässä

n8n:n tarkoituksiin sopimus on kapea:

  • Perusosoite osoittaa palvelimen juureen tai /v1:een sen mukaan, miten solmu odottaa sitä.
  • Chat-kutsut osuvat /v1/chat/completions -reittiin (tai vastaavaan polkuun, jonka node liittää).
  • Pyynnön runko noudattaa chat completion -muotoa: model, messages, valinnainen temperature, max_tokens ja niin edelleen.
  • Vastaus palauttaa choices-luettelon, jonka message-sisällön solmu voi jäsentää.

Et tarvitse kaikkien OpenAI-tuoterajapintojen ominaisuuksia. Tarvitset chat completion -reitin, jonka pyyntömuodon, todennuksen, mallitunnuksen ja vastausmuodon olet testannut n8n:stä.

vLLM dokumentoi tämän OpenAI-yhteensopivan palvelintilan; muut ajoympäristöt tarjoavat samankaltaisia muotoja. Vahvista reitti ja curl-esimerkkipyyntö omassa asennuksessasi ennen tuotantotyönkulkujen kytkemistä. Rajapinta on yleinen, mutta reitit, mallitunnukset, todennus ja vastausten yhteensopivuus voivat muuttua tuotteiden ja versioiden välillä.

Varmennettu n8n-polku: HTTP Request

Nykyinen n8n:n virallinen dokumentaatio ei määritä mukautettua perusosoitetta OpenAI-tunnukselle eikä OpenAI Chat Model -solmulle. Käsittele tällaista tietyn n8n-version tai yhteisösolmun kenttää versiokohtaisena, kunnes olet varmistanut sen. Dokumentoitu yleinen ratkaisu on HTTP Request -solmu, jolla hallitset täsmällisesti menetelmää, URL-osoitetta, otsakkeita, pyynnön runkoa, todennusta ja uudelleenyritysasetuksia.

Käytä yleistä bearer- tai otsaketunnusta sen sijaan, että upottaisit salaisuuden työnkulkuun. Tunnuksen on sisällettävä arvo, jonka inferenssipalvelu tai sen yhdyskäytävä todella validoi. Täytearvo pelkästään LAN-verkossa sijaitsevassa endpointissa ei ole todennus.

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
}

Korvaa mallimerkkijono reitin /v1/models palauttamalla täsmällisellä tunnuksella. Jos käytät NVIDIA NemoClawin paikallista vLLM-polkua, käytä tunnusta, jonka se tallentaa käynnissä olevalta palvelimelta tai valitusta hallitusta profiilista. Hallittu vLLM on tuettujen hostien vaihtoehto, ei kaikkien NemoClaw-asennusten yleinen ominaisuus; yleinen Linux-järjestelmä vaatii erikseen kokeellisen tai täsmällisen palveluntarjoajavalinnan. Älä keksi checkpoint-nimeä muistista.

HTTP Request on myös oikea vaihtoehto, kun toimittajakohtainen AI-node ei dokumentoi mukautettua endpointia.

Todennus ja verkkokontrollit, jotka todella suojaavat

Paikallinen ei tarkoita autentikoimatonta.

vLLM:n osalta --api-key ei ole koko HTTP-palvelun tietoturvaraja. Virallinen tietoturvasivu dokumentoi suojatut ja suojaamattomat endpoint-joukot ja suosittelee verkkoeristystä sekä reverse proxya, kun altistus on välttämätöntä (vLLM:n tietoturvaohjeistus). API-avain inferenssireiteillä ei todista, että jokainen reitti hylkää autentikoimattoman liikenteen.

Vaadittu perustaso: sido vLLM vain loopback-osoitteeseen, kontti- tai klusteriverkkoon tai yksityiseen liitäntään, jota suojaava palomuurikäytäntö päästää läpi vain välityspalvelimen tai n8n-työkuorman. Aseta Caddy, nginx, Traefik tai vastaava hallittu yhdyskäytävä palvelun eteen, jos yhteyttä tarvitaan useammalta kuin yhdeltä palvelimelta. Päätä TLS-yhteys siinä, missä liikenne ei jo kulje luotetun salatun verkon kautta. Todenna jokainen avaamasi reitti, rajoita kutsutiheyttä ja pyyntöjen kokoa sekä salli vain tarvittavat polut. n8n keskustelee välityspalvelimen kanssa, eivätkä asiakkaat tavoita vLLM:ää suoraan.

Käytä vLLM:n --api-key-asetusta lisäkontrollina tuetuille päättelypäätepisteille, ei välityspalvelimen tai palomuurin korvikkeena. Säilytä kaikki tunnukset n8n:n tunnistevarastossa tai hyväksytyssä salaisuusvarastossa, ei suojaamattomissa työnkulkukentissä, jotka viedään Gitiin.

Älä:

  • Sido 0.0.0.0 kodin tai toimiston WAN-IP:hen ”väliaikaisesti”.
  • Jaa tunnel-URL Slackissa.
  • Käytä henkilökohtaista OpenAI-avainta ”salasanana” paikalliselle palvelimelle, joka ei koskaan tarkista sitä. Jos palvelin ohittaa Authorization-otsakkeen, avain on vain näennäinen suoja.

Paikalliseen endpointiin lähetetyt kehotteet poistuvat silti n8n-hostista ja voivat tallentua inferenssipalvelimelle, proxylle ja n8n:n suoritushistoriaan. Paikallinen hostaus vähentää kolmansien osapuolten pilvisäilytystä, mutta ei poista lokitusta, kuvakaappauksia eikä operaattorin pääsyä. Luokittele asiakasteksti käytäntösi ja sovellettavan lain mukaan mahdollisesti arkaluonteiseksi tai henkilötiedoksi ja tarkista sitten säilytys- ja pääsynhallintakontrollit.

Laajempaan integraatiohygieniaan, kuten rajattuihin tunnuksiin, palvelutileihin ja auditointijälkiin, voit käyttää artikkelin tekoälyn turvallinen yhdistäminen malleja.

Aikakatkaisut ja hidas päättely

Paikallisen mallin viive vaihtelee voimakkaasti mallin, kehotteen pituuden, laitteiston, rinnakkaisuuden ja kylmäkäynnistyksen mukaan. n8n-noden todellinen aikakatkaisu riippuu myös nodesta ja asennetusta versiosta. HTTP Request -noden dokumentoitu aikakatkaisu kattaa vastausotsakkeiden tai vastausbodyn alun odottamisen; se ei todista suoratoistetun tai pitkän generoinnin olevan rajattu päästä päähän. Opetusohjeesta kopioitu oletusarvo voi siten kaataa terveen mutta hitaan tehtävän tai jättää toisen kerroksen ilman selvää rajaa.

Aseta aikakatkaisut tietoisesti:

  1. Mittaa kylmän ja valmiiksi käynnissä olevan palvelun kutsu curlilla n8n-palvelimelta.
  2. Aseta noden alkuvastauksen aikakatkaisu mitatun p95-arvon yläpuolelle ja lisää perusteltu marginaali kuormapiikeille.
  3. Sovita työnkulun, proxyn, asiakkaan ja inferenssipalvelimen rajat koko generointibudjettiin.
  4. Käytä lyhyempiä kehotteita ja pienempiä max_tokens-arvoja luokittelu- tai reititysvaiheissa; varaa pitkät generoinnit luonnosvaiheisiin, jotka voivat jatkua asynkronisesti.

Jos vaihe rutiininomaisesti ylittää muutaman minuutin, tuo vaihe voi kuulua jonoon async-jatkolla, ei synkroniseen webhook-vasteeseen.

Tee perustesti n8n-prosessin verkkonimiavaruudesta, ei vain kannettavaltasi. Dockerissa ajettava n8n ei voi tavoittaa palvelimen localhost-osoitetta, ellei malliporttia julkaista kyseiseen verkkoon. Käytä Docker-palvelun nimeä, palvelinyhdyskäytävän IP-osoitetta tai LAN-osoitetta, johon kontti voi reitittää.

Perusosoitteen tarkistuslista

Ennen kuin merkitset tunnuksen tuotantovalmiiksi:

TarkistusHyväksymisehto
Saavutettavuusn8n:n ajoympäristö tavoittaa dokumentoidun terveystarkistusreitin ja todennetun /v1/models-reitin poistumatta yksityisestä verkosta
Polku/v1/chat/completions onnistuu pienellä hyötykuormalla
TodennusTodentamaton päättelypyyntö hylätään; yksikään suojaamaton vLLM-reitti ei ole tavoitettavissa suunnitellun yksityisen rajan ulkopuolelta
MallitunnusTarkka merkkijono vastaa palvelimen ilmoittamaa tunnusta
TLSVaadittu, jos polku ylittää epäluotettavia verkkoja
LokitusKehote- ja vastauslokitus on tarkoituksellista ja säilytysajaltaan rajattua
VarajärjestelyTyönkululla on selkeä toimintatapa, kun päätepiste ei ole käytettävissä
AikakatkaisuAlkuvastauksen ja koko suorituksen rajat vastaavat n8n:n ajoympäristöstä tehtyjä mittauksia

Endpointin käyttökatkon käsittelyn tulee olla täsmällinen: uudelleenyritys viiveellä, reititys ihmisen jonoon tai ajon näkyvä epäonnistuminen. Älä siirry hiljaisesti julkiseen API:in, jonka tietosuojamalli on toinen, ellei siirtymä ole dokumentoitu ja hyväksytty polku.

Älä koskaan altista ilman porttia

Sääntö on yksinkertainen: älä altista vLLM:ää suoraan epäluotetulle verkolle. Sen API-avain ei suojaa koko HTTP-palvelua. Käytä verkkoeristystä ja altista vain tarvittavat reitit todennetun ja nopeusrajoitetun yhdyskäytävän kautta.

Hyväksyttäviä malleja:

  • Vain loopback tai Docker-verkko, n8n samalla hostilla tai overlaylla.
  • LAN + palomuurin allowlist proxylle tai n8n-työkuorman identiteetille/IP:lle; varmenna säännöt estetyltä hostilta.
  • VPN tai Tailscale/ZeroTier-mesh; ei WAN-kuuntelijoita.
  • Käänteinen välityspalvelin, jossa on vahva todennus, TLS ja kutsutiheysrajat, jos sinun täytyy palvella useita luotettuja asiakkaita.

Hyväksymättömiä malleja:

  • Todentamaton WAN-sidonta.
  • ”Todennus lisätään myöhemmin” -esittelyt oikealla aineistolla.
  • Saman todentamattoman päätepisteen jakaminen jokaiselle kannettavalle vierasverkossa.

Jos rakennat yksityistä kokonaisuutta, johon kuuluvat paikallinen inferenssi, n8n-orkestrointi ja agenttivaihe, pidä mallin base URL sisäisenä sopimuksena. Hermes ja muut ajoympäristöt voivat osoittaa samaan yksityiseen palveluun. Kun n8n kutsuu Hermestä, valitse todennettu API-palvelin, jos n8n tarvitsee tuloksen, tai HMAC-webhook-sovitin tapahtumien vastaanottoon ja Hermesin määritettyyn toimitukseen. Jako käsitellään artikkelissa n8n → Hermes: API-kutsu vai tapahtumawebhook.

Minimaalinen yksityinen tukipolku

Havainnollistava kulku, jonka voit toteuttaa keksimättä suorituskykylukuja:

  1. Tiketti-webhook osuu n8n:ään.
  2. Validoi ja peitä kentät.
  3. HTTP Request kutsuu yksityistä /v1/chat/completions-endpointia luokittelu-JSON:n saamiseksi.
  4. Switch-solmu reitittää luokan mukaan.
  5. Luonnokset, jotka jättävät yrityksen rajan, odottavat ihmisporttia (idempotenssi ja ihmisportit).

Se riittää todistamaan, että paikallinen endpoint ansaitsee paikkansa ennen rikkaampien agenttien lisäämistä.

Mitä varmentaa editointipäivänä

Tuote-UI:t ja credential-kenttänimet ajautuvat. Päivänä, jona toimitat tai päivität tämän työnkulun:

  1. Vahvista live-dokumentit inferenssipalvelimesi OpenAI-yhteensopivalle reitille.
  2. Vahvista, että HTTP Request -solmun tunnus ja määritys lähettävät edelleen vaaditun todennuksen, otsakkeet ja muuttamattoman JSON-muodon.
  3. Aja uudelleen curl ja yksi n8n-testiajo tuotantodataa sisältämättömällä testihyötykuormalla.
  4. Vahvista, että kuunteleva palvelu on yhä yksityinen (ss/lsof, palomuurisäännöt, ei yllättävää tunnelia), että todentamaton päättelypyyntö epäonnistuu ja että vLLM:n dokumentoidut suojaamattomat päätepisteet eivät ole tavoitettavissa ulkorajan yli.

Paikalliset OpenAI-yhteensopivat endpointit antavat n8n:n käyttää yksityistä inferenssiä kirjoittamatta automaatiograafia uudelleen. Työssä ei ole kyse nokkelista kehotteista, vaan inferenssin kohtelemisesta kuten mitä tahansa sisäistä API:a: se todennetaan altistetulla rajalla, mitataan, lokitetaan tarkoituksellisesti ja pidetään tuntemattomien ulottumattomissa.

Lue seuraava

Jatka samaa oppimisreittiä seuraavilla käytännön artikkeleilla.