From f62ec691ef6dc779877fe95db846175a6b81a17d Mon Sep 17 00:00:00 2001 From: Christopher Hertel Date: Mon, 16 Dec 2024 23:52:17 +0100 Subject: [PATCH] refactor: follow up on example structure --- README.md | 4 +- assets/app.js | 3 + assets/icons/entypo/chat.svg | 1 - assets/icons/mdi/symfony.svg | 1 + assets/icons/mingcute/ai-fill.svg | 1 - assets/styles/app.css | 106 +----------------- assets/styles/blog.css | 61 ++++++++++ assets/styles/wikipedia.css | 31 +++++ assets/styles/youtube.css | 49 ++++++++ config/packages/llm_chain.yaml | 2 +- config/routes.yaml | 13 ++- demo.png | Bin 54356 -> 66632 bytes src/Blog/{Chat/Blog.php => Chat.php} | 8 +- ...{BlogEmbedCommand.php => EmbedCommand.php} | 2 +- .../Command/QueryCommand.php} | 32 ++---- src/Blog/Embedder.php | 2 +- src/Blog/{Loader.php => FeedLoader.php} | 2 +- .../BlogComponent.php => TwigComponent.php} | 9 +- .../{Chat/Wikipedia.php => Chat.php} | 4 +- ...kipediaComponent.php => TwigComponent.php} | 7 +- src/YouTube/{Chat/YouTube.php => Chat.php} | 5 +- ...YouTubeComponent.php => TwigComponent.php} | 7 +- templates/{components => }/_message.html.twig | 2 +- templates/base.html.twig | 4 +- .../{chat/rag.html.twig => chat.html.twig} | 4 +- templates/chat/wikipedia.html.twig | 9 -- templates/chat/youtube.html.twig | 9 -- .../{rag.html.twig => blog.html.twig} | 14 +-- templates/components/wikipedia.html.twig | 8 +- templates/components/youtube.html.twig | 12 +- templates/index.html.twig | 18 +-- tests/Blog/LoaderTest.php | 6 +- tests/SmokeTest.php | 34 +++--- 33 files changed, 239 insertions(+), 231 deletions(-) delete mode 100644 assets/icons/entypo/chat.svg create mode 100644 assets/icons/mdi/symfony.svg delete mode 100644 assets/icons/mingcute/ai-fill.svg create mode 100644 assets/styles/blog.css create mode 100644 assets/styles/wikipedia.css create mode 100644 assets/styles/youtube.css rename src/Blog/{Chat/Blog.php => Chat.php} (93%) rename src/Blog/Command/{BlogEmbedCommand.php => EmbedCommand.php} (95%) rename src/{Command/ChromaTestCommand.php => Blog/Command/QueryCommand.php} (69%) rename src/Blog/{Loader.php => FeedLoader.php} (98%) rename src/Blog/{Twig/BlogComponent.php => TwigComponent.php} (84%) rename src/Wikipedia/{Chat/Wikipedia.php => Chat.php} (96%) rename src/Wikipedia/{Twig/WikipediaComponent.php => TwigComponent.php} (84%) rename src/YouTube/{Chat/YouTube.php => Chat.php} (96%) rename src/YouTube/{Twig/YouTubeComponent.php => TwigComponent.php} (92%) rename templates/{components => }/_message.html.twig (94%) rename templates/{chat/rag.html.twig => chat.html.twig} (56%) delete mode 100644 templates/chat/wikipedia.html.twig delete mode 100644 templates/chat/youtube.html.twig rename templates/components/{rag.html.twig => blog.html.twig} (70%) diff --git a/README.md b/README.md index 68377bd..5213517 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ docker compose exec app bin/console app:blog:embed -vv Now you should be able to run the test command and get some results: ```shell -docker compose exec app bin/console app:chroma:test +docker compose exec app bin/console app:blog:query ``` **Don't forget to set up the project in your favorite IDE or editor.** @@ -89,4 +89,4 @@ docker compose exec app bin/console app:chroma:test * The chatbot application is a simple and small Symfony 7.2 application. * The UI is coupled to a [Twig LiveComponent](https://symfony.com/bundles/ux-live-component/current/index.html), that integrates different `Chat` implementations on top of the user's session. * You can reset the chat context by hitting the `Reset` button in the top right corner. -* You find three different usage scenarios in the upper navbar. \ No newline at end of file +* You find three different usage scenarios in the upper navbar. diff --git a/assets/app.js b/assets/app.js index dda9570..82c28fd 100644 --- a/assets/app.js +++ b/assets/app.js @@ -1,3 +1,6 @@ import './bootstrap.js'; import 'bootstrap/dist/css/bootstrap.min.css'; import './styles/app.css'; +import './styles/blog.css'; +import './styles/youtube.css'; +import './styles/wikipedia.css'; diff --git a/assets/icons/entypo/chat.svg b/assets/icons/entypo/chat.svg deleted file mode 100644 index b1f6939..0000000 --- a/assets/icons/entypo/chat.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/mdi/symfony.svg b/assets/icons/mdi/symfony.svg new file mode 100644 index 0000000..5ed8680 --- /dev/null +++ b/assets/icons/mdi/symfony.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/mingcute/ai-fill.svg b/assets/icons/mingcute/ai-fill.svg deleted file mode 100644 index 03ddb45..0000000 --- a/assets/icons/mingcute/ai-fill.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/styles/app.css b/assets/styles/app.css index a546e8d..f6151b1 100644 --- a/assets/styles/app.css +++ b/assets/styles/app.css @@ -1,16 +1,5 @@ body { min-height: 100vh; - &.rag, .rag .card-img-top { - background: rgb(220,139,110); - background: linear-gradient(0deg, rgba(220,139,110,1) 0%, rgba(244,233,115,1) 100%); - } - &.youtube, .youtube .card-img-top { - background: rgb(34,34,34); - background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgb(71, 71, 71) 100%); - } - &.wikipedia, .wikipedia .card-img-top { - background: url('/wiki.png') no-repeat right 50px bottom 50px fixed, linear-gradient(0deg, rgb(246, 246, 246) 0%, rgb(197, 197, 197) 100%); - } footer, footer a { color: #6c757d; @@ -20,10 +9,6 @@ body { .index { .card-img-top { text-align: center; - - .youtube & { - color: #ff0000; - } } } @@ -44,55 +29,19 @@ body { .card-body { height: 700px; - .wikipedia & { - background-image: linear-gradient(135deg, #f2f2f2 16.67%, #ebebeb 16.67%, #ebebeb 50%, #f2f2f2 50%, #f2f2f2 66.67%, #ebebeb 66.67%, #ebebeb 100%); - background-size: 21.21px 21.21px; - } - .user-message { border-radius: 10px 10px 0 10px; color: #292929; - - .rag & { - background: #f4e973; - } - - .youtube & { - background: #3e2926; - color: #fafafa; - } - - .wikipedia & { - background: #ffffff; - } } .bot-message { border-radius: 10px 10px 10px 0; + color: #292929; - .rag & { - background: #dc8b6e; - - a { - color: #f4e973; - } - } - - .youtube & { - background: #df3535; - - a { - color: #3e2926; - } - } - - .wikipedia & { - background: #ffffff; - color: #292929 !important; + &.loading { + color: rgba(41, 41, 41, 0.5); } - color: #fff; - p { margin-bottom: 0; } @@ -102,31 +51,6 @@ body { width: 50px; height: 50px; border: 2px solid white; - - .rag &.bot { - outline: 1px solid #ffdacc; - background: #ffdacc; - } - - .rag &.user { - outline: 1px solid #fffad1; - background: #fffad1; - } - - .youtube &.bot { - outline: 1px solid #ffcccc; - background: #ffcccc; - } - - .youtube &.user { - outline: 1px solid #9e8282; - background: #9e8282; - } - - .wikipedia &.bot, .wikipedia &.user { - outline: 1px solid #eaeaea; - background: #eaeaea; - } } } @@ -138,28 +62,4 @@ body { box-shadow: none !important; } } - - #welcome { - h4 { - .rag & { - color: #f97b62; - } - - .youtube & { - color: #ff0000; - } - } - } - - #chat-reset, #chat-submit { - .rag &:hover { - background: #f97b62; - border-color: #f97b62; - } - - .youtube &:hover { - background: #ff0000; - border-color: #ff0000; - } - } } diff --git a/assets/styles/blog.css b/assets/styles/blog.css new file mode 100644 index 0000000..7750ecc --- /dev/null +++ b/assets/styles/blog.css @@ -0,0 +1,61 @@ +.blog { + body&, .card-img-top { + background: #2c5282; + background: linear-gradient(0deg, #2c5282 0%, #3c366b 100%); + } + + .card-img-top { + color: #ffffff; + } + + &.chat { + .user-message { + background: #d5054e; + color: #ffffff; + } + + .bot-message { + color: #ffffff; + background: #3182ce; + + &.loading { + color: rgba(255, 255, 255, 0.5); + } + + a { + color: #c8d8ef; + + &:hover { + color: #ffffff; + } + } + + code { + color: #ffb1ca; + } + } + + .avatar { + &.bot { + outline: 1px solid #b8d8fb; + background: #b8d8fb; + } + + &.user { + outline: 1px solid #ffb1ca; + background: #ffb1ca; + } + } + + #welcome h4 { + color: #2c5282; + } + + #chat-reset, #chat-submit { + &:hover { + background: #d5054e; + border-color: #d5054e; + } + } + } +} diff --git a/assets/styles/wikipedia.css b/assets/styles/wikipedia.css new file mode 100644 index 0000000..a1eec15 --- /dev/null +++ b/assets/styles/wikipedia.css @@ -0,0 +1,31 @@ +.wikipedia { + body&, .card-img-top { + background: url('/wiki.png') no-repeat right 50px bottom 50px fixed, linear-gradient(0deg, rgb(246, 246, 246) 0%, rgb(197, 197, 197) 100%); + } + + &.chat { + .card-body { + background-image: linear-gradient(135deg, #f2f2f2 16.67%, #ebebeb 16.67%, #ebebeb 50%, #f2f2f2 50%, #f2f2f2 66.67%, #ebebeb 66.67%, #ebebeb 100%); + background-size: 21.21px 21.21px; + } + + .user-message { + background: #ffffff; + } + + .bot-message { + background: #ffffff; + + a { + color: #3e2926; + } + } + + .avatar { + &.bot, &.user { + outline: 1px solid #eaeaea; + background: #eaeaea; + } + } + } +} diff --git a/assets/styles/youtube.css b/assets/styles/youtube.css new file mode 100644 index 0000000..85967ea --- /dev/null +++ b/assets/styles/youtube.css @@ -0,0 +1,49 @@ +.youtube { + body&, .card-img-top { + background: rgb(34,34,34); + background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgb(71, 71, 71) 100%); + } + + .card-img-top { + color: #ff0000; + } + + &.chat { + .user-message { + background: #3e2926; + color: #fafafa; + } + + .bot-message { + color: #ffffff; + background: #df3535; + + &.loading { + color: rgba(255, 255, 255, 0.5); + } + } + + .avatar { + &.bot { + outline: 1px solid #ffcccc; + background: #ffcccc; + } + + &.user { + outline: 1px solid #9e8282; + background: #9e8282; + } + } + + #welcome h4 { + color: #ff0000; + } + + #chat-reset, #chat-submit { + &:hover { + background: #ff0000; + border-color: #ff0000; + } + } + } +} diff --git a/config/packages/llm_chain.yaml b/config/packages/llm_chain.yaml index 8b5bdc6..809b96b 100644 --- a/config/packages/llm_chain.yaml +++ b/config/packages/llm_chain.yaml @@ -16,7 +16,7 @@ llm_chain: openai: api_key: '%env(OPENAI_API_KEY)%' chain: - rag: + blog: # platform: 'llm_chain.platform.anthropic' model: name: 'GPT' diff --git a/config/routes.yaml b/config/routes.yaml index 86dad1e..0da2b06 100644 --- a/config/routes.yaml +++ b/config/routes.yaml @@ -4,20 +4,23 @@ index: defaults: template: 'index.html.twig' -rag: - path: '/rag' +blog: + path: '/blog' controller: 'Symfony\Bundle\FrameworkBundle\Controller\TemplateController' defaults: - template: 'chat/rag.html.twig' + template: 'chat.html.twig' + context: { chat: 'blog' } youtube: path: '/youtube' controller: 'Symfony\Bundle\FrameworkBundle\Controller\TemplateController' defaults: - template: 'chat/youtube.html.twig' + template: 'chat.html.twig' + context: { chat: 'youtube' } wikipedia: path: '/wikipedia' controller: 'Symfony\Bundle\FrameworkBundle\Controller\TemplateController' defaults: - template: 'chat/wikipedia.html.twig' + template: 'chat.html.twig' + context: { chat: 'wikipedia' } diff --git a/demo.png b/demo.png index 85fdbad35601bafc1a8480b0093e417fa3d1974b..703b2457094fdb7e5dd135f44c2f30299687427f 100644 GIT binary patch literal 66632 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�#OlMITbclW23M3UzBhrWrd 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