Uživatelské nástroje

Nástroje pro tento web


techdoc:aiassist

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
techdoc:aiassist [09.07.2025 11:39] turychtechdoc:aiassist [10.09.2025 13:28] (aktuální) turych
Řádek 2: Řádek 2:
 Do aplikací ESO9 přibyla možnost využívat AI asistenta a (živého) asistenta s online Podporou. Obě možnosti jsou zapojeny do dialogu "//AI asistent//", který se zobrazuje v každém formuláři vpravo dole. Oba asistenti využívají členění konverzace do témat pro jejich lepší přehled.\\ Do aplikací ESO9 přibyla možnost využívat AI asistenta a (živého) asistenta s online Podporou. Obě možnosti jsou zapojeny do dialogu "//AI asistent//", který se zobrazuje v každém formuláři vpravo dole. Oba asistenti využívají členění konverzace do témat pro jejich lepší přehled.\\
 === AI asistent === === AI asistent ===
-AI asistent využívá pro dotazy uživatelů engine //Open AI// (aka //Chat GPT//). Počítá tedy s některou z placených variant této služby. Pro generování odpovědí uživatelům využívá primárně nápovědu k dané činnosti, pokud se v některé odpovědí vyskytne i odkaz na naší wiki, použije se i obsah odkazovaného dokumentu. Dále se používá se nápověda ke klávesovým zkratkámV budoucnu bude kontext ivatelských odpovědí obsahovat i nejvíce relevantní úryvky ze všech dostupných dokumentací uložených v databázi znalostí ESO9. Limitem je pouze omezení dané počtem tokenů, které lze na API rozhraní odeslat v rámci jednoho volání, tj. pro udržení kontextu. Komunikace s AI přes API je bezestavová, tj. veškerý kontext, který je nutný pro generování odpovědí, je třeba poslat AI zároveň s dotazem uživatele. Např. model "//GPT-4-turbo//" má omezen jeden dotaz na 128tis. tokenů. Protože je API zpoplatněno právě na počet tokenů, může být využití velmi širokého kontextu dražší. Bližší informace o cenách předplatného lze najít na [[https://openai.com/api/pricing/]].+AI asistent využívá pro dotazy uživatelů engine //Open AI// (aka //Chat GPT//). Počítá tedy s některou z placených variant této služby. Pro generování odpovědí uživatelům využívá primárně nápovědu k dané činnosti a nápovědu činností z ní odkazovaných (pouze 1.úroveň odkazů). Dále se používá databáze znalostí o ESO9, která obsahuje veškerou dostupnou dokumentaci k ESO9, ESO9 Start a ESO9 PAMProtože je tato databáze poměrně rozsáhlá, vybere se z ní pro každý ivatelský dotaz 8-10 nejvíce relevantních úryvků (tzv.chunks), které se přidají do kontextu pro sestavení odpovědi pomocí AI. Limitem je pouze omezení dané počtem tokenů, které lze na API rozhraní odeslat v rámci jednoho volání, tj. pro udržení kontextu. Komunikace s AI přes API je bezestavová, tj. veškerý kontext, který je nutný pro generování odpovědí, je třeba poslat AI zároveň s dotazem uživatele. Např. model "//GPT-4-turbo//" má omezen jeden dotaz na 128tis. tokenů. Protože je API zpoplatněno právě na počet tokenů, může být využití velmi širokého kontextu dražší. Bližší informace o cenách předplatného lze najít na [[https://openai.com/api/pricing/]].
 V budoucnu nebude problém pro sestavení odpovědí zapojit i další enginy (např. //Claude//, //Deep Seek// aj.).\\ V budoucnu nebude problém pro sestavení odpovědí zapojit i další enginy (např. //Claude//, //Deep Seek// aj.).\\
 === Online Podpora === === Online Podpora ===
-Pokud odpovědi od AI nedostačují nebo je problém složitější, lze se v dialogovém okně ikonou uživatele přepnout na online chat s pracovníkem naší Podpory. Při inicializace konverzace s Podporou se stáhnou dostupné informace o uživateli (kód uživatele, jeho e-mail a funkce; vše z tabulky uživatelů v aplikaci) a formuláři (URL). Pracovník Podpory má tak k dispozici základní kontext uživatelovy otázky. V rámci dialogu s Podporou lze kromě textové komunikace i odesílat či přijímat soubory (např. screenshoty). Pokud pracovník Podpory neodpoví zákazníkovi ihned, popř. zákazník nečeká na odpověď a pokračuje v práci v aplikaci, zobrazí se mu v okamžiku příchodu zprávy z Podpory překryvná ikona s počtem nepřečtených zpráv. A naopak pracovníkovi Podpory přijde notifikace dotazu od uživatele standardním mechanismem vyhodnocení událostí. Komunikace s Podporou se na naší straně ukládá a v budoucnu může být předmětem fakturace. Proběhlá konverzace je samozřejmě k dispozici i uživateli pro případ, že by se chtěl v budoucnu ptát na totéž, případně navázat na původní konverzaci např. novým poznatkem.\\+Pokud odpovědi od AI nedostačují nebo je problém složitější, lze se v dialogovém okně ikonou uživatele přepnout na online chat s pracovníkem naší Podpory. Při inicializace konverzace s Podporou se stáhnou dostupné informace o uživateli (kód uživatele, jeho e-mail a funkce; vše z tabulky uživatelů v aplikaci) a formuláři (URL). Pracovník Podpory má tak k dispozici základní kontext uživatelovy otázky. V rámci dialogu s Podporou lze kromě textové komunikace i odesílat či přijímat soubory (např. screenshoty). Pokud pracovník Podpory neodpoví zákazníkovi ihned, popř. zákazník nečeká na odpověď a pokračuje v práci v aplikaci, zobrazí se mu v okamžiku příchodu zprávy z Podpory překryvná ikona s počtem nepřečtených zpráv. A naopak pracovníkovi Podpory přijde notifikace dotazu od uživatele standardním mechanismem vyhodnocení událostí. Komunikace s Podporou se na naší straně ukládá a v budoucnu může být předmětem fakturace. Proběhlá konverzace je samozřejmě k dispozici i uživateli pro případ, že by se chtěl v budoucnu ptát na totéž, případně navázat na původní konverzaci např. novým poznatkem. Výhodou tohoto řešení je, že veškerá konverzace vč.příloh zůstává zůstává uložena jednom místě, není tedy třeba prohledávat typicky e-maily různých uživatelů, popř. vzpomínat na proběhlé telefonáty s různými osobami. 
 +\\
 === Konfigurace === === Konfigurace ===
 Oba asistenti se konfigurují v aplikačních parametrech ve skupině "//AI Assist//": Oba asistenti se konfigurují v aplikačních parametrech ve skupině "//AI Assist//":
-Parametr "//ESO9AIsvcURL//" obsahuje URL adresu služby //ESO9AIsvc//. Ta se jednorázově instaluje v rámci infrastruktury zákazníka; podrobnější popis je uveden v samostatné kapitole. Jedna webová služba //ESO9AIsvc// obsluhuje jednu aplikaci ESO9. Pro ověření přístupu k této službě se využívají přístupové údaje uvedené v parametrech "//ESO9AIsvcName//" a "//ESO9AIsvcPwd//". V rámci konfigurace pouze AI asistenta může být hodnota těchto parametrů libovolná, jde jen o to neumožnit využívat (předplacené) Open AI API libovolným klientům bez ověření. Pokud zákazník nechce AI asistenta používat, postačí ponechat hodnotu parametru "//ESO9AIsvcURL//" prázdnou, což je zároveň výchozí hodnota po instalaci nové verze.\\+Parametr "//ESO9AIsvcURL//" obsahuje URL adresu služby //ESO9AIsvc//. Ta se jednorázově instaluje v rámci infrastruktury zákazníka; podrobnější popis je uveden v samostatné kapitole. V případě provozu zákazníka na našem cloudu tuto služnu instalujeme my. Jedna webová služba //ESO9AIsvc// obsluhuje jednu aplikaci ESO9. Pro ověření přístupu k této službě se využívají přístupové údaje uvedené v parametrech "//ESO9AIsvcName//" a "//ESO9AIsvcPwd//". V rámci konfigurace pouze AI asistenta může být hodnota těchto parametrů libovolná, jde jen o to neumožnit využívat (předplacené) Open AI API libovolným klientům bez ověření. Pokud zákazník nechce AI asistenta používat, postačí ponechat hodnotu parametru "//ESO9AIsvcURL//" prázdnou, což je zároveň výchozí hodnota po instalaci nové verze.\\
  
-Pro nastavení asistenta s online Podporou je třeba zpřístupnit tuto službu zákazníkovi ze strany společnosti //ESO9 international a.s.// Výsledkem budou přístupové informace (jméno/heslo), které si zákazník nastaví ve své aplikaci v parametrech "//ESO9AIsvcName//" a "//ESO9AIsvcPwd//". Dalším parametrem je "//ESO9CustSuppSvcURL//" s URL adresou online Podpory. Pokud zákazník nechce online Podporu využívat, postačí ponechat hodnotu parametru "//ESO9CustSuppSvcURL//" prázdnou, což je zároveň výchozí hodnota po instalaci nové verze.\\+Pro nastavení asistenta s online Podporou není třeba nic dalšího instalovat, služba běží na portále společnosti ESO9 international a.s. Pro zpřístupnění této služby zákazníkovi je třeba zažádat si u naší společnosti o přístupové informace (jméno/heslo), které si zákazník nastaví ve své aplikaci v parametrech "//ESO9AIsvcName//" a "//ESO9AIsvcPwd//". Dalším parametrem je "//ESO9CustSuppSvcURL//" s URL adresou služby online Podpory. Pokud zákazník nechce online Podporu využívat, postačí ponechat hodnotu parametru "//ESO9CustSuppSvcURL//" prázdnou, což je zároveň výchozí hodnota po instalaci nové verze.\\
  
 === Instalace služby AI asistenta === === Instalace služby AI asistenta ===
Řádek 17: Řádek 18:
 Postup instalace a zprovoznění služby je podobný instalaci //ESO9 JSON API//, která je detailně popsána {{ :techdoc:eso9_json_api.pdf |zde}}.\\ Postup instalace a zprovoznění služby je podobný instalaci //ESO9 JSON API//, která je detailně popsána {{ :techdoc:eso9_json_api.pdf |zde}}.\\
 Po instalaci je nutné službu jednorázově nakonfigurovat. Veškerá konfigurace se týká souboru //appsettings.json// ve webu služby (typicky C:\inetpub\wwwroot\ESO9AIsvc\appsettings.json). Konfigurační soubor obsahuje zejména:\\ Po instalaci je nutné službu jednorázově nakonfigurovat. Veškerá konfigurace se týká souboru //appsettings.json// ve webu služby (typicky C:\inetpub\wwwroot\ESO9AIsvc\appsettings.json). Konfigurační soubor obsahuje zejména:\\
-  * OpenAI_API_Key - klíč pro přístup k API rozhraní Open AI. Klíče jsou dostupné na adrese [[https://platform.openai.com/api-keys]]. Po úhradě předplatného se na základě tohoto klíče počítají spotřebované tokeny. +  * //OpenAI_API_Key// - klíč pro přístup k API rozhraní Open AI. Klíče jsou dostupné na adrese [[https://platform.openai.com/api-keys]]. Po úhradě předplatného se na základě tohoto klíče počítají spotřebované tokeny. 
-  * ConnectionStrings / AppDB - připojovací řetězec k aplikační databázi.+  * //ConnectionStrings / AppDB// - připojovací řetězec k aplikační databázi.
 == AI asistent - databázová oprávnění == == AI asistent - databázová oprávnění ==
 V aplikační databázi je třeba povolit přístupy k těmto objektům:\\ V aplikační databázi je třeba povolit přístupy k těmto objektům:\\
-  * Tabulka CINNOST - oprávnění pro SELECT +  * Tabulky a pohled //CINNOSTCINPRILOHA, UZIVATEL, PARAM, QKONVERZACE_TEMA// - oprávnění pro SELECT
-  * Tabulka ESO9STart.DBO.CINPRILOHA - oprávnění pro SELECT+
   * Tabulka KONVERZACE, KONVERZACE_TEMA - oprávnění pro SELECT, DELETE, INSERT a UPDATE   * Tabulka KONVERZACE, KONVERZACE_TEMA - oprávnění pro SELECT, DELETE, INSERT a UPDATE
-  * Procedury spTXT_KONVERZACE spTXT_KONVERZACE_TEMA - oprávnění pro EXECUTE+  * Funkce //fnHodnotaParUziv_Varchar// - oprávnění pro EXECUTE 
 +  * Funkce //fnUSerParams// - oprávnění pro SELECT 
 +  * Procedury //spTXT_KONVERZACEspTXT_KONVERZACE_TEMA// - oprávnění pro EXECUTE 
 +== AI asistent - databázová oprávnění - SQL skript == 
 +Následující skript provede nastavení oprávnění pro roli //eso9ai_role//: 
 +<code> 
 +-- založení role v databázi 
 +USE [< DBname , sysname, >] 
 +CREATE ROLE [eso9ai_role] 
 +GO 
 +-- procedury v roli  
 +USE [< DBname , sysname, >] 
 +GRANT SELECT ON CINNOST TO [eso9ai_role] 
 +GRANT SELECT ON CINPRILOHA TO [eso9ai_role] 
 +GRANT EXECUTE ON [dbo].[fnHodnotaParUziv_Varchar] TO [eso9ai_role] 
 +GRANT SELECT ON [dbo].[fnUSerParams] TO [eso9ai_role] 
 +GRANT DELETE ON KONVERZACE TO [eso9ai_role] 
 +GRANT INSERT ON KONVERZACE TO [eso9ai_role] 
 +GRANT SELECT ON KONVERZACE TO [eso9ai_role] 
 +GRANT UPDATE ON KONVERZACE TO [eso9ai_role] 
 +GRANT DELETE ON KONVERZACE_TEMA TO [eso9ai_role] 
 +GRANT INSERT ON KONVERZACE_TEMA TO [eso9ai_role] 
 +GRANT SELECT ON KONVERZACE_TEMA TO [eso9ai_role] 
 +GRANT UPDATE ON KONVERZACE_TEMA TO [eso9ai_role] 
 +GRANT SELECT ON PARAM TO [eso9ai_role] 
 +GRANT SELECT ON QKONVERZACE_TEMA TO [eso9ai_role] 
 +GRANT EXECUTE ON spTXT_KONVERZACE TO [eso9ai_role] 
 +GRANT EXECUTE ON spTXT_KONVERZACE_TEMA TO [eso9ai_role] 
 +GRANT SELECT ON UZIVATEL TO [eso9ai_role] 
 +GO 
 + 
 +GO 
 +-- založení sql loginu 
 +USE [master] 
 +CREATE LOGIN [eso9api.ai.< DBname , sysname, >] WITH PASSWORD=N'<login_password,varchar,>', DEFAULT_DATABASE=[< DBname , sysname, >], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON 
 +-- Na Cloud ESO9: 
 +-- ALTER SERVER ROLE [ESO_SQLUser] ADD MEMBER [eso9api.ai.< DBname , sysname, >] 
 +GO 
 +-- přiřazení sql loginu do role v databázi 
 +USE [< DBname , sysname, >] 
 +CREATE USER [eso9api.ai.< DBname , sysname, >] FOR LOGIN [eso9api.ai.< DBname , sysname, >] 
 +ALTER ROLE [eso9ai_role] ADD MEMBER [eso9api.ai.< DBname , sysname, >] 
 +GO 
 +</code> 
 + 
techdoc/aiassist.1752061179.txt.gz · Poslední úprava: 09.07.2025 11:39 autor: turych

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki
DokuWiki Appliance - Powered by TurnKey Linux