VOOZH about

URL: https://www.nuget.org/packages/vomark/

⇱ NuGet Gallery | vomark 1.0.1




vomark 1.0.1

dotnet add package vomark --version 1.0.1
 
 
NuGet\Install-Package vomark -Version 1.0.1
 
 
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="vomark" Version="1.0.1" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="vomark" Version="1.0.1" />
 
Directory.Packages.props
<PackageReference Include="vomark" />
 
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add vomark --version 1.0.1
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: vomark, 1.0.1"
 
 
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package vomark@1.0.1
 
 
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=vomark&version=1.0.1
 
Install as a Cake Addin
#tool nuget:?package=vomark&version=1.0.1
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

vomark

A markov-chain based random sentence generator library. Create a "brain" that you can feed a vocabulary and reproduce sentences! NOTE: This is NOT an LLM, and does not use any other data than what you specifically answer. It literally only uses the words you give it and reproduces patterns given a vocabulary.

Features

  • Each entity comprises of a VomBrain, VomContext, and VomSettings.
    • A VomBrain maps a label to a weighted graph representing an associated vocabulary.
    • A VomContext can be used to represent style and emotion, notably through capitalization and punctuation.
    • VomSettings are used to manage a max word-count per sentence, as well as settings for YouTube integration.
  • Entities can be fed data from raw strings, .txt files, or YouTube videos/playlists.

Installation

Vomark can be installed as a NuGet package: Install-Package vomark YouTube integration features are dependent on YoutubeDLSharp, and conversely require yt-dlp and ffmpeg. Both packages can be installed within the library by running the following:

bool success = await YTIntegration.SetupPackages(path);

Usage

Creating a fresh VomBrain:

VomBrain vb = new();

Adding a graph to a VomBrain:

string ex = "This is an example string."
vb.AddNewGraph("example", ex);
// Existing graphs can append data as such:
string ex2 = "This is a second string."
vb.AddThoughtRaw("example", ex2);

When using .txt files, instead use AddThoughtTxt() and use the path instead of the data.

Returning a sentence from the VomBrain:

Console.WriteLine(vb.FormThought("example"));

When forming sentences from a VomBrain, it uses the maximum word length from the associated settings object as well as capitalization/punctuation from the context object.

Changing the settings and context:

vb.Settings = new(
	ytDl: "../ytlibs",
	ytOut = "../vidOut",
	subLang = "en",
	maxLen = 16
);

VomContext Angry = new(
	"angry", Punctuation.TRIPEXC, Capitalization.ALLCAPS
);
vb.Context = Angry;

YouTube Integration

If YoutubeDLSharp and all dependencies are installed, then you can use YouTube videos and playlists as data sources for VomBrains. When using YT features, ensure that your VomBrain settings are applied correctly. This ensures that your ytDl points to the folder containing yt-dlp.exe and ffmpeg.exe.

A Quick Warning on Subtitles

The vomark library requires that a YouTube video have at least one SRT file in the given language in order to be read. Many automated subtitles will work fine with vomark, but custom-made subtitles are not forced to follow any particular standard. All text between brackets and parentheses are removed, so sentence structures may become awkward. YouTube automatically censors certain language, so it can create gaps in speech and unexpected connections between words.

Adding a YouTube video to a graph:

await vb.AddThoughtYt("example", "example_url_");
// Adding a playlist follows the same format, but uses
// await vb.AddThoughtPlaylistYt("example", "example_url_");

Tests

Testing is implemented locally in a separate project using xUnit.

License

This project is licensed under the

Product Versions Compatible and additional computed target framework versions.
.NET net8.0 net8.0 is compatible.  net8.0-android net8.0-android was computed.  net8.0-browser net8.0-browser was computed.  net8.0-ios net8.0-ios was computed.  net8.0-maccatalyst net8.0-maccatalyst was computed.  net8.0-macos net8.0-macos was computed.  net8.0-tvos net8.0-tvos was computed.  net8.0-windows net8.0-windows was computed.  net9.0 net9.0 was computed.  net9.0-android net9.0-android was computed.  net9.0-browser net9.0-browser was computed.  net9.0-ios net9.0-ios was computed.  net9.0-maccatalyst net9.0-maccatalyst was computed.  net9.0-macos net9.0-macos was computed.  net9.0-tvos net9.0-tvos was computed.  net9.0-windows net9.0-windows was computed.  net10.0 net10.0 was computed.  net10.0-android net10.0-android was computed.  net10.0-browser net10.0-browser was computed.  net10.0-ios net10.0-ios was computed.  net10.0-maccatalyst net10.0-maccatalyst was computed.  net10.0-macos net10.0-macos was computed.  net10.0-tvos net10.0-tvos was computed.  net10.0-windows net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 294 8/27/2025
1.0.0 240 8/18/2025

- Fixed bug with AppendGraph where nodes were not properly added.
- Updated FindNode to potentially return nulls instead of errors.