[AI] ChatRWKVアプリ製作 その5 LangChainでRWKVを使う PyQt6

[M1 Mac, Ventura 13.3.1, Python 3.10.4]

LangChainでRWKV学習モデルを試してみました。

LangChainはこれまで3/31リリースの0.0.127を使っていました。このバージョンではRWKVは使えませんでしたが、現時点最新の0.0.146では使用可能になっています。毎日、新バージョンをリリースしているのでこまめにチェックが必要ですね。

パラメータ数1B5で受け答えがややまともになりましたが、M1 Macでは動作が遅すぎます。日本の首都を答えるのに3分掛かりました。

class chat_base():
    def __init__(self):
        self.model_tokens = []
        self.model_state = None
        self.all_state = {}
        self.user = None
        self.bot = None
        self.interface = None
        self.init_prompt = None
        self.pipeline = None
        self.bool_value = False
        
    def load_model(self, lang, strat, model, bool):
        self.lang = lang
        self.strat = strat
        self.model = model
        self.bool = bool
        
        if self.bool == False:
            from langchain.llms import RWKV
            
            llm = RWKV(
                model = '/Volumes/DATA_m1/AI/ChatRWKV_work/' + self.model, 
                strategy = self.strat, 
                tokens_path = "/Volumes/DATA_m1/AI/ChatRWKV_work/ChatRWKV/v2/20B_tokenizer.json"
            )
            
            while True:
                print("質問を入力して下さい")
                self.question = input()
                print(llm(self.generate_prompt(self.question)))

参考サイト