Appearance
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ó | Default | Szerep |
|---|---|---|
info_geo_enabled | true | Földrajzi toolok (hely, távolság, nearby), ha a kérdés földrajzi |
info_general_knowledge_enabled | false | Á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)
- Tenant info retrieval + doksi toolok (pl. teljes dokumentum)
- Geo – csak ha földrajzi intent és
info_geo_enabled general_knowledge– csak hainfo_general_knowledge_enabled- 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).
| Method | Path | Leírás |
|---|---|---|
| GET | /admin/info/chat-settings | Aktuális flagok |
| PUT | /admin/info/chat-settings | Flagok 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 id | Szerep |
|---|---|
info_general_knowledge | GK 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ó
- 47-info-chat-and-admin.md – CRUD + /info
- 48-info-web-crawl-from-url.md – web crawl → Info
- 49-info-surveys-public-widget.md – kérdőívek
- Séma:
scripts/migration/023_info_chat_settings.sql