kotaemon/libs/ktem/ktem/pages/chat/chat_suggestion.py
Tuan Anh Nguyen Dang (Tadashi_Cin) 3bd3830b8d
feat: sso login, demo mode & new mindmap support (#644) bump:minor
* fix: update .env.example

* feat: add SSO login

* fix: update flowsetting

* fix: add requirement

* fix: refine UI

* fix: update group id-based operation

* fix: improve citation logics

* fix: UI enhancement

* fix: user_id to string in models

* fix: improve chat suggestion UI and flow

* fix: improve group id handling

* fix: improve chat suggestion

* fix: secure download for single file

* fix: file limiting in docstore

* fix: improve chat suggestion logics & language conform

* feat: add markmap and select text to highlight function

* fix: update Dockerfile

* fix: user id auto generate

* fix: default user id

* feat: add demo mode

* fix: update flowsetting

* fix: revise default params for demo

* feat: sso_app alternative

* feat: sso login demo

* feat: demo specific customization

* feat: add login using API key

* fix: disable key-based login

* fix: optimize duplicate upload

* fix: gradio routing

* fix: disable arm build for demo

* fix: revise full-text search js logic

* feat: add rate limit

* fix: update Dockerfile with new launch script

* fix: update Dockerfile

* fix: update Dockerignore

* fix: update ratelimit logic

* fix: user_id in user management page

* fix: rename conv logic

* feat: update demo hint

* fix: minor fix

* fix: highlight on long PDF load

* feat: add HF paper list

* fix: update HF papers load logic

* feat: fly config

* fix: update fly config

* fix: update paper list pull api

* fix: minor update root routing

* fix: minor update root routing

* fix: simplify login flow & paper list UI

* feat: add paper recommendation

* fix: update Dockerfile

* fix: update Dockerfile

* fix: update default model

* feat: add long context Ollama through LCOllama

* feat: espose Gradio share to env

* fix: revert customized changes

* fix: list group at app load

* fix: relocate share conv button

* fix: update launch script

* fix: update Docker CI

* feat: add Ollama model selection at first setup

* docs: update README
2025-02-02 15:19:48 +07:00

43 lines
1.2 KiB
Python

import gradio as gr
from ktem.app import BasePage
from theflow.settings import settings as flowsettings
class ChatSuggestion(BasePage):
CHAT_SAMPLES = getattr(
flowsettings,
"KH_FEATURE_CHAT_SUGGESTION_SAMPLES",
[
"Summary this document",
"Generate a FAQ for this document",
"Identify the main highlights in bullet points",
],
)
def __init__(self, app):
self._app = app
self.on_building_ui()
def on_building_ui(self):
self.chat_samples = [[each] for each in self.CHAT_SAMPLES]
with gr.Accordion(
label="Chat Suggestion",
visible=getattr(flowsettings, "KH_FEATURE_CHAT_SUGGESTION", False),
) as self.accordion:
self.default_example = gr.State(
value=self.chat_samples,
)
self.examples = gr.DataFrame(
value=self.chat_samples,
headers=["Next Question"],
interactive=False,
elem_id="chat-suggestion",
wrap=True,
)
def as_gradio_component(self):
return self.examples
def select_example(self, ev: gr.SelectData):
return {"text": ev.value}