Title: Migracija %E2%80%94 LLM EU Canonical: https://llmeu.com/hr/docs/migration/ Markdown mirror: https://llmeu.com/hr/docs/migration.md Machine-readable: https://llmeu.com/llms.txt (index) - https://llmeu.com/llms-full.txt (full catalogue) - https://llmeu.com/llms-catalogue.json Po%C4%8Dnite - [Brzi po%C4%8Detak](/hr/docs/quickstart/) - [Konzola](/hr/docs/console/) - [Migracija](/hr/docs/migration/) - [API referenca](/hr/docs/api/) Reference - [Autentifikacija](/hr/docs/authentication/) - [Krajnje to%C4%8Dke](/hr/docs/endpoints/) - [Gre%C5%A1ke](/hr/docs/errors/) - [Ograni%C4%8Denja brzine](/hr/docs/rate-limits/) - [Streaming](/hr/docs/streaming/) - [Politike](/hr/docs/policies/) - [Usmjeravanje i pravila](/hr/docs/routing/) - [Rezidencija i regije](/hr/docs/residency/) - [Dokazi i provjera](/hr/docs/evidence/) - [OpenAI kompatibilnost](/hr/docs/openai-compat/) Upravljanje - [Samostalno hostanje](/hr/docs/self-hosting/) # Migracija Osnovni URL i klju%C4%8D prebacuju OpenAI klijent. Ova stranica tako%C4%91er navodi %C5%A1to API ne radi, jer migracija koja to otkrije u produkciji nije migracija. ## Oblik izravne zamjene Usmjerite osnovni URL klijenta na https://api.llmeu.com/v1 i dajte mu API klju%C4%8D iz konzole. Oblik zahtjeva se ne mijenja. ``` from openai import OpenAI client = OpenAI(base_url="https://api.llmeu.com/v1", api_key="llmeu_live_xxxxxxxx.your-secret") resp = client.chat.completions.create( model="llmeu-auto", messages=[{"role": "user", "content": "Say hello from EU hosting."}], ) print(resp.choices[0].message.content) ``` ## %C5%A0to prihva%C4%87a krajnja to%C4%8Dka za chat Validacija zahtjeva u apps/api/src/app.mjs provjerava sljede%C4%87e; ono %C5%A1to ne provjerava propu%C5%A1ta se ili zanemaruje umjesto odbijanja, pa noviji klijent nastavlja raditi. - model i messages su obavezni; messages mora biti neprazno polje. - Svaka poruka treba imati ulogu (system, user, assistant, tool ili developer) i sadr%C5%BEaj kao string ili polje dijelova. - stream mora biti boolean kada je prisutan. - temperature, top_p, max_tokens, presence_penalty, frequency_penalty, seed i n moraju biti brojevi kada su prisutni. - max_tokens mora biti najmanje 1. - n mora biti to%C4%8Dno 1; sve ostalo se odbija. - stop mo%C5%BEe biti string ili polje stringova. - tools mora biti polje kada je prisutno. - llmeu mora biti objekt; nikada nije obavezan. - tool_choice i response_format proslje%C4%91uju se pozadinskom sustavu zajedno s gornjim poljima; nepoznato dodatno polje se ne odbija. ## Dodaci zahtjeva unutar llmeu Objekt llmeu s imenskim prostorom u tijelu zahtjeva; klijent koji zanemaruje nepoznata polja mo%C5%BEe ga sigurno poslati. Nepoznati klju%C4%8Devi unutar llmeu se zanemaruju; poznati klju%C4%8D s neva%C5%BEe%C4%87om vrijedno%C5%A1%C4%87u se odbija, jer lo%C5%A1 data_class mora odbiti zahtjev umjesto da tiho zna%C4%8Di da nema klase podataka. ``` curl https://api.llmeu.com/v1/chat/completions \ -H "Authorization: Bearer $LLMEU_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "llmeu-auto", "messages": [{"role": "user", "content": "Summarise this contract."}], "llmeu": {"residency": "eu-owned", "data_class": "confidential", "retention": "zero"} }' ``` ## %C5%A0to ne postoji Ovi su odgovori namjerni, i klijent koji ih o%C4%8Dekuje vidi k%C3%B4d pogre%C5%A1ke, a ne tihu zamjenu. ## Izvoz va%C5%A1ih podataka Izvoz ra%C4%8Duna me.json sadr%C5%BEi odabrana polja ra%C4%8Duna, organizacije, metapodatke API klju%C4%8Da bez tajni, trenuta%C4%8Dne politike, najnovijih 200 tragova po organizaciji i dnevne zbirne podatke o upotrebi za 365 dana. To nije potpuna kopija svih osobnih podataka i nije povijesni zapis politika. NDJSON izvoz revizije prema zadanim postavkama obuhva%C4%87a 7 dana, dopu%C5%A1ta najvi%C5%A1e 90 dana i ograni%C4%8Dava tragove na 5000; njegov manifest sadr%C5%BEi counts.truncated, %C5%A1to ozna%C4%8Dava izvoz koji je dosegnuo ograni%C4%8Denje. ``` GET /app/exports/me.json GET /app/exports/audit.ndjson?days=7 GET /app/exports/traces.json GET /app/exports/usage.json GET /app/exports/policies.json ``` Brisanje samog ra%C4%8Duna obavlja se na stranici profila i podlije%C5%BEe pravilu o vlasni%C5%A1tvu na stranici konzole. ## Sesijski kola%C4%8Di%C4%87 nije API vjerodajnica Sesija preglednika autentificira konzolu, a ne API. OpenAI klijent koji je po%C5%A1alje odbija se s 403 api_key_required i umjesto toga mora koristiti API klju%C4%8D. Odbijanje ovdje navodi kod, pa se migracija mo%C5%BEe granati na temelju njega, a llmeu blok u svakom odgovoru govori %C5%A1to se stvarno dogodilo.