README.md

June 20, 2025 ยท View on GitHub

Knowpro and Memory Test App

A CLI to test and experiment with the KnowPro and memory packages. This is sample code in active development with frequent updates.

The CLI explores:

The CLI also uses the knowProTest package to wrap and invoke KnowPro APIs.

Enter @help for a list of commands

  • All command names must be prefixed with @
    • E.g: @kpCmRemember
  • Get help for any command using --?
    • E.g: @kpCmRemember --?

You can list all commands matching a prefix by typing the prefix: e.g. @kpSearch

Feature AreaCommand Prefix
Search and Answer Commnds@kpSearch..., @kpAnswer...
Podcast Memory@kpPodcast...
Email Memory@kpEmail...
Conversation Memory@kpCm...
Image Memory@kpImage...
Document Memory@kpDoc...

Trying it out

  • Ensure you have a .env configured with Service keys.
  • Examples have been tested with GPT-4o only.
  • Run the app:
    • cd ts/examples/chat
    • node dist/main.js
  • Use the @kpPodcastLoadSample command to load a pre-built Structured-RAG index for a sample podcast.
  • Run example commands such as those listed in input.txt
@kpPodcastLoadSample

@kpSearchTerms book

@kpSearchTerms book --genre fantasy

@kpAnswer --query "List the names of all books"

Batching commands

You can place commands in a text file and run them as a batch by using the batch command.

@batch --filePath <>

Type batch --? for options.

Notes

  • Requires file system access. Creates test directories under /data/testChat
  • May require admin (sudo) rights. On Linux/WSL, you may need to launch node with sudo.

knowledge-processor

The CLI additionally lets you explore the knowledge-processor package. See instructions for how to do so.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.