Skip to content

antononcube/Raku-DSL-Examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Raku data package with examples of DSL commands translations to programming code. (Suitable for LLM training.)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages