mirror of
https://github.com/katanemo/plano.git
synced 2026-07-11 16:12:13 +02:00
update configs to properly host the api_server so that demo functions as expected
This commit is contained in:
parent
67b8fd635e
commit
0013ef1018
4 changed files with 49 additions and 56 deletions
|
|
@ -17,36 +17,32 @@ system_prompt: |
|
||||||
You are a network assistant that helps operators with a better understanding of network traffic flow and perform actions on networking operations. No advice on manufacturers or purchasing decisions.
|
You are a network assistant that helps operators with a better understanding of network traffic flow and perform actions on networking operations. No advice on manufacturers or purchasing decisions.
|
||||||
|
|
||||||
prompt_targets:
|
prompt_targets:
|
||||||
- name: device_summary
|
- name: device_summary
|
||||||
description: Retrieve network statistics for specific devices within a time range
|
description: Retrieve network statistics for specific devices within a time range
|
||||||
endpoint:
|
endpoint:
|
||||||
name: app_server
|
name: app_server
|
||||||
path: /agent/device_summary
|
path: /agent/device_summary
|
||||||
http_method: POST
|
http_method: POST
|
||||||
parameters:
|
parameters:
|
||||||
- name: device_ids
|
- name: device_ids
|
||||||
type: list
|
type: list
|
||||||
description: A list of device identifiers (IDs) to retrieve statistics for.
|
description: A list of device identifiers (IDs) to retrieve statistics for.
|
||||||
required: true # device_ids are required to get device statistics
|
required: true # device_ids are required to get device statistics
|
||||||
- name: days
|
- name: days
|
||||||
type: int
|
type: int
|
||||||
description: The number of days for which to gather device statistics.
|
description: The number of days for which to gather device statistics.
|
||||||
default: "7"
|
default: "7"
|
||||||
- name: reboot_devices
|
- name: reboot_devices
|
||||||
description: Reboot a list of devices
|
description: Reboot a list of devices
|
||||||
endpoint:
|
endpoint:
|
||||||
name: app_server
|
name: app_server
|
||||||
path: /agent/device_reboot
|
path: /agent/device_reboot
|
||||||
http_method: POST
|
http_method: POST
|
||||||
parameters:
|
parameters:
|
||||||
- name: device_ids
|
- name: device_ids
|
||||||
type: list
|
type: list
|
||||||
description: A list of device identifiers (IDs).
|
description: A list of device identifiers (IDs).
|
||||||
required: true
|
required: true
|
||||||
- name: days
|
|
||||||
type: int
|
|
||||||
description: A list of device identifiers (IDs)
|
|
||||||
default: "7"
|
|
||||||
|
|
||||||
# Arch creates a round-robin load balancing between different endpoints, managed via the cluster subsystem.
|
# Arch creates a round-robin load balancing between different endpoints, managed via the cluster subsystem.
|
||||||
endpoints:
|
endpoints:
|
||||||
|
|
@ -54,6 +50,6 @@ endpoints:
|
||||||
# value could be ip address or a hostname with port
|
# value could be ip address or a hostname with port
|
||||||
# this could also be a list of endpoints for load balancing
|
# this could also be a list of endpoints for load balancing
|
||||||
# for example endpoint: [ ip1:port, ip2:port ]
|
# for example endpoint: [ ip1:port, ip2:port ]
|
||||||
endpoint: host.docker.internal:18080
|
endpoint: host.docker.internal:18083
|
||||||
# max time to wait for a connection to be established
|
# max time to wait for a connection to be established
|
||||||
connect_timeout: 0.005s
|
connect_timeout: 0.005s
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,19 @@ services:
|
||||||
api_server:
|
api_server:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
ports:
|
||||||
|
- "18083:80"
|
||||||
|
|
||||||
|
chatbot_ui:
|
||||||
|
build:
|
||||||
|
context: ../shared/chatbot_ui
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
ports:
|
||||||
|
- "18080:8080"
|
||||||
environment:
|
environment:
|
||||||
- CHAT_COMPLETION_ENDPOINT=http://host.docker.internal:10000/v1
|
- CHAT_COMPLETION_ENDPOINT=http://host.docker.internal:10000/v1
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
volumes:
|
volumes:
|
||||||
- ./arch_config.yaml:/app/arch_config.yaml
|
- ./arch_config.yaml:/app/arch_config.yaml
|
||||||
- ../shared/chatbot_ui/common.py:/app/common.py
|
|
||||||
ports:
|
|
||||||
- "18080:80"
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "curl" ,"http://localhost:80/healthz"]
|
|
||||||
interval: 5s
|
|
||||||
retries: 20
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,9 @@
|
||||||
from openai import OpenAI
|
|
||||||
from fastapi import FastAPI, HTTPException
|
|
||||||
from pydantic import BaseModel, Field
|
|
||||||
from typing import List, Optional
|
|
||||||
from common import create_gradio_app
|
|
||||||
import gradio as gr
|
|
||||||
import os
|
import os
|
||||||
|
from typing import List, Optional
|
||||||
|
|
||||||
|
from fastapi import FastAPI, HTTPException
|
||||||
|
from openai import OpenAI
|
||||||
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
app = FastAPI()
|
app = FastAPI()
|
||||||
demo_description = """This demo illustrates how **Arch** can be used to perform function calling with network-related tasks.
|
demo_description = """This demo illustrates how **Arch** can be used to perform function calling with network-related tasks.
|
||||||
|
|
@ -100,10 +98,3 @@ client = OpenAI(
|
||||||
api_key="--",
|
api_key="--",
|
||||||
base_url=CHAT_COMPLETION_ENDPOINT,
|
base_url=CHAT_COMPLETION_ENDPOINT,
|
||||||
)
|
)
|
||||||
|
|
||||||
gr.mount_gradio_app(
|
|
||||||
app, create_gradio_app(demo_description, client), path="/agent/chat"
|
|
||||||
)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
app.run(debug=True)
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
import pandas as pd
|
|
||||||
import random
|
|
||||||
from datetime import datetime, timedelta, timezone
|
|
||||||
import re
|
|
||||||
import logging
|
import logging
|
||||||
from dateparser import parse
|
import random
|
||||||
|
import re
|
||||||
import sqlite3
|
import sqlite3
|
||||||
|
from datetime import datetime, timedelta, timezone
|
||||||
|
|
||||||
|
import pandas as pd
|
||||||
|
from dateparser import parse
|
||||||
|
|
||||||
logging.basicConfig(
|
logging.basicConfig(
|
||||||
level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s"
|
level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue