跳至主要内容

Application

TaskWeaverApp是TaskWeaver库的主类。作为该库的入口点,用于创建和运行任务。 通过调用TaskWeaverApp.__init__构造函数来创建TaskWeaverApp实例。

class TaskWeaverApp(object):
def __init__(
self,
app_dir: Optional[str] = None,
use_local_uri: Optional[bool] = None,
config: Optional[Dict[str, Any]] = None,
**kwargs: Any,
) -> None:
"""
Initialize the TaskWeaver app.
:param app_dir: The project directory.
:param use_local_uri: Whether to use local URI for artifacts.
:param config: The configuration.
:param kwargs: The additional arguments.
"""

app_dir参数是项目目录的路径。 use_local_uri参数是一个布尔值,用于指定是否对工件使用本地URI。 如果工件存储在本地,则应将use_local_uri参数设置为True。 当TaskWeaver作为远程服务使用且工件是远程URI时,这非常有用。 config参数是一个包含应用程序配置设置的字典。 config参数中的任何设置都将覆盖配置文件或环境变量中的现有设置。

TaskWeaverApp 类包含以下方法:

def get_session(
self,
session_id: Optional[str] = None,
) -> Session:
"""
Get the session. Return a new session if the session ID is not provided.
:param session_id: The session ID.
:return: The session.
"""

get_session方法用于获取会话。如果未提供session_id参数,则会创建一个新会话。 会话是用户与TaskWeaver应用程序进行对话的实例。 我们将在稍后讨论Session类。

def stop(self) -> None:
"""
Stop the TaskWeaver app. This function must be called before the app exits.
"""

stop方法用于停止TaskWeaver应用。必须在应用退出前调用此方法。

下面展示了一个创建TaskWeaverApp实例的示例:

from taskweaver.app.app import TaskWeaverApp

app = TaskWeaverApp(app_dir="path/to/project/")
session = app.get_session()
round = session.send_message("Hello, how can I help you?")

print(round)
app.stop()

在本示例中,创建了一个TaskWeaverApp实例,并将项目目录设置为"path/to/project/"。 随后使用get_session方法创建会话,并向该会话发送消息。 响应将是TaskWeaver应用生成的完整对话轮次。 最后调用stop方法来停止TaskWeaver应用。