From c2e2d8c4d64d21e5659e7b71b840eb492b260cae Mon Sep 17 00:00:00 2001 From: Mike Date: Sun, 12 Jul 2026 19:41:54 -0500 Subject: [PATCH 1/5] feat: support Claude, Gemini, and PaLM LLMs The Neon Diana/Hana backend already serves /llm/claude, /llm/gemini, and /llm/palm routes (confirmed against a live Hana instance), but the skill only exposed Chat GPT and FastChat. Extend the LLM enum and the request resolution/endpoint routing to cover all five, following the existing per-LLM pattern. - Add CLAUDE, GEMINI, PALM to the LLM enum - Route them to their Hana endpoints in _get_llm_response - Recognize spoken requests via new claude/gemini/palm .voc files and voc_match branches in _get_requested_llm - Add vocab to en-us and uk-ua entities and intent alternations - Add unit tests for LLM resolution and endpoint routing - Register new vocab in resource tests; note supported LLMs in README The fallback default remains FastChat (used by BrainForge). Co-Authored-By: Claude Opus 4.8 (1M context) --- README.md | 4 +++ __init__.py | 15 +++++++++ locale/en-us/intent/ask_llm.intent | 2 +- locale/en-us/intent/chat_with_llm.intent | 2 +- locale/en-us/intent/llm.entity | 8 +++++ locale/en-us/vocab/claude.voc | 3 ++ locale/en-us/vocab/gemini.voc | 5 +++ locale/en-us/vocab/palm.voc | 4 +++ locale/uk-ua/intent/ask_llm.intent | 2 +- locale/uk-ua/intent/chat_with_llm.intent | 2 +- locale/uk-ua/intent/llm.entity | 9 ++++++ locale/uk-ua/vocab/claude.voc | 5 +++ locale/uk-ua/vocab/gemini.voc | 5 +++ locale/uk-ua/vocab/palm.voc | 6 ++++ test/test_resources.yaml | 3 ++ test/test_skill.py | 39 ++++++++++++++++++++++++ 16 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 locale/en-us/vocab/claude.voc create mode 100644 locale/en-us/vocab/gemini.voc create mode 100644 locale/en-us/vocab/palm.voc create mode 100644 locale/uk-ua/vocab/claude.voc create mode 100644 locale/uk-ua/vocab/gemini.voc create mode 100644 locale/uk-ua/vocab/palm.voc diff --git a/README.md b/README.md index 3f215cc..a6d0e09 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,10 @@ To send a single query to an LLM, you can ask Neon to "ask Chat GPT " To start conversing with an LLM, ask to "talk to Chat GPT" and have all of your input sent to an LLM until you say goodbye or stop talking for a while. +Supported LLMs (subject to what your Neon Diana/Hana backend has deployed): +Chat GPT, FastChat, Claude, Gemini, and PaLM. Name any of them in a request, +e.g. "ask Claude " or "talk to Gemini". + Enable fallback behavior by asking to "enable LLM fallback skill" or disable it by asking to "disable LLM fallback". diff --git a/__init__.py b/__init__.py index d640711..800f143 100644 --- a/__init__.py +++ b/__init__.py @@ -46,6 +46,9 @@ class LLM(Enum): GPT = "Chat GPT" FASTCHAT = "FastChat" + CLAUDE = "Claude" + GEMINI = "Gemini" + PALM = "PaLM" class LLMSkill(FallbackSkill): @@ -177,6 +180,12 @@ def _get_llm_response(self, query: str, user: str, llm: LLM) -> str: endpoint = "chatgpt" elif llm == LLM.FASTCHAT: endpoint = "fastchat" + elif llm == LLM.CLAUDE: + endpoint = "claude" + elif llm == LLM.GEMINI: + endpoint = "gemini" + elif llm == LLM.PALM: + endpoint = "palm" else: raise ValueError(f"Expected LLM, got: {llm}") self.chat_history.setdefault(user, list()) @@ -196,6 +205,12 @@ def _get_requested_llm(self, message: Message) -> LLM: llm = LLM.GPT elif self.voc_match(request, "fastchat"): llm = LLM.FASTCHAT + elif self.voc_match(request, "claude"): + llm = LLM.CLAUDE + elif self.voc_match(request, "gemini"): + llm = LLM.GEMINI + elif self.voc_match(request, "palm"): + llm = LLM.PALM else: LOG.warning(f"No valid LLM in request: {request}") llm = LLM.GPT diff --git a/locale/en-us/intent/ask_llm.intent b/locale/en-us/intent/ask_llm.intent index 3d672c9..f2efaf3 100644 --- a/locale/en-us/intent/ask_llm.intent +++ b/locale/en-us/intent/ask_llm.intent @@ -1 +1 @@ -(ask|tell|task|half|sjet|asked|as) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|jack chi pt|fast chat|fastchat|chat gbt|chatgbt|chat gpt4|chatgpt4|a language model|an llm) {question} +(ask|tell|task|half|sjet|asked|as) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|jack chi pt|fast chat|fastchat|chat gbt|chatgbt|chat gpt4|chatgpt4|claude|anthropic|gemini|bard|palm|palm two|a language model|an llm) {question} diff --git a/locale/en-us/intent/chat_with_llm.intent b/locale/en-us/intent/chat_with_llm.intent index 1e35059..c0b38a5 100644 --- a/locale/en-us/intent/chat_with_llm.intent +++ b/locale/en-us/intent/chat_with_llm.intent @@ -1 +1 @@ -(i want to |)(chat|talk|converse|start a conversation) (to|with) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|jack chi pt|fast chat|fastchat|chat gbt|chatgbt|chat gpt4|chatgpt4|a language model|an llm) +(i want to |)(chat|talk|converse|start a conversation) (to|with) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|jack chi pt|fast chat|fastchat|chat gbt|chatgbt|chat gpt4|chatgpt4|claude|anthropic|gemini|bard|palm|palm two|a language model|an llm) diff --git a/locale/en-us/intent/llm.entity b/locale/en-us/intent/llm.entity index 0b3b8cb..ae40851 100644 --- a/locale/en-us/intent/llm.entity +++ b/locale/en-us/intent/llm.entity @@ -10,3 +10,11 @@ chat gbt chatgbt chat gpt4 chatgpt4 +fastchat +fast chat +claude +anthropic +gemini +bard +palm +palm two diff --git a/locale/en-us/vocab/claude.voc b/locale/en-us/vocab/claude.voc new file mode 100644 index 0000000..093c3e2 --- /dev/null +++ b/locale/en-us/vocab/claude.voc @@ -0,0 +1,3 @@ +claude +claud +anthropic \ No newline at end of file diff --git a/locale/en-us/vocab/gemini.voc b/locale/en-us/vocab/gemini.voc new file mode 100644 index 0000000..16d8e27 --- /dev/null +++ b/locale/en-us/vocab/gemini.voc @@ -0,0 +1,5 @@ +gemini +gemeni +bard +google's llm +google llm \ No newline at end of file diff --git a/locale/en-us/vocab/palm.voc b/locale/en-us/vocab/palm.voc new file mode 100644 index 0000000..5b4b1c5 --- /dev/null +++ b/locale/en-us/vocab/palm.voc @@ -0,0 +1,4 @@ +palm +palm two +palm 2 +palm2 \ No newline at end of file diff --git a/locale/uk-ua/intent/ask_llm.intent b/locale/uk-ua/intent/ask_llm.intent index 5e6930c..0e22bf9 100644 --- a/locale/uk-ua/intent/ask_llm.intent +++ b/locale/uk-ua/intent/ask_llm.intent @@ -1 +1 @@ -(запитай|скажи|попроси|задай питання|запитати|спитай|дізнайся у) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|чат gpt|чатgpt|штучний інтелект|мовну модель|llm) {question} +(запитай|скажи|попроси|задай питання|запитати|спитай|дізнайся у) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|чат gpt|чатgpt|claude|клод|gemini|джеміні|bard|palm|палм|штучний інтелект|мовну модель|llm) {question} diff --git a/locale/uk-ua/intent/chat_with_llm.intent b/locale/uk-ua/intent/chat_with_llm.intent index 53456ca..6c52f4a 100644 --- a/locale/uk-ua/intent/chat_with_llm.intent +++ b/locale/uk-ua/intent/chat_with_llm.intent @@ -1 +1 @@ -(я хочу |)(поспілкуватися|поговорити|почати розмову|спілкуватися) (з|із) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|чат gpt|чатgpt|штучним інтелектом|мовною моделлю|llm) +(я хочу |)(поспілкуватися|поговорити|почати розмову|спілкуватися) (з|із) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|чат gpt|чатgpt|claude|клод|gemini|джеміні|bard|palm|палм|штучним інтелектом|мовною моделлю|llm) diff --git a/locale/uk-ua/intent/llm.entity b/locale/uk-ua/intent/llm.entity index 82ebe3f..9e95b92 100644 --- a/locale/uk-ua/intent/llm.entity +++ b/locale/uk-ua/intent/llm.entity @@ -14,3 +14,12 @@ chatgpt4 чат gpt штучний інтелект мовна модель +claude +anthropic +клод +gemini +bard +джеміні +palm +palm two +палм diff --git a/locale/uk-ua/vocab/claude.voc b/locale/uk-ua/vocab/claude.voc new file mode 100644 index 0000000..fedf861 --- /dev/null +++ b/locale/uk-ua/vocab/claude.voc @@ -0,0 +1,5 @@ +claude +anthropic +клод +клауд +антропік \ No newline at end of file diff --git a/locale/uk-ua/vocab/gemini.voc b/locale/uk-ua/vocab/gemini.voc new file mode 100644 index 0000000..a8cc8ac --- /dev/null +++ b/locale/uk-ua/vocab/gemini.voc @@ -0,0 +1,5 @@ +gemini +bard +джеміні +джемені +бард \ No newline at end of file diff --git a/locale/uk-ua/vocab/palm.voc b/locale/uk-ua/vocab/palm.voc new file mode 100644 index 0000000..52271d5 --- /dev/null +++ b/locale/uk-ua/vocab/palm.voc @@ -0,0 +1,6 @@ +palm +palm two +palm 2 +palm2 +палм +палм два \ No newline at end of file diff --git a/test/test_resources.yaml b/test/test_resources.yaml index 4114424..69123b0 100644 --- a/test/test_resources.yaml +++ b/test/test_resources.yaml @@ -9,6 +9,9 @@ vocab: - exit - chat_gpt - fastchat + - claude + - gemini + - palm # dialog is .dialog file basenames (case-sensitive) dialog: - end_chat diff --git a/test/test_skill.py b/test/test_skill.py index ea5e0a4..af66823 100644 --- a/test/test_skill.py +++ b/test/test_skill.py @@ -124,6 +124,45 @@ def test_handle_email_chat_history(self): self.skill._send_email = real_send_email + def test_get_requested_llm(self): + cases = { + "ask chat gpt something": LLM.GPT, + "talk to fastchat": LLM.FASTCHAT, + "ask claude something": LLM.CLAUDE, + "chat with gemini": LLM.GEMINI, + "ask palm something": LLM.PALM, + } + for utterance, expected in cases.items(): + message = Message("test", {"utterance": utterance}) + self.assertEqual(self.skill._get_requested_llm(message), expected, + utterance) + # Unrecognized LLM falls back to GPT + message = Message("test", {"utterance": "ask the robot something"}) + self.assertEqual(self.skill._get_requested_llm(message), LLM.GPT) + + def test_get_llm_response_endpoints(self): + from unittest.mock import patch + expected = { + LLM.GPT: "chatgpt", + LLM.FASTCHAT: "fastchat", + LLM.CLAUDE: "claude", + LLM.GEMINI: "gemini", + LLM.PALM: "palm", + } + real_history = self.skill.chat_history + try: + for llm, endpoint in expected.items(): + self.skill.chat_history = dict() + with patch("skill_fallback_llm.request_backend", + return_value={"response": "hi"}) as mock_backend: + resp = self.skill._get_llm_response("hello", "endpoint_user", + llm) + self.assertEqual(resp, "hi") + self.assertEqual(mock_backend.call_args[0][0], + f"/llm/{endpoint}") + finally: + self.skill.chat_history = real_history + def test_converse(self): # TODO pass From 7587ec64cea807bef864709af2908879b990846b Mon Sep 17 00:00:00 2001 From: Mike Date: Sun, 12 Jul 2026 21:36:43 -0500 Subject: [PATCH 2/5] feat: make the fallback default LLM configurable The fallback handler (and unrecognized requests) hardcoded FastChat as the default LLM, so deployments that run a different backend service (e.g. only ChatGPT) got no fallback response -- requests routed to a /llm/fastchat endpoint with no consumer and timed out. Make `_default_llm` a settings-driven property reading `default_llm` (spoken name or enum name, e.g. "chat gpt", "Chat GPT", "GPT"). Defaults to FastChat, preserving existing behavior when unset. Co-Authored-By: Claude Opus 4.8 (1M context) --- __init__.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/__init__.py b/__init__.py index 800f143..5accff5 100644 --- a/__init__.py +++ b/__init__.py @@ -56,7 +56,6 @@ def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.chat_history = dict() self._default_user = "local" - self._default_llm = LLM.FASTCHAT self.chatting = dict() self.register_entity_file("llm.entity") @@ -80,6 +79,23 @@ def chat_timeout_seconds(self): def fallback_enabled(self): return self.settings.get("fallback_enabled", False) + @property + def _default_llm(self) -> LLM: + """LLM used for the fallback handler and unrecognized requests. + + Configurable via the `default_llm` setting (spoken name or enum name, + e.g. "chat gpt", "Chat GPT", or "GPT"); defaults to FastChat. + """ + configured = self.settings.get("default_llm") + if not configured: + return LLM.FASTCHAT + requested = str(configured).strip().lower() + for llm in LLM: + if requested in (llm.value.lower(), llm.name.lower()): + return llm + LOG.warning(f"Unrecognized default_llm={configured!r}; using FastChat") + return LLM.FASTCHAT + @fallback_handler(85) def fallback_llm(self, message): if not self.fallback_enabled: From fecbe755df534148451c9c4093a3b38e3110ea37 Mon Sep 17 00:00:00 2001 From: Mike Date: Sun, 12 Jul 2026 22:04:02 -0500 Subject: [PATCH 3/5] fix: always use "user" role in chat history _get_llm_response stored the message role as the username for non-local users, so Node requests (whose user id is a UUID) produced history entries like (, text). The backend maps roles through {"user","llm"} and raised ValueError: role= is undefined on the next turn, breaking multi-turn conversation for any non-local user. The role identifies the speaker type, not the user; always store "user". Co-Authored-By: Claude Opus 4.8 (1M context) --- __init__.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/__init__.py b/__init__.py index 5accff5..1b2d0ca 100644 --- a/__init__.py +++ b/__init__.py @@ -209,8 +209,9 @@ def _get_llm_response(self, query: str, user: str, llm: LLM) -> str: resp = resp.get("response") or "" if resp: - username = "user" if user == self._default_user else user - self.chat_history[user].append((username, query)) + # History roles must be the literal "user"/"llm" the backend maps; + # the per-user key identifies the history, not the message role. + self.chat_history[user].append(("user", query)) self.chat_history[user].append(("llm", resp)) LOG.debug(f"Got LLM response: {resp}") return resp From 47b99d9734812050d3456c47f7dbabee9156e6bf Mon Sep 17 00:00:00 2001 From: Mike Date: Sun, 12 Jul 2026 22:09:27 -0500 Subject: [PATCH 4/5] fix: route fallback speak back to the requesting Node The fallback handler spoke its LLM response from a daemon thread that did not carry the triggering message, so speak()'s dig_for_message() found no context and the reply was emitted without Node/session routing -- the local device heard it, but Node/Iris clients did not. Pass `message` into the worker thread so speak resolves routing, matching the existing _threaded_converse pattern. Co-Authored-By: Claude Opus 4.8 (1M context) --- __init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/__init__.py b/__init__.py index 1b2d0ca..f930234 100644 --- a/__init__.py +++ b/__init__.py @@ -105,7 +105,8 @@ def fallback_llm(self, message): LOG.info(f"Getting LLM response to: {utterance}") user = get_message_user(message) or self._default_user - def _threaded_get_response(utt, usr): + def _threaded_get_response(utt, usr, message): + # `message` required to resolve response routing in `speak` answer = self._get_llm_response(utt, usr, self._default_llm) if not answer: LOG.info("No fallback response") @@ -113,7 +114,8 @@ def _threaded_get_response(utt, usr): self.speak(answer) # TODO: Speak filler? - Thread(target=_threaded_get_response, args=(utterance, user), daemon=True).start() + Thread(target=_threaded_get_response, + args=(utterance, user, message), daemon=True).start() return True @intent_handler("enable_fallback.intent") From 3c962d0e1bb4cb77aaf4e59f94b2f6da5c6ec67a Mon Sep 17 00:00:00 2001 From: Mike Date: Mon, 20 Jul 2026 20:20:26 -0500 Subject: [PATCH 5/5] Remove PaLM support per review PaLM is deprecated by Google; the neon-hana endpoint is being removed in NeonGeckoCom/neon-hana#56. Drops the enum member, endpoint routing, voc_match branch, en-us/uk-ua vocab and intent entries, tests, and README mention. --- README.md | 2 +- __init__.py | 5 ----- locale/en-us/intent/ask_llm.intent | 2 +- locale/en-us/intent/chat_with_llm.intent | 2 +- locale/en-us/intent/llm.entity | 2 -- locale/en-us/vocab/palm.voc | 4 ---- locale/uk-ua/intent/ask_llm.intent | 2 +- locale/uk-ua/intent/chat_with_llm.intent | 2 +- locale/uk-ua/intent/llm.entity | 3 --- locale/uk-ua/vocab/palm.voc | 6 ------ test/test_resources.yaml | 1 - test/test_skill.py | 2 -- 12 files changed, 5 insertions(+), 28 deletions(-) delete mode 100644 locale/en-us/vocab/palm.voc delete mode 100644 locale/uk-ua/vocab/palm.voc diff --git a/README.md b/README.md index a6d0e09..45e4423 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ To start conversing with an LLM, ask to "talk to Chat GPT" and have all of your sent to an LLM until you say goodbye or stop talking for a while. Supported LLMs (subject to what your Neon Diana/Hana backend has deployed): -Chat GPT, FastChat, Claude, Gemini, and PaLM. Name any of them in a request, +Chat GPT, FastChat, Claude, and Gemini. Name any of them in a request, e.g. "ask Claude " or "talk to Gemini". Enable fallback behavior by asking to "enable LLM fallback skill" or disable it diff --git a/__init__.py b/__init__.py index f930234..4374b6b 100644 --- a/__init__.py +++ b/__init__.py @@ -48,7 +48,6 @@ class LLM(Enum): FASTCHAT = "FastChat" CLAUDE = "Claude" GEMINI = "Gemini" - PALM = "PaLM" class LLMSkill(FallbackSkill): @@ -202,8 +201,6 @@ def _get_llm_response(self, query: str, user: str, llm: LLM) -> str: endpoint = "claude" elif llm == LLM.GEMINI: endpoint = "gemini" - elif llm == LLM.PALM: - endpoint = "palm" else: raise ValueError(f"Expected LLM, got: {llm}") self.chat_history.setdefault(user, list()) @@ -228,8 +225,6 @@ def _get_requested_llm(self, message: Message) -> LLM: llm = LLM.CLAUDE elif self.voc_match(request, "gemini"): llm = LLM.GEMINI - elif self.voc_match(request, "palm"): - llm = LLM.PALM else: LOG.warning(f"No valid LLM in request: {request}") llm = LLM.GPT diff --git a/locale/en-us/intent/ask_llm.intent b/locale/en-us/intent/ask_llm.intent index f2efaf3..61e003f 100644 --- a/locale/en-us/intent/ask_llm.intent +++ b/locale/en-us/intent/ask_llm.intent @@ -1 +1 @@ -(ask|tell|task|half|sjet|asked|as) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|jack chi pt|fast chat|fastchat|chat gbt|chatgbt|chat gpt4|chatgpt4|claude|anthropic|gemini|bard|palm|palm two|a language model|an llm) {question} +(ask|tell|task|half|sjet|asked|as) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|jack chi pt|fast chat|fastchat|chat gbt|chatgbt|chat gpt4|chatgpt4|claude|anthropic|gemini|bard|a language model|an llm) {question} diff --git a/locale/en-us/intent/chat_with_llm.intent b/locale/en-us/intent/chat_with_llm.intent index c0b38a5..0793811 100644 --- a/locale/en-us/intent/chat_with_llm.intent +++ b/locale/en-us/intent/chat_with_llm.intent @@ -1 +1 @@ -(i want to |)(chat|talk|converse|start a conversation) (to|with) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|jack chi pt|fast chat|fastchat|chat gbt|chatgbt|chat gpt4|chatgpt4|claude|anthropic|gemini|bard|palm|palm two|a language model|an llm) +(i want to |)(chat|talk|converse|start a conversation) (to|with) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|jack chi pt|fast chat|fastchat|chat gbt|chatgbt|chat gpt4|chatgpt4|claude|anthropic|gemini|bard|a language model|an llm) diff --git a/locale/en-us/intent/llm.entity b/locale/en-us/intent/llm.entity index ae40851..9748f58 100644 --- a/locale/en-us/intent/llm.entity +++ b/locale/en-us/intent/llm.entity @@ -16,5 +16,3 @@ claude anthropic gemini bard -palm -palm two diff --git a/locale/en-us/vocab/palm.voc b/locale/en-us/vocab/palm.voc deleted file mode 100644 index 5b4b1c5..0000000 --- a/locale/en-us/vocab/palm.voc +++ /dev/null @@ -1,4 +0,0 @@ -palm -palm two -palm 2 -palm2 \ No newline at end of file diff --git a/locale/uk-ua/intent/ask_llm.intent b/locale/uk-ua/intent/ask_llm.intent index 0e22bf9..a7fa114 100644 --- a/locale/uk-ua/intent/ask_llm.intent +++ b/locale/uk-ua/intent/ask_llm.intent @@ -1 +1 @@ -(запитай|скажи|попроси|задай питання|запитати|спитай|дізнайся у) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|чат gpt|чатgpt|claude|клод|gemini|джеміні|bard|palm|палм|штучний інтелект|мовну модель|llm) {question} +(запитай|скажи|попроси|задай питання|запитати|спитай|дізнайся у) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|чат gpt|чатgpt|claude|клод|gemini|джеміні|bard|штучний інтелект|мовну модель|llm) {question} diff --git a/locale/uk-ua/intent/chat_with_llm.intent b/locale/uk-ua/intent/chat_with_llm.intent index 6c52f4a..e47a18a 100644 --- a/locale/uk-ua/intent/chat_with_llm.intent +++ b/locale/uk-ua/intent/chat_with_llm.intent @@ -1 +1 @@ -(я хочу |)(поспілкуватися|поговорити|почати розмову|спілкуватися) (з|із) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|чат gpt|чатgpt|claude|клод|gemini|джеміні|bard|palm|палм|штучним інтелектом|мовною моделлю|llm) +(я хочу |)(поспілкуватися|поговорити|почати розмову|спілкуватися) (з|із) (chatgpt|chat gpt|chat g p t|chat gpg|chat gptc|jackgpt|jack gpt|чат gpt|чатgpt|claude|клод|gemini|джеміні|bard|штучним інтелектом|мовною моделлю|llm) diff --git a/locale/uk-ua/intent/llm.entity b/locale/uk-ua/intent/llm.entity index 9e95b92..7bfc5fc 100644 --- a/locale/uk-ua/intent/llm.entity +++ b/locale/uk-ua/intent/llm.entity @@ -20,6 +20,3 @@ anthropic gemini bard джеміні -palm -palm two -палм diff --git a/locale/uk-ua/vocab/palm.voc b/locale/uk-ua/vocab/palm.voc deleted file mode 100644 index 52271d5..0000000 --- a/locale/uk-ua/vocab/palm.voc +++ /dev/null @@ -1,6 +0,0 @@ -palm -palm two -palm 2 -palm2 -палм -палм два \ No newline at end of file diff --git a/test/test_resources.yaml b/test/test_resources.yaml index 69123b0..ed98721 100644 --- a/test/test_resources.yaml +++ b/test/test_resources.yaml @@ -11,7 +11,6 @@ vocab: - fastchat - claude - gemini - - palm # dialog is .dialog file basenames (case-sensitive) dialog: - end_chat diff --git a/test/test_skill.py b/test/test_skill.py index af66823..a65357a 100644 --- a/test/test_skill.py +++ b/test/test_skill.py @@ -130,7 +130,6 @@ def test_get_requested_llm(self): "talk to fastchat": LLM.FASTCHAT, "ask claude something": LLM.CLAUDE, "chat with gemini": LLM.GEMINI, - "ask palm something": LLM.PALM, } for utterance, expected in cases.items(): message = Message("test", {"utterance": utterance}) @@ -147,7 +146,6 @@ def test_get_llm_response_endpoints(self): LLM.FASTCHAT: "fastchat", LLM.CLAUDE: "claude", LLM.GEMINI: "gemini", - LLM.PALM: "palm", } real_history = self.skill.chat_history try: