From 7123fe01b3117308aec92cef4c254842b328d40f Mon Sep 17 00:00:00 2001 From: ChungHwan Han <51526347+hanchchch@users.noreply.github.com> Date: Sat, 8 Apr 2023 14:10:16 +0900 Subject: [PATCH] Feature/async inference (#31) * feat: async execution * feat: poll execution status * feat: disable submit button while executing * feat: execution tracing callback * feat: handle polling events on client side * fix: show last tool response * fix: tool index * fix: remove sidebar * fix: action input width * fix: hide input and observation on final answer * feat: stack actions * fix: run workers on serve * docs: update usage --- README.md | 33 +++-- api/container.py | 62 ++++++++ api/main.py | 102 ++++++-------- api/templates/base.html | 6 +- api/templates/index.html | 27 +++- api/worker.py | 42 ++++++ assets/gui.png | Bin 0 -> 308838 bytes core/agents/builder.py | 13 +- core/agents/callback.py | 114 ++++++++++++++- core/agents/manager.py | 75 +++++----- core/agents/parser.py | 41 +++--- core/prompts/input.py | 4 +- docker-compose.yml | 9 ++ env.py | 2 + poetry.lock | 235 ++++++++++++++++++++++++++++++- pyproject.toml | 2 + static/execute.js | 296 +++++++++++++++++++++++++++++++++------ static/styles.css | 4 +- 18 files changed, 886 insertions(+), 181 deletions(-) create mode 100644 api/container.py create mode 100644 api/worker.py create mode 100644 assets/gui.png diff --git a/README.md b/README.md index 1765597..78ebe22 100644 --- a/README.md +++ b/README.md @@ -111,23 +111,32 @@ Some tools requires environment variables. Set envs depend on which tools you wa ### 3. Send request to EVAL -- `POST /api/execute` +- Use the Web GUI to use EVAL in ease - - `session` - session id - - `files` - urls of file inputs - - `prompt` - prompt + - Go to `http://localhost:8000` in your browser + -- You can send request to EVAL with `curl` or `httpie`. +- Or you can manually send request to EVAL with APIs. - ```bash - curl -X POST -H "Content-Type: application/json" -d '{"session": "sessionid", "files": [], "prompt": "Hi there!"}' http://localhost:8000/api/execute - ``` + - `POST /api/execute` - ```bash - http POST http://localhost:8000/api/execute session=sessionid files:='[]' prompt="Hi there!" - ``` + - `session` - session id + - `files` - urls of file inputs + - `prompt` - prompt -- We are planning to make a GUI for EVAL so you can use it without terminal. + - examples + + ```bash + curl -X POST -H "Content-Type: application/json" -d '{"session": "sessionid", "files": [], "prompt": "Hi there!"}' http://localhost:8000/api/execute + ``` + + ```bash + http POST http://localhost:8000/api/execute session=sessionid files:='[]' prompt="Hi there!" + ``` + +- It also supports asynchronous execution. You can use `POST /api/execute/async` instead of `POST /api/execute`, with same body. + + - It returns `id` of the execution. Use `GET /api/execute/async/{id}` to get the result. ## TODO diff --git a/api/container.py b/api/container.py new file mode 100644 index 0000000..028c608 --- /dev/null +++ b/api/container.py @@ -0,0 +1,62 @@ +import os +import re +from pathlib import Path +from typing import Dict, List + +from fastapi.templating import Jinja2Templates + +from core.agents.manager import AgentManager +from core.handlers.base import BaseHandler, FileHandler, FileType +from core.handlers.dataframe import CsvToDataframe +from core.tools.base import BaseToolSet +from core.tools.cpu import ExitConversation, RequestsGet +from core.tools.editor import CodeEditor +from core.tools.terminal import Terminal +from core.upload import StaticUploader +from env import settings + +BASE_DIR = Path(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +os.chdir(BASE_DIR / settings["PLAYGROUND_DIR"]) + + +toolsets: List[BaseToolSet] = [ + Terminal(), + CodeEditor(), + RequestsGet(), + ExitConversation(), +] +handlers: Dict[FileType, BaseHandler] = {FileType.DATAFRAME: CsvToDataframe()} + +if settings["USE_GPU"]: + import torch + + from core.handlers.image import ImageCaptioning + from core.tools.gpu import ( + ImageEditing, + InstructPix2Pix, + Text2Image, + VisualQuestionAnswering, + ) + + if torch.cuda.is_available(): + toolsets.extend( + [ + Text2Image("cuda"), + ImageEditing("cuda"), + InstructPix2Pix("cuda"), + VisualQuestionAnswering("cuda"), + ] + ) + handlers[FileType.IMAGE] = ImageCaptioning("cuda") + +agent_manager = AgentManager.create(toolsets=toolsets) + +file_handler = FileHandler(handlers=handlers, path=BASE_DIR) + +templates = Jinja2Templates(directory=BASE_DIR / "api" / "templates") + +uploader = StaticUploader.from_settings( + settings, path=BASE_DIR / "static", endpoint="static" +) + +reload_dirs = [BASE_DIR / "core", BASE_DIR / "api"] diff --git a/api/main.py b/api/main.py index 5126f80..898207b 100644 --- a/api/main.py +++ b/api/main.py @@ -1,72 +1,22 @@ -import os import re -from pathlib import Path +from multiprocessing import Process from tempfile import NamedTemporaryFile -from typing import Dict, List, TypedDict +from typing import List, TypedDict import uvicorn from fastapi import FastAPI, Request, UploadFile from fastapi.responses import HTMLResponse from fastapi.staticfiles import StaticFiles -from fastapi.templating import Jinja2Templates from pydantic import BaseModel -from core.agents.manager import AgentManager -from core.handlers.base import BaseHandler, FileHandler, FileType -from core.handlers.dataframe import CsvToDataframe -from core.tools.base import BaseToolSet -from core.tools.cpu import ExitConversation, RequestsGet -from core.tools.editor import CodeEditor -from core.tools.terminal import Terminal -from core.upload import StaticUploader +from api.container import agent_manager, file_handler, reload_dirs, templates, uploader +from api.worker import get_task_result, start_worker, task_execute from env import settings app = FastAPI() - -BASE_DIR = Path(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -os.chdir(BASE_DIR / settings["PLAYGROUND_DIR"]) - -uploader = StaticUploader.from_settings( - settings, path=BASE_DIR / "static", endpoint="static" -) app.mount("/static", StaticFiles(directory=uploader.path), name="static") -templates = Jinja2Templates(directory=BASE_DIR / "api" / "templates") - -toolsets: List[BaseToolSet] = [ - Terminal(), - CodeEditor(), - RequestsGet(), - ExitConversation(), -] -handlers: Dict[FileType, BaseHandler] = {FileType.DATAFRAME: CsvToDataframe()} - -if settings["USE_GPU"]: - import torch - - from core.handlers.image import ImageCaptioning - from core.tools.gpu import ( - ImageEditing, - InstructPix2Pix, - Text2Image, - VisualQuestionAnswering, - ) - - if torch.cuda.is_available(): - toolsets.extend( - [ - Text2Image("cuda"), - ImageEditing("cuda"), - InstructPix2Pix("cuda"), - VisualQuestionAnswering("cuda"), - ] - ) - handlers[FileType.IMAGE] = ImageCaptioning("cuda") - -agent_manager = AgentManager.create(toolsets=toolsets) -file_handler = FileHandler(handlers=handlers, path=BASE_DIR) - class ExecuteRequest(BaseModel): session: str @@ -107,7 +57,7 @@ async def execute(request: ExecuteRequest) -> ExecuteResponse: files = request.files session = request.session - executor = agent_manager.get_or_create_executor(session) + executor = agent_manager.create_executor(session) promptedQuery = "\n".join([file_handler.handle(file) for file in files]) promptedQuery += query @@ -117,7 +67,7 @@ async def execute(request: ExecuteRequest) -> ExecuteResponse: except Exception as e: return {"answer": str(e), "files": []} - files = re.findall(r"\[file/\S*\]", res["output"]) + files = re.findall(r"\[file://\S*\]", res["output"]) files = [file[1:-1] for file in files] return { @@ -126,15 +76,53 @@ async def execute(request: ExecuteRequest) -> ExecuteResponse: } +@app.post("/api/execute/async") +async def execute_async(request: ExecuteRequest): + query = request.prompt + files = request.files + session = request.session + + promptedQuery = "\n".join([file_handler.handle(file) for file in files]) + promptedQuery += query + + execution = task_execute.delay(session, promptedQuery) + return {"id": execution.id} + + +@app.get("/api/execute/async/{execution_id}") +async def execute_async(execution_id: str): + execution = get_task_result(execution_id) + + result = {} + if execution.status == "SUCCESS" and execution.result: + output = execution.result.get("output", "") + files = re.findall(r"\[file://\S*\]", output) + files = [file[1:-1] for file in files] + result = { + "answer": output, + "files": [uploader.upload(file) for file in files], + } + + return { + "status": execution.status, + "info": execution.info, + "result": result, + } + + def serve(): + p = Process(target=start_worker, args=[]) + p.start() uvicorn.run("api.main:app", host="0.0.0.0", port=settings["EVAL_PORT"]) def dev(): + p = Process(target=start_worker, args=[]) + p.start() uvicorn.run( "api.main:app", host="0.0.0.0", port=settings["EVAL_PORT"], reload=True, - reload_dirs=[BASE_DIR / "core", BASE_DIR / "api"], + reload_dirs=reload_dirs, ) diff --git a/api/templates/base.html b/api/templates/base.html index d35ced7..b8f7fd6 100644 --- a/api/templates/base.html +++ b/api/templates/base.html @@ -44,9 +44,9 @@
-

-
+
-->
{% block content %}{% endblock %}
diff --git a/api/templates/index.html b/api/templates/index.html index a20d354..5c6b187 100644 --- a/api/templates/index.html +++ b/api/templates/index.html @@ -17,15 +17,32 @@
- + -
-
-
-
+
+
+
+
+
+
+
+
diff --git a/api/worker.py b/api/worker.py new file mode 100644 index 0000000..44062d3 --- /dev/null +++ b/api/worker.py @@ -0,0 +1,42 @@ +from celery import Celery +from celery.result import AsyncResult + +from api.container import agent_manager +from env import settings + +celery_app = Celery(__name__) +celery_app.conf.broker_url = settings["CELERY_BROKER_URL"] +celery_app.conf.result_backend = settings["CELERY_BROKER_URL"] +celery_app.conf.update( + task_track_started=True, + task_serializer="json", + accept_content=["json"], # Ignore other content + result_serializer="json", + enable_utc=True, +) + + +@celery_app.task(name="task_execute", bind=True) +def task_execute(self, session: str, prompt: str): + executor = agent_manager.create_executor(session, self) + response = executor({"input": prompt}) + result = {"output": response["output"]} + + previous = AsyncResult(self.request.id) + if previous and previous.info: + result.update(previous.info) + + return result + + +def get_task_result(task_id): + return AsyncResult(task_id) + + +def start_worker(): + celery_app.worker_main( + [ + "worker", + "--loglevel=INFO", + ] + ) diff --git a/assets/gui.png b/assets/gui.png new file mode 100644 index 0000000000000000000000000000000000000000..129157f4070c6fad4c3cba3f1628c19032ad8146 GIT binary patch literal 308838 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�BA2EGdZPTb#akhCn~PX#M<$jt^m4&Y%0| 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 T$RQS_B)v~v>#x|IrWgJXyQUPU literal 0 HcmV?d00001 diff --git a/core/agents/builder.py b/core/agents/builder.py index 1f45aee..10cb5e9 100644 --- a/core/agents/builder.py +++ b/core/agents/builder.py @@ -4,6 +4,7 @@ from core.tools.factory import ToolsFactory from env import settings from langchain.chat_models.base import BaseChatModel from langchain.output_parsers.base import BaseOutputParser +from langchain.callbacks.base import BaseCallbackManager from .chat_agent import ConversationalChatAgent from .llm import ChatOpenAI @@ -17,8 +18,10 @@ class AgentBuilder: self.global_tools: list = None self.toolsets = toolsets - def build_llm(self): - self.llm = ChatOpenAI(temperature=0) + def build_llm(self, callback_manager: BaseCallbackManager = None): + self.llm = ChatOpenAI( + temperature=0, callback_manager=callback_manager, verbose=True + ) self.llm.check_access() def build_parser(self): @@ -40,6 +43,12 @@ class AgentBuilder: *ToolsFactory.create_global_tools(self.toolsets), ] + def get_parser(self): + if self.parser is None: + raise ValueError("Parser is not initialized yet") + + return self.parser + def get_global_tools(self): if self.global_tools is None: raise ValueError("Global tools are not initialized yet") diff --git a/core/agents/callback.py b/core/agents/callback.py index 6769a14..a52e9d1 100644 --- a/core/agents/callback.py +++ b/core/agents/callback.py @@ -2,22 +2,45 @@ from typing import Any, Dict, List, Optional, Union from langchain.callbacks.base import BaseCallbackHandler from langchain.schema import AgentAction, AgentFinish, LLMResult +from celery import Task from ansi import ANSI, Color, Style, dim_multiline from logger import logger class EVALCallbackHandler(BaseCallbackHandler): + @property + def ignore_llm(self) -> bool: + return False + + def set_parser(self, parser) -> None: + self.parser = parser + def on_llm_start( self, serialized: Dict[str, Any], prompts: List[str], **kwargs: Any ) -> None: pass def on_llm_end(self, response: LLMResult, **kwargs: Any) -> None: - pass + text = response.generations[0][0].text + + parsed = self.parser.parse_all(text) + + logger.info(ANSI("Plan").to(Color.blue().bright()) + ": " + parsed["plan"]) + logger.info(ANSI("What I Did").to(Color.blue()) + ": " + parsed["what_i_did"]) + logger.info( + ANSI("Action").to(Color.cyan()) + + ": " + + ANSI(parsed["action"]).to(Style.bold()) + ) + logger.info( + ANSI("Input").to(Color.cyan()) + + ": " + + dim_multiline(parsed["action_input"]) + ) def on_llm_new_token(self, token: str, **kwargs: Any) -> None: - pass + logger.info(ANSI(f"on_llm_new_token {token}").to(Color.green(), Style.italic())) def on_llm_error( self, error: Union[Exception, KeyboardInterrupt], **kwargs: Any @@ -85,3 +108,90 @@ class EVALCallbackHandler(BaseCallbackHandler): + ": " + dim_multiline(finish.return_values.get("output", "")) ) + + +class ExecutionTracingCallbackHandler(BaseCallbackHandler): + def __init__(self, execution: Task): + self.execution = execution + self.index = 0 + + def set_parser(self, parser) -> None: + self.parser = parser + + def on_llm_start( + self, serialized: Dict[str, Any], prompts: List[str], **kwargs: Any + ) -> None: + pass + + def on_llm_end(self, response: LLMResult, **kwargs: Any) -> None: + text = response.generations[0][0].text + parsed = self.parser.parse_all(text) + self.index += 1 + parsed["index"] = self.index + self.execution.update_state(state="LLM_END", meta=parsed) + + def on_llm_new_token(self, token: str, **kwargs: Any) -> None: + pass + + def on_llm_error( + self, error: Union[Exception, KeyboardInterrupt], **kwargs: Any + ) -> None: + pass + + def on_chain_start( + self, serialized: Dict[str, Any], inputs: Dict[str, Any], **kwargs: Any + ) -> None: + pass + + def on_chain_end(self, outputs: Dict[str, Any], **kwargs: Any) -> None: + pass + + def on_chain_error( + self, error: Union[Exception, KeyboardInterrupt], **kwargs: Any + ) -> None: + self.execution.update_state(state="CHAIN_ERROR", meta={"error": str(error)}) + + def on_tool_start( + self, + serialized: Dict[str, Any], + input_str: str, + **kwargs: Any, + ) -> None: + pass + + def on_agent_action(self, action: AgentAction, **kwargs: Any) -> Any: + pass + + def on_tool_end( + self, + output: str, + observation_prefix: Optional[str] = None, + llm_prefix: Optional[str] = None, + **kwargs: Any, + ) -> None: + previous = self.execution.AsyncResult(self.execution.request.id) + self.execution.update_state( + state="TOOL_END", meta={**previous.info, "observation": output} + ) + + def on_tool_error( + self, error: Union[Exception, KeyboardInterrupt], **kwargs: Any + ) -> None: + previous = self.execution.AsyncResult(self.execution.request.id) + self.execution.update_state( + state="TOOL_ERROR", meta={**previous.info, "error": str(error)} + ) + + def on_text( + self, + text: str, + color: Optional[str] = None, + end: str = "", + **kwargs: Optional[str], + ) -> None: + pass + + def on_agent_finish( + self, finish: AgentFinish, color: Optional[str] = None, **kwargs: Any + ) -> None: + pass diff --git a/core/agents/manager.py b/core/agents/manager.py index 4f7ebf4..e11d5f7 100644 --- a/core/agents/manager.py +++ b/core/agents/manager.py @@ -1,9 +1,9 @@ -from typing import Dict +from typing import Dict, Optional +from celery import Task -from langchain.agents.agent import Agent, AgentExecutor -from langchain.agents.tools import BaseTool -from langchain.callbacks import set_handler +from langchain.agents.agent import AgentExecutor from langchain.callbacks.base import CallbackManager +from langchain.callbacks import set_handler from langchain.chains.conversation.memory import ConversationBufferMemory from langchain.memory.chat_memory import BaseChatMemory @@ -11,68 +11,73 @@ from core.tools.base import BaseToolSet from core.tools.factory import ToolsFactory from .builder import AgentBuilder -from .callback import EVALCallbackHandler +from .callback import EVALCallbackHandler, ExecutionTracingCallbackHandler + -callback_manager = CallbackManager([EVALCallbackHandler()]) set_handler(EVALCallbackHandler()) class AgentManager: def __init__( self, - agent: Agent, - global_tools: list[BaseTool], toolsets: list[BaseToolSet] = [], ): - self.agent: Agent = agent - self.global_tools: list[BaseTool] = global_tools self.toolsets: list[BaseToolSet] = toolsets + self.memories: Dict[str, BaseChatMemory] = {} self.executors: Dict[str, AgentExecutor] = {} def create_memory(self) -> BaseChatMemory: return ConversationBufferMemory(memory_key="chat_history", return_messages=True) - def create_executor(self, session: str) -> AgentExecutor: - memory: BaseChatMemory = self.create_memory() + def get_or_create_memory(self, session: str) -> BaseChatMemory: + if not (session in self.memories): + self.memories[session] = self.create_memory() + return self.memories[session] + + def create_executor( + self, session: str, execution: Optional[Task] = None + ) -> AgentExecutor: + builder = AgentBuilder(self.toolsets) + builder.build_parser() + + callbacks = [] + eval_callback = EVALCallbackHandler() + eval_callback.set_parser(builder.get_parser()) + callbacks.append(eval_callback) + if execution: + execution_callback = ExecutionTracingCallbackHandler(execution) + execution_callback.set_parser(builder.get_parser()) + callbacks.append(execution_callback) + + callback_manager = CallbackManager(callbacks) + + builder.build_llm(callback_manager) + builder.build_global_tools() + + memory: BaseChatMemory = self.get_or_create_memory(session) tools = [ - *self.global_tools, + *builder.get_global_tools(), *ToolsFactory.create_per_session_tools( self.toolsets, get_session=lambda: (session, self.executors[session]), ), ] + for tool in tools: - tool.set_callback_manager(callback_manager) + tool.callback_manager = callback_manager - return AgentExecutor.from_agent_and_tools( - agent=self.agent, + executor = AgentExecutor.from_agent_and_tools( + agent=builder.get_agent(), tools=tools, memory=memory, callback_manager=callback_manager, verbose=True, ) - - def remove_executor(self, session: str) -> None: - if session in self.executors: - del self.executors[session] - - def get_or_create_executor(self, session: str) -> AgentExecutor: - if not (session in self.executors): - self.executors[session] = self.create_executor(session=session) - return self.executors[session] + self.executors[session] = executor + return executor @staticmethod def create(toolsets: list[BaseToolSet]) -> "AgentManager": - builder = AgentBuilder(toolsets) - builder.build_llm() - builder.build_parser() - builder.build_global_tools() - - agent = builder.get_agent() - global_tools = builder.get_global_tools() - return AgentManager( - agent=agent, - global_tools=global_tools, toolsets=toolsets, ) diff --git a/core/agents/parser.py b/core/agents/parser.py index b0f2714..1c9dc51 100644 --- a/core/agents/parser.py +++ b/core/agents/parser.py @@ -1,16 +1,31 @@ import re -import time from typing import Dict from langchain.output_parsers.base import BaseOutputParser -from ansi import ANSI, Color, Style -from core.agents.callback import dim_multiline from core.prompts.input import EVAL_FORMAT_INSTRUCTIONS -from logger import logger class EvalOutputParser(BaseOutputParser): + @staticmethod + def parse_all(text: str) -> Dict[str, str]: + regex = r"Action: (.*?)[\n]Plan:(.*)[\n]What I Did:(.*)[\n]Action Input: (.*)" + match = re.search(regex, text, re.DOTALL) + if not match: + raise Exception("parse error") + + action = match.group(1).strip() + plan = match.group(2) + what_i_did = match.group(3) + action_input = match.group(4).strip(" ").strip('"') + + return { + "action": action, + "plan": plan, + "what_i_did": what_i_did, + "action_input": action_input, + } + def get_format_instructions(self) -> str: return EVAL_FORMAT_INSTRUCTIONS @@ -20,21 +35,9 @@ class EvalOutputParser(BaseOutputParser): if not match: raise Exception("parse error") - action = match.group(1).strip() - plan = match.group(2) - what_i_did = match.group(3) - action_input = match.group(4) - - logger.info(ANSI("Plan").to(Color.blue().bright()) + ": " + plan) - logger.info(ANSI("What I Did").to(Color.blue()) + ": " + what_i_did) - time.sleep(1) - logger.info( - ANSI("Action").to(Color.cyan()) + ": " + ANSI(action).to(Style.bold()) - ) - time.sleep(1) - logger.info(ANSI("Input").to(Color.cyan()) + ": " + dim_multiline(action_input)) - time.sleep(1) - return {"action": action, "action_input": action_input.strip(" ").strip('"')} + parsed = EvalOutputParser.parse_all(text) + + return {"action": parsed["action"], "action_input": parsed["action_input"]} def __str__(self): return "EvalOutputParser" diff --git a/core/prompts/input.py b/core/prompts/input.py index cfd5f9d..47971c9 100644 --- a/core/prompts/input.py +++ b/core/prompts/input.py @@ -3,7 +3,7 @@ EVAL_PREFIX = """{bot_name} can execute any user's request. {bot_name} has permission to handle one instance and can handle the environment in it at will. You can code, run, debug, and test yourself. You can correct the code appropriately by looking at the error message. -I can understand, process, and create various types of files. Every image, dataframe, audio, video must be restored in file/ directory. +I can understand, process, and create various types of files. {bot_name} can do whatever it takes to execute the user's request. Let's think step by step. """ @@ -37,7 +37,7 @@ EVAL_SUFFIX = """TOOLS {bot_name} can ask the user to use tools to look up information that may be helpful in answering the users original question. You are very strict to the filename correctness and will never fake a file name if it does not exist. You will remember to provide the file name loyally if it's provided in the last tool observation. -If you have to include files in your response, you must move the files into file/ directory and provide the filename in [file/FILENAME] format. It must be wrapped in square brackets. +If you have to include files in your response, you must provide the filepath in [file://filepath] format. It must be wrapped in square brackets. The tools the human can use are: diff --git a/docker-compose.yml b/docker-compose.yml index e5a9bfc..22fd174 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,6 +16,10 @@ services: - "8000:8000" # eval port env_file: - .env + environment: + - CELERY_BROKER_URL=redis://redis:6379 + depends_on: + - redis eval.gpu: container_name: eval.gpu @@ -40,3 +44,8 @@ services: - driver: nvidia device_ids: ["1"] # You can choose which GPU to use capabilities: [gpu] + depends_on: + - redis + + redis: + image: redis:alpine diff --git a/env.py b/env.py index 061c286..2f9561f 100644 --- a/env.py +++ b/env.py @@ -12,6 +12,7 @@ class DotEnv(TypedDict): EVAL_PORT: int SERVER: str + CELERY_BROKER_URL: str USE_GPU: bool # optional PLAYGROUND_DIR: str # optional LOG_LEVEL: str # optional @@ -31,6 +32,7 @@ EVAL_PORT = int(os.getenv("EVAL_PORT", 8000)) settings: DotEnv = { "EVAL_PORT": EVAL_PORT, "MODEL_NAME": os.getenv("MODEL_NAME", "gpt-4"), + "CELERY_BROKER_URL": os.getenv("CELERY_BROKER_URL", "redis://localhost:6379"), "SERVER": os.getenv("SERVER", f"http://localhost:{EVAL_PORT}"), "USE_GPU": os.getenv("USE_GPU", "False").lower() == "true", "PLAYGROUND_DIR": os.getenv("PLAYGROUND_DIR", "playground"), diff --git a/poetry.lock b/poetry.lock index 492449a..2c84efb 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.4.1 and should not be changed by hand. [[package]] name = "accelerate" @@ -153,6 +153,21 @@ files = [ [package.dependencies] frozenlist = ">=1.1.0" +[[package]] +name = "amqp" +version = "5.1.1" +description = "Low-level AMQP client for Python (fork of amqplib)." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "amqp-5.1.1-py3-none-any.whl", hash = "sha256:6f0956d2c23d8fa6e7691934d8c3930eadb44972cbbd1a7ae3a520f735d43359"}, + {file = "amqp-5.1.1.tar.gz", hash = "sha256:2c1b13fecc0893e946c65cbd5f36427861cffa4ea2201d8f6fca22e2a373b5e2"}, +] + +[package.dependencies] +vine = ">=5.0.0" + [[package]] name = "anyio" version = "3.6.2" @@ -224,6 +239,18 @@ soupsieve = ">1.2" html5lib = ["html5lib"] lxml = ["lxml"] +[[package]] +name = "billiard" +version = "3.6.4.0" +description = "Python multiprocessing fork with improvements and bugfixes" +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "billiard-3.6.4.0-py3-none-any.whl", hash = "sha256:87103ea78fa6ab4d5c751c4909bcff74617d985de7fa8b672cf8618afd5a875b"}, + {file = "billiard-3.6.4.0.tar.gz", hash = "sha256:299de5a8da28a783d51b197d496bef4f1595dd023a93a4f59dde1886ae905547"}, +] + [[package]] name = "bitsandbytes" version = "0.37.2" @@ -325,6 +352,61 @@ urllib3 = ">=1.25.4,<1.27" [package.extras] crt = ["awscrt (==0.16.9)"] +[[package]] +name = "celery" +version = "5.2.7" +description = "Distributed Task Queue." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "celery-5.2.7-py3-none-any.whl", hash = "sha256:138420c020cd58d6707e6257b6beda91fd39af7afde5d36c6334d175302c0e14"}, + {file = "celery-5.2.7.tar.gz", hash = "sha256:fafbd82934d30f8a004f81e8f7a062e31413a23d444be8ee3326553915958c6d"}, +] + +[package.dependencies] +billiard = ">=3.6.4.0,<4.0" +click = ">=8.0.3,<9.0" +click-didyoumean = ">=0.0.3" +click-plugins = ">=1.1.1" +click-repl = ">=0.2.0" +kombu = ">=5.2.3,<6.0" +pytz = ">=2021.3" +vine = ">=5.0.0,<6.0" + +[package.extras] +arangodb = ["pyArango (>=1.3.2)"] +auth = ["cryptography"] +azureblockblob = ["azure-storage-blob (==12.9.0)"] +brotli = ["brotli (>=1.0.0)", "brotlipy (>=0.7.0)"] +cassandra = ["cassandra-driver (<3.21.0)"] +consul = ["python-consul2"] +cosmosdbsql = ["pydocumentdb (==2.3.2)"] +couchbase = ["couchbase (>=3.0.0)"] +couchdb = ["pycouchdb"] +django = ["Django (>=1.11)"] +dynamodb = ["boto3 (>=1.9.178)"] +elasticsearch = ["elasticsearch"] +eventlet = ["eventlet (>=0.32.0)"] +gevent = ["gevent (>=1.5.0)"] +librabbitmq = ["librabbitmq (>=1.5.0)"] +memcache = ["pylibmc"] +mongodb = ["pymongo[srv] (>=3.11.1)"] +msgpack = ["msgpack"] +pymemcache = ["python-memcached"] +pyro = ["pyro4"] +pytest = ["pytest-celery"] +redis = ["redis (>=3.4.1,!=4.0.0,!=4.0.1)"] +s3 = ["boto3 (>=1.9.125)"] +slmq = ["softlayer-messaging (>=1.0.3)"] +solar = ["ephem"] +sqlalchemy = ["sqlalchemy"] +sqs = ["kombu[sqs]"] +tblib = ["tblib (>=1.3.0)", "tblib (>=1.5.0)"] +yaml = ["PyYAML (>=3.10)"] +zookeeper = ["kazoo (>=1.3.1)"] +zstd = ["zstandard"] + [[package]] name = "certifi" version = "2022.12.7" @@ -437,6 +519,56 @@ files = [ [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} +[[package]] +name = "click-didyoumean" +version = "0.3.0" +description = "Enables git-like *did-you-mean* feature in click" +category = "main" +optional = false +python-versions = ">=3.6.2,<4.0.0" +files = [ + {file = "click-didyoumean-0.3.0.tar.gz", hash = "sha256:f184f0d851d96b6d29297354ed981b7dd71df7ff500d82fa6d11f0856bee8035"}, + {file = "click_didyoumean-0.3.0-py3-none-any.whl", hash = "sha256:a0713dc7a1de3f06bc0df5a9567ad19ead2d3d5689b434768a6145bff77c0667"}, +] + +[package.dependencies] +click = ">=7" + +[[package]] +name = "click-plugins" +version = "1.1.1" +description = "An extension module for click to enable registering CLI commands via setuptools entry-points." +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"}, + {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"}, +] + +[package.dependencies] +click = ">=4.0" + +[package.extras] +dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"] + +[[package]] +name = "click-repl" +version = "0.2.0" +description = "REPL plugin for Click" +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "click-repl-0.2.0.tar.gz", hash = "sha256:cd12f68d745bf6151210790540b4cb064c7b13e571bc64b6957d98d120dacfd8"}, + {file = "click_repl-0.2.0-py3-none-any.whl", hash = "sha256:94b3fbbc9406a236f176e0506524b2937e4b23b6f4c0c0b2a0a83f8a64e9194b"}, +] + +[package.dependencies] +click = "*" +prompt-toolkit = "*" +six = "*" + [[package]] name = "cmake" version = "3.26.1" @@ -844,6 +976,38 @@ files = [ {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] +[[package]] +name = "kombu" +version = "5.2.4" +description = "Messaging library for Python." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "kombu-5.2.4-py3-none-any.whl", hash = "sha256:8b213b24293d3417bcf0d2f5537b7f756079e3ea232a8386dcc89a59fd2361a4"}, + {file = "kombu-5.2.4.tar.gz", hash = "sha256:37cee3ee725f94ea8bb173eaab7c1760203ea53bbebae226328600f9d2799610"}, +] + +[package.dependencies] +amqp = ">=5.0.9,<6.0.0" +vine = "*" + +[package.extras] +azureservicebus = ["azure-servicebus (>=7.0.0)"] +azurestoragequeues = ["azure-storage-queue"] +consul = ["python-consul (>=0.6.0)"] +librabbitmq = ["librabbitmq (>=2.0.0)"] +mongodb = ["pymongo (>=3.3.0,<3.12.1)"] +msgpack = ["msgpack"] +pyro = ["pyro4"] +qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"] +redis = ["redis (>=3.4.1,!=4.0.0,!=4.0.1)"] +slmq = ["softlayer-messaging (>=1.0.3)"] +sqlalchemy = ["sqlalchemy"] +sqs = ["boto3 (>=1.9.12)", "pycurl (>=7.44.1,<7.45.0)", "urllib3 (>=1.26.7)"] +yaml = ["PyYAML (>=3.10)"] +zookeeper = ["kazoo (>=1.3.1)"] + [[package]] name = "langchain" version = "0.0.115" @@ -1528,6 +1692,21 @@ files = [ docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"] test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.2.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] +[[package]] +name = "prompt-toolkit" +version = "3.0.38" +description = "Library for building powerful interactive command lines in Python" +category = "main" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "prompt_toolkit-3.0.38-py3-none-any.whl", hash = "sha256:45ea77a2f7c60418850331366c81cf6b5b9cf4c7fd34616f733c5427e6abbb1f"}, + {file = "prompt_toolkit-3.0.38.tar.gz", hash = "sha256:23ac5d50538a9a38c8bde05fecb47d0b403ecd0662857a86f886f798563d5b9b"}, +] + +[package.dependencies] +wcwidth = "*" + [[package]] name = "psutil" version = "5.9.4" @@ -1808,6 +1987,25 @@ files = [ {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, ] +[[package]] +name = "redis" +version = "4.5.4" +description = "Python client for Redis database and key-value store" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "redis-4.5.4-py3-none-any.whl", hash = "sha256:2c19e6767c474f2e85167909061d525ed65bea9301c0770bb151e041b7ac89a2"}, + {file = "redis-4.5.4.tar.gz", hash = "sha256:73ec35da4da267d6847e47f68730fdd5f62e2ca69e3ef5885c6a78a9374c3893"}, +] + +[package.dependencies] +async-timeout = {version = ">=4.0.2", markers = "python_version <= \"3.11.2\""} + +[package.extras] +hiredis = ["hiredis (>=1.0.0)"] +ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"] + [[package]] name = "regex" version = "2023.3.23" @@ -2411,6 +2609,15 @@ category = "dev" optional = false python-versions = "*" files = [ + {file = "triton-2.0.0-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:38806ee9663f4b0f7cd64790e96c579374089e58f49aac4a6608121aa55e2505"}, + {file = "triton-2.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:226941c7b8595219ddef59a1fdb821e8c744289a132415ddd584facedeb475b1"}, + {file = "triton-2.0.0-1-cp36-cp36m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4c9fc8c89874bc48eb7e7b2107a9b8d2c0bf139778637be5bfccb09191685cfd"}, + {file = "triton-2.0.0-1-cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d2684b6a60b9f174f447f36f933e9a45f31db96cb723723ecd2dcfd1c57b778b"}, + {file = "triton-2.0.0-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9d4978298b74fcf59a75fe71e535c092b023088933b2f1df933ec32615e4beef"}, + {file = "triton-2.0.0-1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:74f118c12b437fb2ca25e1a04759173b517582fcf4c7be11913316c764213656"}, + {file = "triton-2.0.0-1-pp37-pypy37_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9618815a8da1d9157514f08f855d9e9ff92e329cd81c0305003eb9ec25cc5add"}, + {file = "triton-2.0.0-1-pp38-pypy38_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1aca3303629cd3136375b82cb9921727f804e47ebee27b2677fef23005c3851a"}, + {file = "triton-2.0.0-1-pp39-pypy39_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e3e13aa8b527c9b642e3a9defcc0fbd8ffbe1c80d8ac8c15a01692478dc64d8a"}, {file = "triton-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f05a7e64e4ca0565535e3d5d3405d7e49f9d308505bb7773d21fb26a4c008c2"}, {file = "triton-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb4b99ca3c6844066e516658541d876c28a5f6e3a852286bbc97ad57134827fd"}, {file = "triton-2.0.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47b4d70dc92fb40af553b4460492c31dc7d3a114a979ffb7a5cdedb7eb546c08"}, @@ -2496,6 +2703,30 @@ h11 = ">=0.8" [package.extras] standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] +[[package]] +name = "vine" +version = "5.0.0" +description = "Promises, promises, promises." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "vine-5.0.0-py2.py3-none-any.whl", hash = "sha256:4c9dceab6f76ed92105027c49c823800dd33cacce13bdedc5b914e3514b7fb30"}, + {file = "vine-5.0.0.tar.gz", hash = "sha256:7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e"}, +] + +[[package]] +name = "wcwidth" +version = "0.2.6" +description = "Measures the displayed width of unicode strings in a terminal" +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, + {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, +] + [[package]] name = "wheel" version = "0.40.0" @@ -2633,4 +2864,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "e6e707098fa68cc228ba4bd454533f460f354991091144c0e3bde29ae0b409e1" +content-hash = "3a7cbc62858401d620de4eeab75906ea8caa97d780632e58e1d6316681228d13" diff --git a/pyproject.toml b/pyproject.toml index 09344b4..f964cc6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,6 +24,8 @@ uvicorn = "^0.21.1" python-ptrace = "^0.9.8" jinja2 = "^3.1.2" python-multipart = "^0.0.6" +celery = "^5.2.7" +redis = "^4.5.4" [tool.poetry.group.gpu] optional = true diff --git a/static/execute.js b/static/execute.js index 74ced47..832378b 100644 --- a/static/execute.js +++ b/static/execute.js @@ -1,6 +1,25 @@ -const setAnswer = (answer, files) => { - document.getElementById("answer").textContent = answer; - const filesDiv = document.getElementById("response-files"); +const $ = (selector) => document.querySelector(selector); + +const setLoader = (isLoading) => { + const button = $("#submit"); + const loader = $("#submit-loader"); + if (isLoading) { + button.style.display = "none"; + loader.style.display = "block"; + } else { + button.style.display = "block"; + loader.style.display = "none"; + } +}; + +const setAnswer = (answer, files = []) => { + if (answer) { + $("#answer").textContent = answer; + } else { + $("#answer").innerHTML = createSpinner(); + } + + const filesDiv = $("#response-files"); filesDiv.innerHTML = ""; files.forEach((file) => { const a = document.createElement("a"); @@ -12,50 +31,247 @@ const setAnswer = (answer, files) => { }); }; -const submit = async () => { - setAnswer("Loading...", []); - const files = []; - const rawfiles = document.getElementById("files").files; - - if (rawfiles.length > 0) { - const formData = new FormData(); - for (let i = 0; i < rawfiles.length; i++) { - formData.append("files", rawfiles[i]); +class EvalApi { + constructor({ onComplete, onError, onSettle, onLLMEnd, onToolEnd }) { + this.executionId = null; + this.pollInterval = null; + this.onComplete = (answer, files, info) => { + onComplete(answer, files, info); + onSettle(); + }; + this.onError = (error) => { + onError(error); + onSettle(); + }; + this.onLLMEnd = (info) => { + onLLMEnd(info); + }; + this.onToolEnd = (info) => { + onToolEnd(info); + }; + } + async uploadFiles(rawfiles) { + const files = []; + + if (rawfiles.length > 0) { + const formData = new FormData(); + for (let i = 0; i < rawfiles.length; i++) { + formData.append("files", rawfiles[i]); + } + const respone = await fetch("/upload", { + method: "POST", + body: formData, + }); + const { urls } = await respone.json(); + files.push(...urls); } - const respone = await fetch("/upload", { - method: "POST", - body: formData, - }); - const { urls } = await respone.json(); - files.push(...urls); + + return files; } - const prompt = document.getElementById("prompt").value; - const session = document.getElementById("session").value; - - try { - const response = await fetch("/api/execute", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - prompt, - session, - files, - }), - }); - if (response.status !== 200) { - throw new Error(await response.text()); + async execute(prompt, session, files) { + try { + const response = await fetch("/api/execute/async", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + prompt, + session, + files, + }), + }); + if (response.status !== 200) { + throw new Error(await response.text()); + } + const { id: executionId } = await response.json(); + this.executionId = executionId; + this.pollInterval = setInterval(this.poll.bind(this), 1000); + } catch (e) { + clearInterval(this.pollInterval); + this.onError(e); } - const { answer, files: responseFiles } = await response.json(); - setAnswer(answer, responseFiles); - } catch (e) { - setAnswer("Error: " + e.message, []); } + + async poll() { + try { + const response = await fetch(`/api/execute/async/${this.executionId}`, { + method: "GET", + }); + if (response.status !== 200) { + throw new Error(await response.text()); + } + const { status, result, info } = await response.json(); + switch (status) { + case "PENDING": + break; + case "FAILURE": + throw new Error("Execution failed"); + case "LLM_END": + this.onLLMEnd(info); + break; + case "TOOL_END": + this.onToolEnd(info); + break; + case "SUCCESS": + clearInterval(this.pollInterval); + this.onComplete(result.answer, result.files, info); + break; + } + } catch (e) { + clearInterval(this.pollInterval); + this.onError(e); + } + } +} + +const submit = async () => { + setAnswer(""); + setLoader(true); + + const actions = $("#actions"); + actions.innerHTML = ""; + + let currentActionIndex = 0; + + const onInfo = (info) => { + if (currentActionIndex >= info.index) { + return; + } + currentActionIndex = info.index; + const w = document.createElement("div"); + w.innerHTML = createActionCard( + info.index, + info.action, + info.action_input, + info.what_i_did, + info.plan, + info.observation + ); + actions.appendChild(w); + }; + + const api = new EvalApi({ + onSettle: () => setLoader(false), + onError: (error) => setAnswer(`Error: ${error.message}`, []), + onComplete: (answer, files, info) => { + setAnswer(answer, files); + onInfo(info); + }, + onLLMEnd: onInfo, + onToolEnd: onInfo, + }); + + const prompt = $("#prompt").value; + const session = $("#session").value; + const files = await api.uploadFiles($("#files").files); + + await api.execute(prompt, session, files); }; const setRandomSessionId = () => { const sessionId = Math.random().toString(36).substring(2, 15); - document.getElementById("session").value = sessionId; + $("#session").value = sessionId; }; + +const createSpinner = () => ` +
+
+
+`; + +const createActionCard = ( + index, + action, + input, + whatIdid, + plan, + observation +) => ` +
+
+

+ +

+
+
+ + + ${ + action !== "Final Answer" + ? ` + + + ` + : "" + } + + + + + +
Input
${input}
What I Did
${whatIdid}
+ + + + + + + + + ${plan + .split("- ") + .map((p) => p.trim()) + .filter((p) => p.length > 0) + .map( + (p) => ` + + ${ + p.startsWith("[ ]") + ? ` + ` + : "" + } + ${ + p.startsWith("[x]") + ? ` + ` + : "" + } + ` + ) + .join("")} + +
Plan
${p.replace("[ ]", "")}${p.replace("[x]", "")}
+ + ${ + action !== "Final Answer" + ? ` + + + + + + + + + + +
Observation
+
${observation}
+
` + : "" + } +
+
+
+
`; diff --git a/static/styles.css b/static/styles.css index b609ffa..4afd0f4 100644 --- a/static/styles.css +++ b/static/styles.css @@ -1,7 +1,7 @@ .logo { border-radius: 50%; overflow: hidden; - height: 64px; - width: 64px; + height: 48px; + width: 48px; margin-right: 20px; }