AI zpracovani textu funguje: klic, adresa a tri skripty
Sluzba byla v katalogu bez pristupovych udaju a s appId 'ai-text', tedy mirila na aplikaci, ktera neexistuje. Konektor nemel co vyplnit a krok nemel co vykonat. - sluzba stoji na api.openai.com/v1 stejne jako OpenAI, overeni GET /models - model se bere z konektoru (ctx.config.model), ne z kazdeho kroku zvlast - skripty ai-text.classify, ai-text.extract, ai-text.generate Proc to neni jedna sluzba s OpenAI: tam se posila volny dotaz a vraci volny text. Tady je uloha pevna a vystup taky - category a confidence, objekt s popsanymi poli, text s poctem slov. Na to jde ve strome navazat podminkou, na volny text ne. Zjisteno u toho a zapsane do 21-realne-sluzby.md: proxy vraci na neznamou aplikaci 200 s prazdnym telem, takze overeni konektoru u sluzby bez verifyPath projde i tam, kde nic nebezi. Zatim neopraveno. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
d71c111cf3
commit
aa0a783095
@@ -18,23 +18,24 @@ aplikaci nemaji.
|
||||
|
||||
## Ktera sluzba stoji na cem
|
||||
|
||||
| Sluzba katalogu | Aplikace (`appId`) | Overeni (`verifyPath`) |
|
||||
| ------------------ | ----------------------------- | ---------------------------------------------- |
|
||||
| iDoklad | `idoklad` | `/account/agenda` |
|
||||
| RAYNET CRM | `raynet` | `/company?limit=1` |
|
||||
| CSOB (PSD2) | `csob` | `/accounts?size=1` |
|
||||
| SAP Business One | `sap-bo` | `/api/system/info` |
|
||||
| PPL CPL | `pplcplapi` | `/customer` |
|
||||
| Microsoft 365 | `microsoft-365-service` | `/status` |
|
||||
| Google Workspace | `google-service` | `/google/drive/files` |
|
||||
| Google Analytics 4 | `analytics` | `/ga/admin/accountSummaries` |
|
||||
| Search Console | `analytics` | `/gsc/sites` |
|
||||
| Google Ads | `analytics` | `/googleads/customers:listAccessibleCustomers` |
|
||||
| Sklik | `analytics` | `/sklik/limits` |
|
||||
| Meta Ads | `meta` | `/ads/me/adaccounts` |
|
||||
| Prepis hovoru | `audio-transcription` | nema, overi se jen dostupnost |
|
||||
| E-mail | SMTP server firmy | prihlaseni na server, nic se neodesila |
|
||||
| OpenAI | mimo nas, `api.openai.com/v1` | `/models` |
|
||||
| Sluzba katalogu | Aplikace (`appId`) | Overeni (`verifyPath`) |
|
||||
| ------------------- | ----------------------------- | ---------------------------------------------- |
|
||||
| iDoklad | `idoklad` | `/account/agenda` |
|
||||
| RAYNET CRM | `raynet` | `/company?limit=1` |
|
||||
| CSOB (PSD2) | `csob` | `/accounts?size=1` |
|
||||
| SAP Business One | `sap-bo` | `/api/system/info` |
|
||||
| PPL CPL | `pplcplapi` | `/customer` |
|
||||
| Microsoft 365 | `microsoft-365-service` | `/status` |
|
||||
| Google Workspace | `google-service` | `/google/drive/files` |
|
||||
| Google Analytics 4 | `analytics` | `/ga/admin/accountSummaries` |
|
||||
| Search Console | `analytics` | `/gsc/sites` |
|
||||
| Google Ads | `analytics` | `/googleads/customers:listAccessibleCustomers` |
|
||||
| Sklik | `analytics` | `/sklik/limits` |
|
||||
| Meta Ads | `meta` | `/ads/me/adaccounts` |
|
||||
| Prepis hovoru | `audio-transcription` | nema, overi se jen dostupnost |
|
||||
| E-mail | SMTP server firmy | prihlaseni na server, nic se neodesila |
|
||||
| OpenAI | mimo nas, `api.openai.com/v1` | `/models` |
|
||||
| AI zpracovani textu | mimo nas, `api.openai.com/v1` | `/models` |
|
||||
|
||||
**Ctyri sluzby na jedne aplikaci.** GA4, Search Console, Google Ads a Sklik
|
||||
bezi v `analytics`, ale kazda ma **jine pristupove udaje** a jine ceny za
|
||||
@@ -47,9 +48,23 @@ overene nejsou - test, ktery projde i se spatnym klicem, by lhal.
|
||||
|
||||
## Sluzby, ktere aplikaci zatim nemaji
|
||||
|
||||
E-shop, WhatsApp, Facebook Messenger, Instagram, SMS, Slack, Voicebot
|
||||
a AI zpracovani textu jsou v katalogu jako popis toho, co chceme umet. Konektor
|
||||
u nich zalozit jde, ale overeni skonci chybou, protoze na te adrese nic nebezi.
|
||||
E-shop, WhatsApp, Facebook Messenger, Instagram, SMS a Slack jsou v katalogu
|
||||
jako popis toho, co chceme umet. Konektor u nich zalozit jde, ale nic za nim
|
||||
neni.
|
||||
|
||||
**Pozor: overeni u nich projde.** Proxy vraci na neznamou aplikaci `200`
|
||||
s prazdnym telem, takze `GET /apps/<neco>/health` vypada jako zdrava sluzba
|
||||
i u aplikace, ktera neexistuje:
|
||||
|
||||
```bash
|
||||
curl -o /dev/null -w "%{http_code}" https://services.csbot.cz/apps/tohle-neexistuje-xyz/health
|
||||
# 200
|
||||
```
|
||||
|
||||
Sluzba bez `verifyPath` se overuje prave pres `/health`, takze konektor rekne
|
||||
"Sluzba odpovida" i tam, kde nic nebezi. Neni to chyba overovani, je to chyba
|
||||
predpokladu: 2xx od proxy neznamena, ze za ni neco je. Napravit to znamena
|
||||
vyzadovat, aby `/health` neco odpovedel, ne jen vratil kod.
|
||||
|
||||
Meta Ads je **neco jineho nez Facebook Messenger a Instagram**: aplikace `meta`
|
||||
je nad Marketing API, tedy reklamy, a je jen pro cteni. Zpravy ze stranky
|
||||
@@ -130,9 +145,26 @@ server-to-server nehodi. App secret je povinny tam, kde ma aplikace zapnute
|
||||
Deepgram i OpenAI klic. Obe sluzby bezi paralelne a treti volani jejich
|
||||
vysledky slucuje, takze bez obou klicu to nefunguje.
|
||||
|
||||
### OpenAI
|
||||
### OpenAI a AI zpracovani textu
|
||||
|
||||
Jen API klic. Zadava se **holy**, slovo `Bearer` dopise portal - viz nize.
|
||||
Obe stoji na temze API a obe chteji jen API klic. Zadava se **holy**, slovo
|
||||
`Bearer` dopise portal - viz nize.
|
||||
|
||||
Rozdil je v tom, na co se ptaji. **OpenAI** posila volny dotaz a vraci volny
|
||||
text; hodi se, kdyz clovek vi, co chce napsat. **AI zpracovani textu** ma
|
||||
hotove ulohy s pevnym vystupem:
|
||||
|
||||
| Operace | Vraci |
|
||||
| -------------------- | ----------------------------------------------- |
|
||||
| Zaradit do kategorie | `category`, `confidence` a jestli je ze seznamu |
|
||||
| Vytahnout udaje | objekt s poli, ktera si popsal uzivatel |
|
||||
| Vygenerovat text | text plus pocet slov |
|
||||
|
||||
Pevny vystup je ten duvod, proc to neni jedna sluzba: na `category`
|
||||
a `confidence` jde ve strome navazat podminkou, na volny text ne.
|
||||
|
||||
Model se u teto sluzby bere z konektoru (`ctx.config.model`), aby se nemusel
|
||||
vyplnovat u kazdeho kroku znovu.
|
||||
|
||||
## OpenAI: sluzba, ktera nebezi u nas
|
||||
|
||||
@@ -328,6 +360,9 @@ sluzeb: OpenAI zvladne stovky megabajtu, nas zaznam behu ne.
|
||||
| `openai.ask-about-file` | otazka nad souborem pres Responses API |
|
||||
| `openai.transcribe-audio` | prepis zvuku |
|
||||
| `openai.list-models` | co ucet umi |
|
||||
| `ai-text.classify` | zarazeni s jistotou, hlida vycet kategorii |
|
||||
| `ai-text.extract` | vystup podle poli, ktera popsal uzivatel |
|
||||
| `ai-text.generate` | text s omezenim delky, tonu a jazyka |
|
||||
|
||||
E-mail v tabulce neni schvalne: neni to skript, ale vnitrni krok, viz vyse.
|
||||
|
||||
|
||||
@@ -2,6 +2,36 @@
|
||||
|
||||
Nejnovejsi nahore.
|
||||
|
||||
## 2026-08-28 - AI zpracovani textu funguje
|
||||
|
||||
Sluzba byla v katalogu bez pristupovych udaju a s `appId: 'ai-text'`, tedy
|
||||
mirila na aplikaci, ktera neexistuje. Konektor nemel co vyplnit a krok nemel
|
||||
co vykonat.
|
||||
|
||||
### Zmeneno
|
||||
|
||||
- **Sluzba ma API klic a skutecnou adresu.** Stoji na `api.openai.com/v1`
|
||||
stejne jako OpenAI, overeni je `GET /models`. Model se bere z konektoru
|
||||
(`ctx.config.model`), aby se nevyplnoval u kazdeho kroku znovu.
|
||||
|
||||
### Pridano
|
||||
|
||||
- **Tri skripty**: `ai-text.classify`, `ai-text.extract`, `ai-text.generate`.
|
||||
|
||||
Proc to neni jedna sluzba s OpenAI: tam se posila volny dotaz a vraci volny
|
||||
text. Tady je uloha pevna a **vystup taky** - `category` a `confidence`,
|
||||
objekt s popsanymi poli, text s poctem slov. Prave na to jde ve strome navazat
|
||||
podminkou, na volny text ne.
|
||||
|
||||
### Zjisteno u toho
|
||||
|
||||
- **Overeni konektoru projde i u sluzby, ktera neexistuje.** Proxy vraci na
|
||||
neznamou aplikaci `200` s prazdnym telem, a sluzba bez `verifyPath` se
|
||||
overuje prave pres `/health`. Konektor tedy rekne "Sluzba odpovida" i tam,
|
||||
kde nic nebezi. Tyka se to E-shopu, WhatsAppu, Facebooku, Instagramu, SMS
|
||||
a Slacku. Zapsane v [21-realne-sluzby.md](21-realne-sluzby.md), zatim
|
||||
neopravene.
|
||||
|
||||
## 2026-08-26 - jazyky, skutecny snimek v heru a opravene titulky
|
||||
|
||||
### Pridano
|
||||
|
||||
Reference in New Issue
Block a user