OpenChat: Opensource chatting framework for generative models

Overview

OpenChat: Opensource chatting framework for generative models

    ____   ____   ______ _   __   ______ __  __ ___   ______
   / __ \ / __ \ / ____// | / /  / ____// / / //   | /_  __/
  / / / // /_/ // __/  /  |/ /  / /    / /_/ // /| |  / /   
 / /_/ // ____// /___ / /|  /  / /___ / __  // ___ | / /    
 \____//_/    /_____//_/ |_/   \____//_/ /_//_/  |_|/_/     
  • OpenChat is opensource chatting framework for generative models.
  • You can talk with AI with only one line of code.



Installation

pip install openchat



Model Supports

  • DialoGPT : [small, medium, large]
  • BlenderBot : [small, medium, large, xlarge]
  • Coming Soon...



Usage

1. Terminal environment

  • Chatting on terminal.
  • Type .exit if you want to exit dialogue.
  • Type .clear if you want to clear all histories.
  • You can add additional user keywords. (Details are described below.)
>>> from openchat import OpenChat
>>> OpenChat(model="blenderbot", size="large")
Chat with facebook/blenderbot-1B-distill !
user : Hi. It is nice day.
bot : It is a nice day out. I am going to go for a walk. What are you up to?
user : I'll play computer game. Do you like playing game?
bot : I love playing video games. What kind of games do you like to play on your computer?
user : I love racing game. It is so exited. How about you?
bot : I love racing games as well. I like to play on the Playstation 4. What about you?
user : Usually I like to play on PC. I have a question. Who is CEO of Apple?
bot : The CEO of Apple is Steve Jobs. He founded the company in 1976.
user : That's right. I have an IPhone. It is my favorite phone. What is your phone?
bot : I have a Samsung Galaxy S8. I love it. It's the best phone I've ever had.
user : .exit
bot : good bye.

  • If you want to use GPU, use argument device="cuda"
>>> from openchat import OpenChat
>>> OpenChat(model="blenderbot", size="large", device="cuda")

2. Your own environment (not terminal)

  • You can use user id to manage user-specific history.
  • This can be useful when deployed on Facebook messenger or WhatsApp.
  • There is a web demo implementation in the /demo folder.


2.1. Write your own environment class

  • Make your own environment class inherited from BaseEnv
  • And implement your own run(model: BaseModel) method like below.
from typing import Dict
from flask import Flask, render_template
from flask_cors import CORS
from openchat.envs import BaseEnv
from openchat.models import BaseModel


class WebDemoEnv(BaseEnv):

    def __init__(self):
        super().__init__()
        self.app = Flask(__name__)
        CORS(self.app)

    def run(self, model: BaseModel):

        @self.app.route("/")
        def index():
            return render_template("index.html", title=model.name)

        @self.app.route('/send//', methods=['GET'])
        def send(user_id, text: str) -> Dict[str, str]:

            if text in self.keywords:
                # Format of self.keywords dictionary
                # self.keywords['/exit'] = (exit_function, 'good bye.')

                _out = self.keywords[text][1]
                # text to print when keyword triggered

                self.keywords[text][0](user_id, text)
                # function to operate when keyword triggered

            else:
                _out = model.predict(user_id, text)

            return {"output": _out}

        self.app.run(host="0.0.0.0", port=8080)

2.2. Start to run application.

from openchat import OpenChat
from demo.web_demo_env import WebDemoEnv

OpenChat(model="blenderbot", size="large", env=WebDemoEnv())



3. Additional Options

3.1. Add custom Keywords

  • You can add new manual keyword such as .exit, .clear,
  • call the self.add_keyword('.new_keyword', 'message to print', triggered_function)' method.
  • triggered_function should be form of function(user_id:str, text:str)
from openchat.envs import BaseEnv


class YourOwnEnv(BaseEnv):
    
    def __init__(self):
        super().__init__()
        self.add_keyword(".new_keyword", "message to print", self.function)

    def function(self, user_id: str, text: str):
        """do something !"""
        



3.2. Modify generation options

  • You can modify max_context_length (number of input history tokens, default is 128).
>>> OpenChat(size="large", device="cuda", max_context_length=256)

  • You can modify generation options ['num_beams', 'top_k', 'top_p'].
>>> model.predict(
...     user_id="USER_ID",
...     text="Hello.",
...     num_beams=5,
...     top_k=20,
...     top_p=0.8,
... )



3.3. Check histories

  • You can check all dialogue history using self.histories
from openchat.envs import BaseEnv


class YourOwnEnv(BaseEnv):
    
    def __init__(self):
        super().__init__()
        print(self.histories)
{
    user_1 : {'user': [] , 'bot': []},
    user_2 : {'user': [] , 'bot': []},
    ...more...
    user_n : {'user': [] , 'bot': []},
}

3.4. Clear histories

  • You can clear all dialogue histories
from flask import Flask
from openchat.envs import BaseEnv
from openchat.models import BaseModel

class YourOwnEnv(BaseEnv):
    
    def __init__(self):
        super().__init__()
        self.app = Flask(__name__)

    def run(self, model: BaseModel):
        
        @self.app.route('/send//', methods=['GET'])
        def send(user_id, text: str) -> Dict[str, str]:
            
            self.clear(user_id, text)
            # clear all histories ! 



License

Copyright 2021 Hyunwoong Ko.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • RuntimeError: Input, output and indices must be on the current device

    RuntimeError: Input, output and indices must be on the current device

    Whenever I launch a wizard of wikipedia OpenChat and give it a valid topic and user I get the error:

    RuntimeError: Input, output and indices must be on the current device

    I simply just loaded it this way:

    `from openchat import OpenChat

    if name == 'main': OpenChat(model="wizard_of_wikipedia.end2end_generator", device="cpu") `

    It also happens when I use cuda:

    `from openchat import OpenChat

    if name == 'main': OpenChat(model="wizard_of_wikipedia.end2end_generator", device="cuda") ` Other models like gptneo work fine. It is just things that back into ParlAI I think. Stack Trace here:

    Traceback (most recent call last): File "wow.py", line 4, in <module> OpenChat(model="wizard_of_wikipedia.end2end_generator", device="cpu") File "/root/openchat/openchat/openchat.py", line 33, in __init__ self.environment.start(self.agent, **kwargs) File "/root/openchat/openchat/envs/interactive.py", line 100, in start bot_message = agent.predict(model_input, **kwargs)["output"] File "/root/openchat/openchat/base/agents/wow.py", line 111, in predict return super().predict( File "/root/openchat/env/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context return func(*args, **kwargs) File "/root/openchat/openchat/base/agents/parlai.py", line 101, in predict tokens = self.model._generate( File "/root/openchat/env/lib/python3.8/site-packages/parlai/core/torch_generator_agent.py", line 1079, in _generate encoder_states = model.encoder(*self._encoder_input(batch)) File "/root/openchat/env/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/root/openchat/env/lib/python3.8/site-packages/projects/wizard_of_wikipedia/generator/modules.py", line 86, in forward context_encoded, context_mask = self.transformer(src_tokens) File "/root/openchat/env/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/root/openchat/env/lib/python3.8/site-packages/parlai/agents/transformer/modules/encoder.py", line 271, in forward tensor, mask = self.forward_embedding(input, positions, segments) File "/root/openchat/env/lib/python3.8/site-packages/parlai/agents/transformer/modules/encoder.py", line 179, in forward_embedding tensor = self.embeddings(input) File "/root/openchat/env/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/root/openchat/env/lib/python3.8/site-packages/torch/nn/modules/sparse.py", line 156, in forward return F.embedding( File "/root/openchat/env/lib/python3.8/site-packages/torch/nn/functional.py", line 1916, in embedding return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse) RuntimeError: Input, output and indices must be on the current device

    I tried a bit to debug this one but I don't quite see where the 3 land.

    opened by ibivibiv 8
  • ImportError: cannot import name 'BlenderbotSmallForConditionalGeneration' from 'transformers' (/opt/conda/lib/python3.8/site-packages/transformers/__init__.py)

    ImportError: cannot import name 'BlenderbotSmallForConditionalGeneration' from 'transformers' (/opt/conda/lib/python3.8/site-packages/transformers/__init__.py)

    Hello,

    Thanks for releasing your work. When trying to import openchat, I found this error. I think it is because transformers library did not support BlenderbotSmallForConditionalGeneration anymore. Do you have any ideas for that?

    opened by minhson-kaist 4
  • Creation of Webserver code

    Creation of Webserver code

    This code is a bit of a beta and was brought in and corrected from here a different fork. I will try to clean it up more but for now openchats (plural) is the one that is working and I will try to do work on openchat webserver later. I also created an example for gptneo-xlarge.

    opened by ibivibiv 3
  • The bot acting strange and buggy

    The bot acting strange and buggy

    Python 3.8.8 (tags/v3.8.8:024d805, Feb 19 2021, 13:18:16) [MSC v.1928 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from openchat import OpenChat
    >>> OpenChat(model="blenderbot", size="large", device="cuda")
    
               ____   ____   ______ _   __   ______ __  __ ___   ______
              / __ \ / __ \ / ____// | / /  / ____// / / //   | /_  __/
             / / / // /_/ // __/  /  |/ /  / /    / /_/ // /| |  / /
            / /_/ // ____// /___ / /|  /  / /___ / __  // ___ | / /
            \____//_/    /_____//_/ |_/   \____//_/ /_//_/  |_|/_/
    
                                 ... LOADING ...
    
    Chat with facebook/blenderbot-1B-distill !
    user: Hi, how are you today?
    bot:  I am doing well. How are you? I am fine. How about you of to.
    user: I'm fine as well. It's a nice day outside
    bot:  I am good. I am is it is a. I the of you I. I.
    user: I didn't get it, what did you say?
    bot:  I am so glad you are, I, are,, aree.l.,,
    user:
    
    opened by emarashliev 3
  • Unlikelyhood.ConvAi unavailable in pypi

    Unlikelyhood.ConvAi unavailable in pypi

    Hey, when trying to use any unlikelyhood.convaimodel there is an error:

    Traceback (most recent call last):
      File "/home/ilya/miniconda3/envs/oc/lib/python3.9/runpy.py", line 197, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "/home/ilya/miniconda3/envs/oc/lib/python3.9/runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "/home/ilya/.vscode-server/extensions/ms-python.python-2021.5.842923320/pythonFiles/lib/python/debugpy/__main__.py", line 45, in <module>
        cli.main()
      File "/home/ilya/.vscode-server/extensions/ms-python.python-2021.5.842923320/pythonFiles/lib/python/debugpy/../debugpy/server/cli.py", line 444, in main
        run()
      File "/home/ilya/.vscode-server/extensions/ms-python.python-2021.5.842923320/pythonFiles/lib/python/debugpy/../debugpy/server/cli.py", line 285, in run_file
        runpy.run_path(target_as_str, run_name=compat.force_str("__main__"))
      File "/home/ilya/miniconda3/envs/oc/lib/python3.9/runpy.py", line 268, in run_path
        return _run_module_code(code, init_globals, run_name,
      File "/home/ilya/miniconda3/envs/oc/lib/python3.9/runpy.py", line 97, in _run_module_code
        _run_code(code, mod_globals, init_globals,
      File "/home/ilya/miniconda3/envs/oc/lib/python3.9/runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "/home/ilya/repos/openchat/chat.py", line 2, in <module>
        OpenChat(model="unlikelihood.convai2.vocab.alpha.1e-1", device="cpu")
      File "/home/ilya/miniconda3/envs/oc/lib/python3.9/site-packages/openchat/openchat.py", line 25, in __init__
        self.agent = self.create_agent_by_name(
      File "/home/ilya/miniconda3/envs/oc/lib/python3.9/site-packages/openchat/openchat.py", line 79, in create_agent_by_name
        return UnlikelihoodAgent(name, device, maxlen)
      File "/home/ilya/miniconda3/envs/oc/lib/python3.9/site-packages/openchat/agents/unlikelihood.py", line 53, in __init__
        option, model_class = self.set_options(
    TypeError: set_options() missing 1 required positional argument: 'device'
    

    I see that on github version this is fixed, but it's not when installing Openchat with pip install.

    opened by Misterion777 2
  • More GPU Support

    More GPU Support

    I found the rest of the locations where the device was not getting set to be a gpu id.

    The most significantly new location was in the base parlai.py agent. @104 you can see where I had to check if the device is a gpu and then set the batch to be assigned to the gpu. If not the batchify call creates a default assignment to the cpu and the model is on the gpu so the entire prediction fails because they are on different devices. I have also created some examples of using gpu to make it clear to a user how to use the gpu parameter. The only pending use case would be if there were multiple gpu's in a system. I am not quite sure how to support that just yet. As is the GPT XXL and the other XXL models probably won't run for most people as they use more memory than even a V100 provides on a single GPU. They will require multiple cards. I will try to figure out how to accommodate this later, if I get a chance to test on a system that has more then one card.

    opened by ibivibiv 2
  • ModuleNotFoundError: No module named 'dialobot_chat'

    ModuleNotFoundError: No module named 'dialobot_chat'

    Hi I wanted to make try your awesome bot but got this error message

    >>> from dialobot_chat import DialoGPT
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ModuleNotFoundError: No module named 'dialobot_chat'
    

    Any idea why is that? I'm with Python 3.9.2

    opened by emarashliev 2
  • Transformer error from gptneo

    Transformer error from gptneo

    >>> from openchat import OpenChat
    >>> OpenChat(model="gptneo.small", device="cpu")
    
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/Users/user/miniconda3/lib/python3.7/site-packages/openchat/openchat.py", line 27, in __init__
        maxlen=maxlen,
      File "/Users/user/miniconda3/lib/python3.7/site-packages/openchat/openchat.py", line 72, in create_agent_by_name
        return GPTNeoAgent(name, device, maxlen)
      File "/Users/user/miniconda3/lib/python3.7/site-packages/openchat/agents/gptneo.py", line 25, in __init__
        tokenizer = AutoTokenizer.from_pretrained(name)
      File "/Users/user/miniconda3/lib/python3.7/site-packages/transformers/models/auto/tokenization_auto.py", line 362, in from_pretrained
        config = AutoConfig.from_pretrained(pretrained_model_name_or_path, **kwargs)
      File "/Users/user/miniconda3/lib/python3.7/site-packages/transformers/models/auto/configuration_auto.py", line 371, in from_pretrained
        config_class = CONFIG_MAPPING[config_dict["model_type"]]
    KeyError: 'gpt_neo'
    

    Seems like gpt_neo is a valid key in (transformers.models.auto.configuration_auto)[https://huggingface.co/transformers/_modules/transformers/models/auto/configuration_auto.html] though.

    opened by doubleiis02 1
  • Fixed GPU model assignment

    Fixed GPU model assignment

    Take a look at this, it solves the gpu issue but there are still lingering image_features_dim and image_encoder_num_layers errors with those not being set. You'll get the general idea of what I did and can take this directly or I guess adapt it. But it solves the model.opt config issue for GPU.

    opened by ibivibiv 1
  • AttributeError: 'GPT2LMHeadModel' object has no attribute 'predict'

    AttributeError: 'GPT2LMHeadModel' object has no attribute 'predict'

    스크린샷 2021-04-21 오전 10 48 58

    /usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py in __getattr__(self, name)
        946                 return modules[name]
        947         raise AttributeError("'{}' object has no attribute '{}'".format(
    --> 948             type(self).__name__, name))
        949 
        950     def __setattr__(self, name: str, value: Union[Tensor, 'Module']) -> None:
    
    AttributeError: 'GPT2LMHeadModel' object has no attribute 'predict'
    

    When I select dialogpt and chat, I get the error

    opened by scy6500 1
  • Torch required

    Torch required

    Even though torch is required for transformers https://github.com/huggingface/transformers/blob/master/setup.py#L136 pip didn't install it. pip install torch fixed it but to respect the 1 line idea of the documentation might have to fix that.

    opened by Utopiah 1
  • Could not find pretrained model in parlai.zoo.blender.blender_400Mdistill or parlai.zoo.blender.build.

    Could not find pretrained model in parlai.zoo.blender.blender_400Mdistill or parlai.zoo.blender.build.

    Hello, I execute OpenChat(model="blender.medium", device="cpu") code. And I met ImportError Could not find pretrained model in parlai.zoo.blender.blender_400Mdistill or parlai.zoo.blender.build.

    I could be wrong of course, but I guess that Code needs to be modified; 400Mdistill -> 400M-distill

    opened by daje0601 0
  • ParlAI

    ParlAI

    Sorry for taking your time but would you be willing to explain how to get a response and make separate worlds and various other things with ParlAI. I am currently having having trouble understanding how to do this aspect. Just wondering if you would be willing to explain or direct me to more resources on this topic. Specifically on how to get a response like specifically, if we were to run it in a python file rather than a command line or terminal. Best Regards Colin

    opened by HelloIshHere 0
  • KeyError: 'model_file' using safety.sensitive model

    KeyError: 'model_file' using safety.sensitive model

    (Using Ubuntu on WSL, other models work so I don't believe WSL is the issue. OpenChat will not load on windows.)

    from openchat import OpenChat OpenChat(model="safety.sensitive", device="cpu")

                                  ____   ____   ______ _   __   ______ __  __ ___   ______
                                 / __ \ / __ \ / ____// | / /  / ____// / / //   | /_  __/
                                / / / // /_/ // __/  /  |/ /  / /    / /_/ // /| |  / /
                               / /_/ // ____// /___ / /|  /  / /___ / __  // ___ | / /
                               \____//_/    /_____//_/ |_/   \____//_/ /_//_/  |_|/_/
    
                                                   ... LOADING ...
    

    Traceback (most recent call last): File "", line 1, in File "/home/dusk/.local/lib/python3.8/site-packages/openchat/openchat.py", line 24, in init self.agent = self.create_agent_by_name( File "/home/dusk/.local/lib/python3.8/site-packages/openchat/openchat.py", line 87, in create_agent_by_name return SensitiveAgent(name, device, maxlen) File "/home/dusk/.local/lib/python3.8/site-packages/openchat/agents/safety.py", line 111, in init model=create_agent_from_opt_file(option), File "/home/dusk/.local/lib/python3.8/site-packages/parlai/core/agents.py", line 361, in create_agent_from_opt_file model_file = opt['model_file'] KeyError: 'model_file'

    I don't know quite what is causing this, any help is appreciated!

    opened by EternalDusk 1
  • Any plans to add Blender Bot 2.0 to openchat?

    Any plans to add Blender Bot 2.0 to openchat?

    Recently, Facebook released Blenderbot 2.0, a chatbot that builds on RAG and Blenderbot 1.0. I was wondering if there are any plans to add Blender Bot 2.0 to openchat.

    Blender Bot 2.0 : https://parl.ai/projects/blenderbot2/

    opened by scy6500 2
  • Keyword arguments in documentation don't work

    Keyword arguments in documentation don't work

    Using openchat==1.1.12

    >>> from openchat import OpenChat
    ... OpenChat(
    ...    model="blender.medium",
    ...    device="cpu",
    ...    method="top_k",
    ...    top_k=20,
    ...    no_repeat_ngram_size=3,
    ...    length_penalty=0.6,
    ... )
    Traceback (most recent call last):   
      File "<stdin>", line 2, in <module>
    TypeError: __init__() got an unexpected keyword argument 'method'               
    
    opened by CalebFenton 0
Owner
Hyunwoong Ko
Co-Founder and Research Engineer at @tunib-ai. previously @kakaobrain.
Hyunwoong Ko
An implementation of model parallel GPT-3-like models on GPUs, based on the DeepSpeed library. Designed to be able to train models in the hundreds of billions of parameters or larger.

GPT-NeoX An implementation of model parallel GPT-3-like models on GPUs, based on the DeepSpeed library. Designed to be able to train models in the hun

EleutherAI 3.1k Jan 8, 2023
PyTorch implementation and pretrained models for XCiT models. See XCiT: Cross-Covariance Image Transformer

Cross-Covariance Image Transformer (XCiT) PyTorch implementation and pretrained models for XCiT models. See XCiT: Cross-Covariance Image Transformer L

Facebook Research 605 Jan 2, 2023
A collection of Classical Chinese natural language processing models, including Classical Chinese related models and resources on the Internet.

GuwenModels: 古文自然语言处理模型合集, 收录互联网上的古文相关模型及资源. A collection of Classical Chinese natural language processing models, including Classical Chinese related models and resources on the Internet.

Ethan 66 Dec 26, 2022
Silero Models: pre-trained speech-to-text, text-to-speech models and benchmarks made embarrassingly simple

Silero Models: pre-trained speech-to-text, text-to-speech models and benchmarks made embarrassingly simple

Alexander Veysov 3.2k Dec 31, 2022
A framework for training and evaluating AI models on a variety of openly available dialogue datasets.

ParlAI (pronounced “par-lay”) is a python framework for sharing, training and testing dialogue models, from open-domain chitchat, to task-oriented dia

Facebook Research 9.7k Jan 9, 2023
A framework for training and evaluating AI models on a variety of openly available dialogue datasets.

ParlAI (pronounced “par-lay”) is a python framework for sharing, training and testing dialogue models, from open-domain chitchat, to task-oriented dia

Facebook Research 7k Feb 18, 2021
An open source framework for seq2seq models in PyTorch.

pytorch-seq2seq Documentation This is a framework for sequence-to-sequence (seq2seq) models implemented in PyTorch. The framework has modularized and

International Business Machines 1.4k Jan 2, 2023
Parrot is a paraphrase based utterance augmentation framework purpose built to accelerate training NLU models

Parrot is a paraphrase based utterance augmentation framework purpose built to accelerate training NLU models. A paraphrase framework is more than just a paraphrasing model.

Prithivida 681 Jan 1, 2023
A framework for evaluating Knowledge Graph Embedding Models in a fine-grained manner.

A framework for evaluating Knowledge Graph Embedding Models in a fine-grained manner.

NEC Laboratories Europe 13 Sep 8, 2022
Prithivida 690 Jan 4, 2023
An easy-to-use framework for BERT models, with trainers, various NLP tasks and detailed annonations

FantasyBert English | 中文 Introduction An easy-to-use framework for BERT models, with trainers, various NLP tasks and detailed annonations. You can imp

Fan 137 Oct 26, 2022
This repository will contain the code for the CVPR 2021 paper "GIRAFFE: Representing Scenes as Compositional Generative Neural Feature Fields"

GIRAFFE: Representing Scenes as Compositional Generative Neural Feature Fields Project Page | Paper | Supplementary | Video | Slides | Blog | Talk If

null 1.1k Dec 27, 2022
A PyTorch implementation of the WaveGlow: A Flow-based Generative Network for Speech Synthesis

WaveGlow A PyTorch implementation of the WaveGlow: A Flow-based Generative Network for Speech Synthesis Quick Start: Install requirements: pip install

Yuchao Zhang 204 Jul 14, 2022
Code for "Generative adversarial networks for reconstructing natural images from brain activity".

Reconstruct handwritten characters from brains using GANs Example code for the paper "Generative adversarial networks for reconstructing natural image

K. Seeliger 2 May 17, 2022
KakaoBrain KoGPT (Korean Generative Pre-trained Transformer)

KoGPT KoGPT (Korean Generative Pre-trained Transformer) https://github.com/kakaobrain/kogpt https://huggingface.co/kakaobrain/kogpt Model Descriptions

Kakao Brain 797 Dec 26, 2022
This repository serves as a place to document a toy attempt on how to create a generative text model in Catalan, based on GPT-2

GPT-2 Catalan playground and scripts to train a GPT-2 model either from scrath or from another pretrained model.

Laura 1 Jan 28, 2022
Tensorflow Implementation of A Generative Flow for Text-to-Speech via Monotonic Alignment Search

Tensorflow Implementation of A Generative Flow for Text-to-Speech via Monotonic Alignment Search

Ankur Dhuriya 10 Oct 13, 2022
A modular Karton Framework service that unpacks common packers like UPX and others using the Qiling Framework.

Unpacker Karton Service A modular Karton Framework service that unpacks common packers like UPX and others using the Qiling Framework. This project is

c3rb3ru5 45 Jan 5, 2023