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
This demo shows how you can use Arch's core function calling capabilites.
# Starting the demo
1. Please make sure the [pre-requisites](https://github.com/katanemo/arch/?tab=readme-ov-file#prerequisites) are installed correctly
2. Start Arch
3.
```sh
3. ```sh
sh run_demo.sh
```
4. Navigate to http://localhost:18080/
5. You can type in queries like "how is the weather?"
# 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,
1. Start grafana and prometheus using following command
```yaml
docker compose --profile monitoring up
```
1. 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
2. Navigate to http://localhost:3000/ to open grafana UI (use admin/grafana as credentials)
3. From grafana left nav click on dashboards and select "Intelligent Gateway Overview" to view arch gateway stats
Here is a sample interaction,
<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:
weather_forecast_service:
build:
context: ../shared/weather_forecast_service
context: ./weather_forecast_service
environment:
- OLTP_HOST=http://jaeger:4317
extra_hosts:

View file

@ -1,7 +1,7 @@
services:
weather_forecast_service:
build:
context: ../shared/weather_forecast_service
context: ./weather_forecast_service
environment:
- OLTP_HOST=http://otel-collector:4317
extra_hosts:
@ -24,12 +24,12 @@ services:
otel-collector:
build:
context: ./otel-collector
context: ../shared/logfire/
ports:
- "4317:4317"
- "4318:4318"
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
environment:

View file

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

View file

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

View file

@ -7,16 +7,16 @@ set -e
get_compose_file() {
case "$1" in
jaeger)
echo "docker-compose.jaeger.yml"
echo "docker-compose-jaeger.yaml"
;;
logfire)
echo "docker-compose.logfire.yml"
echo "docker-compose-logfire.yaml"
;;
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
}
@ -55,7 +55,7 @@ stop_demo() {
echo "Stopping all Docker Compose services..."
# 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..."
docker compose -f "$compose_file" down
done