From 0e09fe11d3667b6b97c1c0f54705dc78c574a7d2 Mon Sep 17 00:00:00 2001 From: Mateusz Charytoniuk <mateusz.charytoniuk@protonmail.com> Date: Thu, 25 Jan 2024 07:35:02 +0100 Subject: [PATCH] chore(docs): update homepage --- .gitignore | 1 + app/Template/StaticPageLayout/Turbo.php | 2 +- docs/pages/docs/features/database/index.md | 6 +++--- resources/css/docs-page-homepage.css | 4 ++-- src/Command/LlamaCppGenerate.php | 8 ++++++++ src/Command/LlamaCppGenerate/Completion.php | 2 +- src/Command/StaticPagesDumpContent.php | 2 +- src/Command/Watch.php | 2 +- src/CommonMarkTableOfContentsBuilder.php | 7 +++---- src/LlamaCppClient.php | 6 ++++-- src/LlamaCppCompletionRequest.php | 2 +- src/LlamaCppEmbedding.php | 2 +- src/LlamaCppEmbeddingRequest.php | 6 +++++- src/LlamaCppPromptTemplate.php | 16 --------------- .../MistralInstructChat.php | 20 ------------------- src/LlamaCppPromptTemplate/Phi2Question.php | 20 ------------------- src/LlamaCppPromptTemplate/Plain.php | 17 ---------------- src/StaticPageAggregate.php | 2 +- 18 files changed, 33 insertions(+), 92 deletions(-) delete mode 100644 src/LlamaCppPromptTemplate.php delete mode 100644 src/LlamaCppPromptTemplate/MistralInstructChat.php delete mode 100644 src/LlamaCppPromptTemplate/Phi2Question.php delete mode 100644 src/LlamaCppPromptTemplate/Plain.php diff --git a/.gitignore b/.gitignore index 86ea30be..217cce41 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /config.ini /esbuild-meta-docs.json /node_modules +/sqlite-vss /vendor /*.cache diff --git a/app/Template/StaticPageLayout/Turbo.php b/app/Template/StaticPageLayout/Turbo.php index fe00a6ce..21f0c601 100644 --- a/app/Template/StaticPageLayout/Turbo.php +++ b/app/Template/StaticPageLayout/Turbo.php @@ -65,7 +65,7 @@ abstract readonly class Turbo extends StaticPageLayout <title>{$staticPage->frontMatter->title}</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - <link href="https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible&family=Lora&family=Sometype+Mono&display=swap" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible&family=Sometype+Mono&display=swap" rel="stylesheet"> HTML; yield from $this->renderMeta($staticPage); yield $renderedPreloads; diff --git a/docs/pages/docs/features/database/index.md b/docs/pages/docs/features/database/index.md index 17731be2..e0e1f49b 100644 --- a/docs/pages/docs/features/database/index.md +++ b/docs/pages/docs/features/database/index.md @@ -3,12 +3,12 @@ collections: - documents layout: dm:document parent: docs/features/index -title: Database +title: SQL Database description: > Learn how Resonance uses connection pools. Create and reuse queries, create database entities, and integrate with a migration tool. --- -# Database +# SQL Database -{{docs/features/database/*/index!docs/features/database/index}} +{{docs/features/database/*/index}} diff --git a/resources/css/docs-page-homepage.css b/resources/css/docs-page-homepage.css index 0091c949..670b0145 100644 --- a/resources/css/docs-page-homepage.css +++ b/resources/css/docs-page-homepage.css @@ -12,7 +12,7 @@ padding-top: 20px; } @media screen and (min-width: 1024px) { - padding-top: 60px; + padding-top: 140px; } } @@ -86,7 +86,7 @@ h2.homepage__example__title { padding: 120px 0 60px 0; } @media screen and (min-width: 1024px) { - padding: 160px 0; + padding: 160px 0 120px 0; } } diff --git a/src/Command/LlamaCppGenerate.php b/src/Command/LlamaCppGenerate.php index 681b789e..2fab6a39 100644 --- a/src/Command/LlamaCppGenerate.php +++ b/src/Command/LlamaCppGenerate.php @@ -7,12 +7,16 @@ namespace Distantmagic\Resonance\Command; use Distantmagic\Resonance\CoroutineCommand; use Distantmagic\Resonance\LlamaCppClient; use Distantmagic\Resonance\SwooleConfiguration; +use RuntimeException; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; abstract class LlamaCppGenerate extends CoroutineCommand { + /** + * @param non-empty-string $prompt + */ abstract protected function executeLlamaCppCommand(InputInterface $input, OutputInterface $output, string $prompt): int; public function __construct( @@ -38,6 +42,10 @@ abstract class LlamaCppGenerate extends CoroutineCommand */ $prompt = $input->getArgument('prompt'); + if (empty($prompt)) { + throw new RuntimeException('Prompt cannot be empty'); + } + return $this->executeLlamaCppCommand($input, $output, $prompt); } } diff --git a/src/Command/LlamaCppGenerate/Completion.php b/src/Command/LlamaCppGenerate/Completion.php index 39c33922..7d39aea8 100644 --- a/src/Command/LlamaCppGenerate/Completion.php +++ b/src/Command/LlamaCppGenerate/Completion.php @@ -8,7 +8,7 @@ use Distantmagic\Resonance\Attribute\ConsoleCommand; use Distantmagic\Resonance\Command; use Distantmagic\Resonance\Command\LlamaCppGenerate; use Distantmagic\Resonance\LlamaCppCompletionRequest; -use Distantmagic\Resonance\LlamaCppPromptTemplate\MistralInstructChat; +use Distantmagic\Resonance\LlmPromptTemplate\MistralInstructChat; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; diff --git a/src/Command/StaticPagesDumpContent.php b/src/Command/StaticPagesDumpContent.php index 155d12e5..6760d585 100644 --- a/src/Command/StaticPagesDumpContent.php +++ b/src/Command/StaticPagesDumpContent.php @@ -12,7 +12,7 @@ use Symfony\Component\Console\Output\OutputInterface; #[ConsoleCommand( name: 'static-pages:dump-content', - description: 'Dumps static pages content. JSONL format by default.' + description: 'Dumps static pages content into JSONL' )] final class StaticPagesDumpContent extends Command { diff --git a/src/Command/Watch.php b/src/Command/Watch.php index e7a941a6..796e1723 100644 --- a/src/Command/Watch.php +++ b/src/Command/Watch.php @@ -17,7 +17,7 @@ use Symfony\Component\Console\Output\OutputInterface; #[ConsoleCommand( name: 'watch:command', - description: 'Watch project files for changes (needs inotify)' + description: 'Watch project files for changes (requires inotify)' )] final class Watch extends Command { diff --git a/src/CommonMarkTableOfContentsBuilder.php b/src/CommonMarkTableOfContentsBuilder.php index 549c5e6a..cf129132 100644 --- a/src/CommonMarkTableOfContentsBuilder.php +++ b/src/CommonMarkTableOfContentsBuilder.php @@ -19,9 +19,8 @@ readonly class CommonMarkTableOfContentsBuilder */ public function getTableOfContentsLinks(Document $document): Generator { - foreach ($this->getHeadings($document) as $heading) { + foreach ($this->getHeadings($document) as $heading => $headingText) { $headingLevel = $heading->getLevel(); - $headingText = $this->getHeadingText($heading); foreach ($this->getHeadingLinks($heading) as $headingPermalink) { yield new CommonMarkTableOfContentsLink( @@ -46,13 +45,13 @@ readonly class CommonMarkTableOfContentsBuilder } /** - * @return Generator<Heading> + * @return Generator<Heading,string> */ private function getHeadings(Document $document): Generator { foreach ($document->iterator(NodeIterator::FLAG_BLOCKS_ONLY) as $node) { if ($node instanceof Heading) { - yield $node; + yield $node => $this->getHeadingText($node); } } } diff --git a/src/LlamaCppClient.php b/src/LlamaCppClient.php index facbdaec..163c8302 100644 --- a/src/LlamaCppClient.php +++ b/src/LlamaCppClient.php @@ -53,14 +53,16 @@ readonly class LlamaCppClient $this->assertStatusCode($curlHandle, 200); /** - * @var object{ embedding: array<float> } $responseData + * @var object{ embedding: list<float> } $responseData */ $responseData = $this ->jsonSerializer ->unserialize($responseContent) ; - return new LlamaCppEmbedding($responseData->embedding); + return new LlamaCppEmbedding( + embedding: $responseData->embedding, + ); } /** diff --git a/src/LlamaCppCompletionRequest.php b/src/LlamaCppCompletionRequest.php index 484f68ce..3083efc4 100644 --- a/src/LlamaCppCompletionRequest.php +++ b/src/LlamaCppCompletionRequest.php @@ -9,7 +9,7 @@ use JsonSerializable; readonly class LlamaCppCompletionRequest implements JsonSerializable { public function __construct( - public LlamaCppPromptTemplate $promptTemplate, + public LlmPromptTemplate $promptTemplate, ) {} public function jsonSerialize(): array diff --git a/src/LlamaCppEmbedding.php b/src/LlamaCppEmbedding.php index a779d6f9..0cea51a7 100644 --- a/src/LlamaCppEmbedding.php +++ b/src/LlamaCppEmbedding.php @@ -7,7 +7,7 @@ namespace Distantmagic\Resonance; readonly class LlamaCppEmbedding { /** - * @param array<float> $embedding + * @param list<float> $embedding */ public function __construct( public array $embedding, diff --git a/src/LlamaCppEmbeddingRequest.php b/src/LlamaCppEmbeddingRequest.php index 39985104..5fc8d8c9 100644 --- a/src/LlamaCppEmbeddingRequest.php +++ b/src/LlamaCppEmbeddingRequest.php @@ -8,9 +8,13 @@ use JsonSerializable; readonly class LlamaCppEmbeddingRequest implements JsonSerializable { + /** + * @param non-empty-string $content + */ public function __construct( public string $content, - ) {} + ) { + } public function jsonSerialize(): array { diff --git a/src/LlamaCppPromptTemplate.php b/src/LlamaCppPromptTemplate.php deleted file mode 100644 index 73d4d804..00000000 --- a/src/LlamaCppPromptTemplate.php +++ /dev/null @@ -1,16 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Distantmagic\Resonance; - -use JsonSerializable; -use Stringable; - -abstract readonly class LlamaCppPromptTemplate implements JsonSerializable, Stringable -{ - public function jsonSerialize(): string - { - return (string) $this; - } -} diff --git a/src/LlamaCppPromptTemplate/MistralInstructChat.php b/src/LlamaCppPromptTemplate/MistralInstructChat.php deleted file mode 100644 index 3b2e0ac1..00000000 --- a/src/LlamaCppPromptTemplate/MistralInstructChat.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Distantmagic\Resonance\LlamaCppPromptTemplate; - -use Distantmagic\Resonance\LlamaCppPromptTemplate; - -readonly class MistralInstructChat extends LlamaCppPromptTemplate -{ - public function __construct(private string $prompt) {} - - public function __toString(): string - { - return sprintf( - '[INST]%s[/INST]', - $this->prompt, - ); - } -} diff --git a/src/LlamaCppPromptTemplate/Phi2Question.php b/src/LlamaCppPromptTemplate/Phi2Question.php deleted file mode 100644 index 493105a6..00000000 --- a/src/LlamaCppPromptTemplate/Phi2Question.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Distantmagic\Resonance\LlamaCppPromptTemplate; - -use Distantmagic\Resonance\LlamaCppPromptTemplate; - -readonly class Phi2Question extends LlamaCppPromptTemplate -{ - public function __construct(private string $prompt) {} - - public function __toString(): string - { - return sprintf( - "Question: %s\nAnswer: ", - $this->prompt, - ); - } -} diff --git a/src/LlamaCppPromptTemplate/Plain.php b/src/LlamaCppPromptTemplate/Plain.php deleted file mode 100644 index 3e28b975..00000000 --- a/src/LlamaCppPromptTemplate/Plain.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Distantmagic\Resonance\LlamaCppPromptTemplate; - -use Distantmagic\Resonance\LlamaCppPromptTemplate; - -readonly class Plain extends LlamaCppPromptTemplate -{ - public function __construct(private string $prompt) {} - - public function __toString(): string - { - return $this->prompt; - } -} diff --git a/src/StaticPageAggregate.php b/src/StaticPageAggregate.php index c00cf2ba..1beda7d1 100644 --- a/src/StaticPageAggregate.php +++ b/src/StaticPageAggregate.php @@ -9,7 +9,7 @@ use Ds\Map; readonly class StaticPageAggregate { /** - * @var Map<string, StaticPage> + * @var Map<string,StaticPage> */ public Map $staticPages; -- GitLab