version: v0.1 listen: address: 0.0.0.0 # or 127.0.0.1 port: 10000 # Defines how Arch should parse the content from application/json or text/pain Content-type in the http request message_format: huggingface # Centralized way to manage LLMs, manage keys, retry logic, failover and limits in a central way llm_providers: - name: OpenAI provider: openai access_key: OPENAI_API_KEY model: gpt-4o default: true stream: true # default system prompt used by all prompt targets system_prompt: You are a network assistant that just offers facts; not advice on manufacturers or purchasing decisions. prompt_targets: - name: reboot_devices description: Reboot specific devices or device groups path: /agent/device_reboot parameters: - name: device_ids type: list description: A list of device identifiers (IDs) to reboot. required: false - name: device_group type: str description: The name of the device group to reboot required: false # Arch creates a round-robin load balancing between different endpoints, managed via the cluster subsystem. endpoints: app_server: # value could be ip address or a hostname with port # this could also be a list of endpoints for load balancing # for example endpoint: [ ip1:port, ip2:port ] endpoint: 127.0.0.1:80 # max time to wait for a connection to be established connect_timeout: 0.005s