-
Notifications
You must be signed in to change notification settings - Fork 231
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* chat in browser * remove jinja2 comment seems irrelavant * remove jinja2 comment seems irrelavant * remove debug prints * use torchchat as entry point
- Loading branch information
1 parent
d174616
commit 391a846
Showing
6 changed files
with
88 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# -*- coding: UTF-8 -*- | ||
from flask import Flask, render_template, request | ||
from cli import add_arguments_for_generate, arg_init, check_args | ||
from generate import main as generate_main | ||
import subprocess | ||
import sys | ||
|
||
|
||
convo = "" | ||
|
||
def create_app(*args): | ||
app = Flask(__name__) | ||
|
||
import subprocess | ||
# create a new process and set up pipes for communication | ||
proc = subprocess.Popen(["python", "generate.py", *args], | ||
stdin=subprocess.PIPE, | ||
stdout=subprocess.PIPE) | ||
|
||
@app.route('/') | ||
def main(): | ||
output = "" | ||
while True: | ||
line = proc.stdout.readline() | ||
if line.decode('utf-8').startswith("What is your prompt?"): | ||
break | ||
output += line.decode('utf-8').strip() + "\n" | ||
return render_template('chat.html', convo="Hello! What is your prompt?") | ||
|
||
@app.route('/chat', methods=['POST']) | ||
def chat(): | ||
# Retrieve the HTTP POST request parameter value from 'request.form' dictionary | ||
_prompt = request.form.get('prompt') | ||
proc.stdin.write((_prompt + "\n").encode('utf-8')) | ||
proc.stdin.flush() | ||
|
||
output = "" | ||
while True: | ||
line = proc.stdout.readline() | ||
if line.decode('utf-8').startswith("What is your prompt?"): | ||
break | ||
output += line.decode('utf-8').strip() + "\n" | ||
|
||
global convo | ||
|
||
if _prompt: | ||
convo += "Your prompt:\n" + _prompt + "\n\n" | ||
convo += "My response:\n" + output + "\n\n" | ||
|
||
return render_template('chat.html', convo=convo) | ||
|
||
return app |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,3 +27,6 @@ wheel | |
cmake | ||
ninja | ||
zstd | ||
|
||
# Browser mode | ||
flask |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="utf-8"> | ||
<title>torchchat</title> | ||
</head> | ||
<body> | ||
<pre>{{ convo }}</pre> | ||
<form action="chat" method="post"> | ||
<label for="username">Prompt: </label> | ||
<input type="text" id="prompt" name="prompt"><br> | ||
<input type="submit" value="SEND"> | ||
</form> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters