Spaces:
Runtime error
Runtime error
""" | |
Development Scripts for template packages | |
""" | |
from typing import Sequence | |
from fastapi import FastAPI | |
from langserve import add_routes | |
from langchain_cli.utils.packages import get_langserve_export, get_package_root | |
def create_demo_server( | |
*, | |
config_keys: Sequence[str] = (), | |
playground_type: str = "default", | |
): | |
""" | |
Creates a demo server for the current template. | |
""" | |
app = FastAPI() | |
package_root = get_package_root() | |
pyproject = package_root / "pyproject.toml" | |
try: | |
package = get_langserve_export(pyproject) | |
mod = __import__(package["module"], fromlist=[package["attr"]]) | |
chain = getattr(mod, package["attr"]) | |
add_routes( | |
app, | |
chain, | |
config_keys=config_keys, | |
playground_type=playground_type, | |
) | |
except KeyError as e: | |
raise KeyError("Missing fields from pyproject.toml") from e | |
except ImportError as e: | |
raise ImportError("Could not import module defined in pyproject.toml") from e | |
return app | |
def create_demo_server_configurable(): | |
return create_demo_server(config_keys=["configurable"]) | |
def create_demo_server_chat(): | |
return create_demo_server(playground_type="chat") | |