Skip to content

Info: geo és általános tudás (chat-settings)

Az Info chat (/info …) alapból a tenant indexelt info elemeiből válaszol (47-info-chat-and-admin.md). Emellett tenant szinten kapcsolható:

KapcsolóDefaultSzerep
info_geo_enabledtrueFöldrajzi toolok (hely, távolság, nearby), ha a kérdés földrajzi
info_general_knowledge_enabledfalseÁltalános tudás fallback, ha doksi + geo sem ad választ

Nincs hallucináció: ha sem doksi, sem geo, sem GK → nincs kitalált válasz (INFO_NO_MATCH jellegű viselkedés).


Döntési sorrend (Info tool-loop)

  1. Tenant info retrieval + doksi toolok (pl. teljes dokumentum)
  2. Geo – csak ha földrajzi intent és info_geo_enabled
  3. general_knowledge – csak ha info_general_knowledge_enabled
  4. Végső kimenet: answer

Geo hívási szerződés (röviden): üres retrieval nem indokol automatikus geo-t; céges cím / nem-földrajzi kérdésre ne hívjon geo toolt. Részletek a belső docs/info-geo-call-contract.md szerint.


Chat-settings API

Prefix: /admin/info (JWT). Szerepkör: Info admin (EDITOR+ a meglévő Info admin szabály szerint).

MethodPathLeírás
GET/admin/info/chat-settingsAktuális flagok
PUT/admin/info/chat-settingsFlagok mentése

Request / response

json
{
  "info_general_knowledge_enabled": false,
  "info_geo_enabled": true
}

Python

python
import requests

BASE_URL = "https://<your-api-host>"
JWT = "your-jwt-token"
headers = {"Authorization": f"Bearer {JWT}", "Content-Type": "application/json"}

# get
print(requests.get(f"{BASE_URL}/admin/info/chat-settings", headers=headers).json())

# enable general knowledge, keep geo
r = requests.put(
    f"{BASE_URL}/admin/info/chat-settings",
    headers=headers,
    json={
        "info_general_knowledge_enabled": True,
        "info_geo_enabled": True,
    },
)
print(r.status_code, r.json())

TypeScript

typescript
const BASE_URL = "https://<your-api-host>";
const headers = {
  Authorization: `Bearer ${JWT}`,
  "Content-Type": "application/json",
};

await fetch(`${BASE_URL}/admin/info/chat-settings`, {
  method: "PUT",
  headers,
  body: JSON.stringify({
    info_general_knowledge_enabled: true,
    info_geo_enabled: true,
  }),
}).then((r) => r.json());

cURL

bash
curl -sS "$BASE_URL/admin/info/chat-settings" \
  -H "Authorization: Bearer $JWT"

curl -sS -X PUT "$BASE_URL/admin/info/chat-settings" \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  -d '{"info_general_knowledge_enabled":true,"info_geo_enabled":true}'

PHP

php
<?php
$ch = curl_init("$BASE_URL/admin/info/chat-settings");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $JWT",
        "Content-Type: application/json",
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "info_general_knowledge_enabled" => true,
        "info_geo_enabled" => true,
    ]),
]);
echo curl_exec($ch);
curl_close($ch);

Display név (GK disclaimer)

Ha az általános tudás válaszol, a felhasználói szöveg tipikusan:

A(z) [Display Név] dokumentumai alapján nincs találat, de az általános tudásbázisom alapján…

A display név a tenant profilból jön (GET/PUT /admin/profile/display, TENANT_ADMIN+). Ha üres, a UI/backend fallback szöveggel dolgozik.


Billing / LLM

Endpoint idSzerep
info_general_knowledgeGK tool LLM hívás
(meglévő info / chat endpointok)Fő Info loop

Árak: System Admin ártábla – hiányzó ár → pricing hiba (mint máshol).


Chat példa (/info + geo vagy GK)

Ugyanaz a chat endpoint, mint a 47-ben:

python
payload = {
    "channel": "internal",
    "text": "/info Milyen messze van Budapest Bécstől?",
    "session_id": "info-geo-demo",
}
requests.post(f"{BASE_URL}/chat", json=payload, headers=headers)

Földrajzi kérdés + info_geo_enabled → geo toolok.
Általános világismeret + bekapcsolt GK + nincs doksi találat → general_knowledge.


Kapcsolódó