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") | |