GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — llama-cpp-python/llama_cpp/server/__main__.py at main · CISC/llama-cpp-python Expand file tree/ Copy path__main__.pyMore file actions 100 lines (83 loc) · 2.78 KB / Copy path__main__.pyFile metadata and controls100 lines (83 loc) · 2.78 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 """Example FastAPI server for llama.cpp. To run this example: ```bash pip install fastapi uvicorn sse-starlette pydantic-settings export MODEL=../models/7B/... ``` Then run: ``` uvicorn llama_cpp.server.app:create_app --reload ``` or ``` python3 -m llama_cpp.server ``` Then visit http://localhost:8000/docs to see the interactive API docs. """ from __future__ import annotations import os import sys import argparse import uvicorn from llama_cpp.server.app import create_app from llama_cpp.server.settings import ( Settings, ServerSettings, ModelSettings, ConfigFileSettings, ) from llama_cpp.server.cli import add_args_from_model, parse_model_from_args def main(): description = "🦙 Llama.cpp python server. Host your own LLMs!🚀" parser = argparse.ArgumentParser(description=description) add_args_from_model(parser, Settings) parser.add_argument( "--config_file", type=str, help="Path to a config file to load.", ) server_settings: ServerSettings | None = None model_settings: list[ModelSettings] = [] args = parser.parse_args() try: # Load server settings from config_file if provided config_file = os.environ.get("CONFIG_FILE", args.config_file) if config_file: if not os.path.exists(config_file): raise ValueError(f"Config file {config_file} not found!") with open(config_file, "rb") as f: # Check if yaml file if config_file.endswith(".yaml") or config_file.endswith(".yml"): import yaml import json config_file_settings = ConfigFileSettings.model_validate_json( json.dumps(yaml.safe_load(f)) ) else: config_file_settings = ConfigFileSettings.model_validate_json( f.read() ) server_settings = ServerSettings.model_validate(config_file_settings) model_settings = config_file_settings.models else: server_settings = parse_model_from_args(ServerSettings, args) model_settings = [parse_model_from_args(ModelSettings, args)] except Exception as e: print(e, file=sys.stderr) parser.print_help() sys.exit(1) assert server_settings is not None assert model_settings is not None app = create_app( server_settings=server_settings, model_settings=model_settings, ) uvicorn.run( app, host=os.getenv("HOST", server_settings.host), port=int(os.getenv("PORT", server_settings.port)), ssl_keyfile=server_settings.ssl_keyfile, ssl_certfile=server_settings.ssl_certfile, ) if __name__ == "__main__": main() |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |