update based on requested changes

This commit is contained in:
aayushwhiz 2024-12-05 15:39:28 -08:00
parent 21ca0d8d9b
commit dfa967068c
12 changed files with 45 additions and 16 deletions

View file

@ -1,27 +1,56 @@
# Function calling # Function calling
This demo shows how you can use Arch's core function calling capabilites. This demo shows how you can use Arch's core function calling capabilites.
# Starting the demo # Starting the demo
1. Please make sure the [pre-requisites](https://github.com/katanemo/arch/?tab=readme-ov-file#prerequisites) are installed correctly 1. Please make sure the [pre-requisites](https://github.com/katanemo/arch/?tab=readme-ov-file#prerequisites) are installed correctly
2. Start Arch 2. Start Arch
3. 3. ```sh
```sh
sh run_demo.sh sh run_demo.sh
``` ```
4. Navigate to http://localhost:18080/ 4. Navigate to http://localhost:18080/
5. You can type in queries like "how is the weather?" 5. You can type in queries like "how is the weather?"
# Observability # Observability
Arch gateway publishes stats endpoint at http://localhost:19901/stats. In this demo we are using prometheus to pull stats from arch and we are using grafana to visalize the stats in dashboard. To see grafana dashboard follow instructions below, Arch gateway publishes stats endpoint at http://localhost:19901/stats. In this demo we are using prometheus to pull stats from arch and we are using grafana to visalize the stats in dashboard. To see grafana dashboard follow instructions below,
1. Start grafana and prometheus using following command 1. Start grafana and prometheus using following command
```yaml ```yaml
docker compose --profile monitoring up docker compose --profile monitoring up
``` ```
1. Navigate to http://localhost:3000/ to open grafana UI (use admin/grafana as credentials) 2. Navigate to http://localhost:3000/ to open grafana UI (use admin/grafana as credentials)
1. From grafana left nav click on dashboards and select "Intelligent Gateway Overview" to view arch gateway stats 3. From grafana left nav click on dashboards and select "Intelligent Gateway Overview" to view arch gateway stats
Here is a sample interaction, Here is a sample interaction,
<img width="575" alt="image" src="https://github.com/user-attachments/assets/e0929490-3eb2-4130-ae87-a732aea4d059"> <img width="575" alt="image" src="https://github.com/user-attachments/assets/e0929490-3eb2-4130-ae87-a732aea4d059">
## Tracing
To see a tracing dashboard follow instructions below,
1. For Jaeger, you can either use the default run_demo.sh script or run the following command,
```sh
sh run_demo.sh jaeger
```
2. For Logfire, first make sure to add a LOGFIRE_API_KEY to the .env file. You can either use the default run_demo.sh script or run the following command,
```sh
sh run_demo.sh logfire
```
3. For Signoz, you can either use the default run_demo.sh script or run the following command,
```sh
sh run_demo.sh signoz
```
If using Jaeger, navigate to http://localhost:16686/ to open Jaeger UI
If using Signoz, navigate to http://localhost:3301/ to open Signoz UI
If using Logfire, navigate to your logfire dashboard that you got the write key from to view the dashboard

View file

@ -1,7 +1,7 @@
services: services:
weather_forecast_service: weather_forecast_service:
build: build:
context: ../shared/weather_forecast_service context: ./weather_forecast_service
environment: environment:
- OLTP_HOST=http://jaeger:4317 - OLTP_HOST=http://jaeger:4317
extra_hosts: extra_hosts:

View file

@ -1,7 +1,7 @@
services: services:
weather_forecast_service: weather_forecast_service:
build: build:
context: ../shared/weather_forecast_service context: ./weather_forecast_service
environment: environment:
- OLTP_HOST=http://otel-collector:4317 - OLTP_HOST=http://otel-collector:4317
extra_hosts: extra_hosts:
@ -24,12 +24,12 @@ services:
otel-collector: otel-collector:
build: build:
context: ./otel-collector context: ../shared/logfire/
ports: ports:
- "4317:4317" - "4317:4317"
- "4318:4318" - "4318:4318"
volumes: volumes:
- ./otel-collector/otel-collector-config.yaml:/etc/otel-collector-config.yaml - ../shared/logfire/otel-collector-config.yaml:/etc/otel-collector-config.yaml
env_file: env_file:
- .env - .env
environment: environment:

View file

@ -4,7 +4,7 @@ include:
services: services:
weather_forecast_service: weather_forecast_service:
build: build:
context: ../shared/weather_forecast_service context: ./weather_forecast_service
environment: environment:
- OLTP_HOST=http://otel-collector:4317 - OLTP_HOST=http://otel-collector:4317
extra_hosts: extra_hosts:

View file

@ -1,7 +1,7 @@
services: services:
weather_forecast_service: weather_forecast_service:
build: build:
context: ../shared/weather_forecast_service context: ./weather_forecast_service
environment: environment:
- OLTP_HOST=http://jaeger:4317 - OLTP_HOST=http://jaeger:4317
extra_hosts: extra_hosts:

View file

@ -7,16 +7,16 @@ set -e
get_compose_file() { get_compose_file() {
case "$1" in case "$1" in
jaeger) jaeger)
echo "docker-compose.jaeger.yml" echo "docker-compose-jaeger.yaml"
;; ;;
logfire) logfire)
echo "docker-compose.logfire.yml" echo "docker-compose-logfire.yaml"
;; ;;
signoz) signoz)
echo "docker-compose.signoz.yml" echo "docker-compose-signoz.yaml"
;; ;;
*) *)
echo "docker-compose.jaeger.yml" # Default to Jaeger echo "docker-compose.yaml" # Default to Jaeger
;; ;;
esac esac
} }
@ -55,7 +55,7 @@ stop_demo() {
echo "Stopping all Docker Compose services..." echo "Stopping all Docker Compose services..."
# Stop all services by iterating through all configurations # Stop all services by iterating through all configurations
for compose_file in ./*.yml; do for compose_file in ./docker-compose*.yaml; do
echo "Stopping services in $compose_file..." echo "Stopping services in $compose_file..."
docker compose -f "$compose_file" down docker compose -f "$compose_file" down
done done