ChatStream Guide

[ChatStream] 生成と初期化

ChatStream Guide

[ChatStream] 生成と初期化

こんにちは (株)Qualiteg プロダクト開発本部です! 本稿では、 ChatStream の生成と初期化についてご説明いたします! ChatStream クラスは ChatStream パッケージのコアとなるクラスで、FastAPI/Starlette の Request を受け取り、 負荷制御をしながらストリーミングレスポンスをクライアントに送出する役割をもっています。 以下のように model,tokenizer,device, 最大同時処理数 num_of_concurrent_executions 、待ち行列の最大数 max_queue_size ,プロンプトクラス ChatPrompt を指定して初期化します tokenizer = AutoTokenizer.from_pretrained(model_path) model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype=torch.float16) model.

By Qualiteg プロダクト開発部
[ChatStream] HTTP セッションミドルウェアの設定

ChatStream Guide

[ChatStream] HTTP セッションミドルウェアの設定

こんにちは! (株)Qualiteg プロダクト開発部 です! 本稿では、 ChatStream に セッションミドルウェアをセットし、Webアプリケーションをステートフルにする方法についてご説明いたします! ChatStream では Qualiteg が開発した独自のセッションミドルウェアを使用しており、通常の Starlette 用のセッションミドルウェアよりも高い柔軟性を実現しています。(Java Servlet のセッション管理アプローチに近いです) セッションミドルウェア 開いたブラウザでWebチャットをするときにマルチラウンドの会話を成立するためには ChatPrompt(会話履歴) が複数ターンの会話のなかで更新されていく必要があります。 デフォルトでは、 ChatStream は HTTP セッションを使用してWebアプリケーションをステートフルにし、 ChatPrompt をブラウザが開いている間保持することができます。 HTTP セッションを使用するには、以下のように FastAPI のミドルウェアを登録します。 from fas

By Qualiteg プロダクト開発部
[ChatSream] モデルをロードする方法

ChatStream Guide

[ChatSream] モデルをロードする方法

こんにちは! (株)Qualiteg プロダクト開発部 です! 本稿では、 ChatStream に HuggingFaceモデルを読み込むときのアプローチについてご説明いたします HuggingFace モデルのロード モデルごとに指定された方法で HuggingFace モデルを読み込みます。 model_path = "togethercomputer/RedPajama-INCITE-Chat-3B-v1" device = "cuda" # "cuda" / "cpu" tokenizer = AutoTokenizer.from_pretrained(model_path) model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype=torch.float16) model.to(device) こちらは、

By Qualiteg プロダクト開発部
[ChatStream] ChatPrompt の実装

ChatStream Guide

[ChatStream] ChatPrompt の実装

ChatPrompt とは こんにちは! (株)Qualiteg プロダクト開発部 です! 本稿では、 ChatPrompt の具体的な実装方法をご紹介いたします! ChatPrompt とは、事前学習済言語モデル(以降、モデル)用のプロンプトを生成するためのクラスです。プロンプトクラスと呼びます。 たとえば、 redpajama-incite の場合は以下のようなプロンプトをつくり、モデルに入力します。 <human>: Who is Alan Turing <bot>: すると、モデルは続きの文章を生成し、以下を出力します。 <human>: Who is Alan Turing <bot>: He was a very honorable man.

By Qualiteg プロダクト開発部
[ChatStream] クイックスタート

ChatStream Guide

[ChatStream] クイックスタート

こんにちは! (株)Qualiteg プロダクト開発部 です! まだまだ暑いですね! 早速、昨日発表しました ChatStream をつかったリアルタイムストリーミングチャットサーバーを作ってみたいと思います。 パッケージのインストール 早速 ChatStream パッケージのインストールをしていきます pip install chatstream 必要パッケージのインストール pip install torch torchvision torchaudio pip install transformers pip install "uvicorn[standard]" gunicorn ChatStream サーバーの実装 今回は RedPajamaINCITE をLLMとしてつかったストリーミングチャットサーバーを実装します。 chatstream_server.py import torch from fastapi import FastAPI, Request from fastsession

By Qualiteg プロダクト開発部
[ChatStream] matsuo-lab/weblab-10b-instruction-sft用の ChatPrompt

ChatStream Guide

[ChatStream] matsuo-lab/weblab-10b-instruction-sft用の ChatPrompt

matsuo-lab/weblab-10b-instruction-sft 用の ChatPrompt クラスをリリースしました。 最新バージョンのChatStreamに取り込んでいますが、以下コードを使用することも可能です。 from chatstream import AbstractChatPrompt from chatstream.chat_prompt.prompt_ttl import PromptTTL class ChatPromptMatsuoLabJpGptNeoxInstSft(AbstractChatPrompt): def __init__(self): super().__init__() # Call the initialization of the base class self.set_system("以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を書きなさい。") self.set_requester("指示") self.

By Qualiteg プロダクト開発部
ChatStream α1(プレビュー)提供のお知らせ

News

ChatStream α1(プレビュー)提供のお知らせ

株式会社 Qualiteg は LLMアプリケーション開発ツールキット ChatStream™ のαプレビュー版の提供を開始いたしました。 ChatStream™ とは 高品質な商用 LLM アプリケーションを簡単に構築できる Python ライブラリです。 Web フロントエンド(チャットUI) と 推論実行サーバーソフトウェア で構成されており、追加のソフトウェア開発をせずに ChatStream™ だけで LLM アプリケーションを実現することができます。 また、頭脳となる LLM には HuggingFace 等で提供されているオープンソースLLMを使用することができます。(ChatGPT等のAPIをつなぎこむことも可能です)。 2023年9月 現在は、 Pythonのライブラリ として AGPL および 商用ライセンスで提供しています。 以下サイトよりオンラインデモをご体験ください! https://chatstream.net このデモのようなアプリケーションをほぼノーコードで作成することができます。 ChatStreamは本格的な商用用途に

By Qualiteg ニュース