Skip to content

kasefuchs/kusai

Repository files navigation

Kusai

Building

git clone https://codeberg.org/kasefuchs/kusai.git
mkdir cmake-build && cd cmake-build
cmake ..
cmake --build .

Install to systyem with

cmake --build . --target install

Using

CMake

find_package(kusai REQUIRED)
target_link_libraries(<your-target> kusai::textchain)

Or FetchContent version

include(FetchContent)
FetchContent_Declare(kusai
    GIT_REPOSITORY https://codeberg.org/kasefuchs/kusai.git
    GIT_TAG <tag>
)
FetchContent_MakeAvailable(kusai)
target_link_libraries(<your-target> kusai::textchain)

Hello World

#include <kusai/graph/MemoryGraph.hpp>
#include <kusai/markov/SimpleMarkov.hpp>
#include <kusai/tokenizer/SimpleTokenizer.hpp>
#include <kusai/textchain/TextChain.hpp>

int main() {
  const auto graph = std::make_shared<kusai::MemoryGraph>();
  const auto markov = std::make_shared<kusai::SimpleMarkov>(graph);
  const auto tokenizer = std::make_shared<kusai::SimpleTokenizer>();
  const auto chain = std::make_shared<kusai::TextChain>(markov, tokenizer);

  chain->train({
    "wur a fox",
    "fox the chorni"
  });

  std::cout << chain->generateText("wur") << std::endl;

  chain->serializeToOstream(std::cout);

  return 0;
}

About

[Mirror] Modular C++20 Markov chain and text generation library.

Resources

License

Stars

Watchers

Forks

Contributors