DSL::Examples
Raku data package with examples of DSL commands translations to programming code. (
The DSL examples are suitable for
LLM few-shot training.
The sub llm-example-function
provided by
"LLM::Functions", [AAp2],
can be effectively used to create translation functions utilizing those examples.
The utilization of such LLM-translation functions is exemplified below.
Also in the presentation "Robust LLM pipelines (Mathematica, Python, Raku)":
Similar translations -- with much less computational resources -- are achieved with
grammar-based DSL translators; see
"DSL::Translators", [AAp1].
Installation
From Zef ecosystem:
zef install DSL::Examples;
From GitHub:
zef install https://github.com/antononcube/Raku-DSL-Examples.git
Usage examples
Get all examples:
use DSL::Examples;
use Data::TypeSystem;
dsl-examples()
==> deduce-type()
# Assoc(Atom((Str)), Tuple([Assoc(Atom((Str)), Tuple([Assoc(Atom((Str)), Atom((Str)), 23), Assoc(Atom((Str)), Atom((Str)), 15)]), 2), Assoc(Atom((Str)), Tuple([Assoc(Atom((Str)), Atom((Str)), 20), Assoc(Atom((Str)), Atom((Str)), 17), Assoc(Atom((Str)), Atom((Str)), 27)]), 3)]), 2)
Get the examples for Latent Semantic Analysis (LSA) Monadic pipeline segments in Python:
dsl-examples('Python', 'LSAMon')
==> deduce-type(:tally)
# Assoc(Atom((Str)), Atom((Str)), 15)
Make an LLM example function for translation of LSA workflow building commands:
use LLM::Functions;
my &llm-pipeline-segment = llm-example-function(dsl-examples()<WL><LSAMon>);
Run the LLM function over a list of DSL commands:
my @commands =
"use the dataset aAbstracts",
"make the document-term matrix without stemming",
"exract 40 topics using the method non-negative matrix factorization",
"show the topics";
@commands
.map({ .&llm-pipeline-segment })
.join("⟹\n")
# LSAMonUnit[aAbstracts]⟹
# LSAMonMakeDocumentTermMatrix["StemmingRules"->{}]⟹
# LSAMonExtractTopics["NumberOfTopics"->40,Method->"NNMF"]⟹
# LSAMonEchoTopicsTable[]
References
Packages
[AAp1] Anton Antonov,
DSL::Translators Raku package,
(2020-2024),
GitHub/antononcube.
[AAp2] Anton Antonov,
LLM::Functions Raku package,
(2023-2024),
GitHub/antononcube.
[AAp3] Anton Antonov,
LLM::Prompts Raku package,
(2023-2024),
GitHub/antononcube.
Videos
[AAv1] Anton Antonov,
"Robust LLM pipelines (Mathematica, Python, Raku)",
(2024),
YouTube/AAA4prediction.