Skip to main content

No project description provided

Project description

Janex

A free open-source framework which can be used to build Machine Learning tools, LLMs, and Natural Language Processing scripts with full simplicity.

What is the purpose of Janex?

Monopolistic companies are confining their Artificial Intelligence research to themselves, and capitalising on it. Even companies that swore to open source their software (OpenAI) went back on their morals, with the releases of GPT-3+, as did other powerful businesses.

These businesses go on to sell their research to the Government, and sell access to it to the public. As such, my aim is to create a framework that you can use to easily construct your own language models, and other machine learning algorithms, as I believe this power should not be held firmly in the hands of corrupt rich politicians and advantaged capitalists. (It will take a while before it reaches a practical level)

Released under the new Free Lily License 1.0, Janex will improve and become a useful tool for users to conduct their own research in the potential of Artifical Intelligence.

How to use

Adding to your project

Firstly, you'll need to install the library using the Python pip package manager.

python3 -m pip install Janex

Secondly, you need to import the library into your Python script.

from Janex import *

Using Janex in your code

Create an instance

Before anything else, you need to create an instance of the IntentMatcher class. (If you do not have one made already, the program will automatically download a pre-written file created by @SoapDoesCode - big thanks to her for their intents file!)

intents_file_path = "./intents.json"

matcher = IntentMatcher(intents_file_path)
Tokenizing:

To utilise the tokenizer feature, here is an example of how it can be used.

input_string = "Hello! What is your name?"

words = matcher.Tokenize(input_string)

print(words)
Intent classifying:

To compare the input with the patterns from your intents.json storage file, you have to declare the intents file path.

intents_file_path = "intents.json"

intent_class, similarity = matcher.pattern_compare(input_string)

print(intent_class)
Response similarity:

Sometimes a list of responses in a class can become varied in terms of context, and so in order to get the best possible response, we can use the 'responsecompare' function to compare the input string with your list of responses.

BestResponse = matcher.response_compare(input_string, intents_file_path, intent_class)

print(BestResponse)
Text Generation:

In experimental phase but included in 0.0.15 and above, the 'ResponseGenerator' function can absorb the response chosen by your response comparer from your intents.json file, and then modify it, replacing words with synonyms, to give it a more unscripted response.

For this to be used, if you haven't got a thesaurus.json file already, the IntentMatcher will automatically download the pre-written example directly from Github and into your chatbot folder.

After doing so, you may include the feature in your code like this.

generated_response = matcher.ResponseGenerator(BestResponse)

print(generated_response)

Warning: This feature is still work-in-progress, and will only be as effective per the size of your thesaurus file, so don't expect it to be fully stable until I have fully completed it. :)

Contributors

Many thanks to these Github developers for their contributions! :)

@Ethan-Barr @SoapDoesCode

Functionality

Version 0.0.15

  • Word tokenizer ✓
  • Intent classifier ✓
  • Word Stemmer ✓
  • Support for Darwin, Linux (GNU) and Windows ✓
  • Custom Response Generator (development stage) ✓

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Janex-0.0.17.tar.gz (5.2 kB view details)

Uploaded Source

File details

Details for the file Janex-0.0.17.tar.gz.

File metadata

  • Download URL: Janex-0.0.17.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for Janex-0.0.17.tar.gz
Algorithm Hash digest
SHA256 7f71086484f9bba975e81a5960f2c91151aee8eb7a6f5e351933f71ae73b9999
MD5 ff8995965e9797ec45a04cc05fbf4abd
BLAKE2b-256 f6fea71890671ff64e4bc7cd25f158ca0a95a88ec3dd411c61f31dd57cb5623f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page