first commit
This commit is contained in:
0
.github/workflows/configs/default/.gitkeep
vendored
Normal file
0
.github/workflows/configs/default/.gitkeep
vendored
Normal file
57
.github/workflows/configs/default/config.json
vendored
Normal file
57
.github/workflows/configs/default/config.json
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"$schema": "https://www.getbifrost.ai/schema",
|
||||
"config_store": {
|
||||
"enabled": true,
|
||||
"type": "postgres",
|
||||
"config": {
|
||||
"host": "localhost",
|
||||
"port": "5432",
|
||||
"user": "bifrost",
|
||||
"password": "bifrost_password",
|
||||
"db_name": "bifrost",
|
||||
"ssl_mode": "disable"
|
||||
}
|
||||
},
|
||||
"logs_store": {
|
||||
"enabled": true,
|
||||
"type": "postgres",
|
||||
"config": {
|
||||
"host": "localhost",
|
||||
"port": "5432",
|
||||
"user": "bifrost",
|
||||
"password": "bifrost_password",
|
||||
"db_name": "bifrost",
|
||||
"ssl_mode": "disable"
|
||||
}
|
||||
},
|
||||
"providers": {
|
||||
"openai": {
|
||||
"keys": [
|
||||
{
|
||||
"name": "e2e-openai-key",
|
||||
"value": "env.OPENAI_API_KEY",
|
||||
"weight": 1,
|
||||
"models": ["*"],
|
||||
"use_for_batch_api": true
|
||||
}
|
||||
],
|
||||
"network_config": {
|
||||
"default_request_timeout_in_seconds": 300
|
||||
}
|
||||
},
|
||||
"anthropic": {
|
||||
"keys": [
|
||||
{
|
||||
"name": "e2e-anthropic-key",
|
||||
"value": "env.ANTHROPIC_API_KEY",
|
||||
"weight": 1,
|
||||
"models": ["*"],
|
||||
"use_for_batch_api": true
|
||||
}
|
||||
],
|
||||
"network_config": {
|
||||
"default_request_timeout_in_seconds": 300
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
107
.github/workflows/configs/docker-compose.yml
vendored
Normal file
107
.github/workflows/configs/docker-compose.yml
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
environment:
|
||||
POSTGRES_USER: bifrost
|
||||
POSTGRES_PASSWORD: bifrost_password
|
||||
POSTGRES_DB: bifrost
|
||||
PGDATA: /var/lib/postgresql/data/pgdata
|
||||
ports:
|
||||
- "5432:5432"
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U bifrost -d bifrost"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- bifrost_network
|
||||
|
||||
weaviate:
|
||||
image: cr.weaviate.io/semitechnologies/weaviate:1.32.4
|
||||
command:
|
||||
- --host
|
||||
- 0.0.0.0
|
||||
- --port
|
||||
- '8080'
|
||||
- --scheme
|
||||
- http
|
||||
environment:
|
||||
- CLUSTER_HOSTNAME=weaviate
|
||||
- CLUSTER_ADVERTISE_ADDR=172.38.0.12
|
||||
- CLUSTER_GOSSIP_BIND_PORT=7946
|
||||
- CLUSTER_DATA_BIND_PORT=7947
|
||||
- DISABLE_TELEMETRY=true
|
||||
- PERSISTENCE_DATA_PATH=/var/lib/weaviate
|
||||
- DEFAULT_VECTORIZER_MODULE=none
|
||||
- ENABLE_MODULES=
|
||||
- AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=true
|
||||
- LOG_LEVEL=info
|
||||
ports:
|
||||
- "9000:8080"
|
||||
volumes:
|
||||
- weaviate_data:/var/lib/weaviate
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8080/v1/.well-known/ready"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
networks:
|
||||
bifrost_network:
|
||||
ipv4_address: 172.38.0.12
|
||||
|
||||
# Redis Stack instance for vector store tests
|
||||
redis-stack:
|
||||
image: redis/redis-stack:7.4.0-v6
|
||||
command: redis-stack-server --protected-mode no
|
||||
ports:
|
||||
- "6379:6379"
|
||||
- "8001:8001" # RedisInsight web UI
|
||||
volumes:
|
||||
- redis_data:/data
|
||||
networks:
|
||||
bifrost_network:
|
||||
ipv4_address: 172.38.0.13
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
# Qdrant instance for vector store tests
|
||||
qdrant:
|
||||
image: qdrant/qdrant:v1.16.0
|
||||
ports:
|
||||
- "6333:6333" # REST API
|
||||
- "6334:6334" # gRPC API
|
||||
volumes:
|
||||
- qdrant_data:/qdrant/storage
|
||||
networks:
|
||||
bifrost_network:
|
||||
ipv4_address: 172.38.0.14
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "bash -c 'echo > /dev/tcp/localhost/6333'"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
networks:
|
||||
bifrost_network:
|
||||
driver: bridge
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 172.38.0.0/16
|
||||
gateway: 172.38.0.1
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
driver: local
|
||||
weaviate_data:
|
||||
driver: local
|
||||
redis_data:
|
||||
driver: local
|
||||
qdrant_data:
|
||||
driver: local
|
||||
|
||||
0
.github/workflows/configs/emptystate/.gitkeep
vendored
Normal file
0
.github/workflows/configs/emptystate/.gitkeep
vendored
Normal file
9
.github/workflows/configs/noconfigstorenologstore/config.json
vendored
Normal file
9
.github/workflows/configs/noconfigstorenologstore/config.json
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"$schema": "https://www.getbifrost.ai/schema",
|
||||
"config_store": {
|
||||
"enabled": false
|
||||
},
|
||||
"logs_store": {
|
||||
"enabled": false
|
||||
}
|
||||
}
|
||||
27
.github/workflows/configs/witconfigstorelogstorepostgres/config.json
vendored
Normal file
27
.github/workflows/configs/witconfigstorelogstorepostgres/config.json
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"$schema": "https://www.getbifrost.ai/schema",
|
||||
"config_store": {
|
||||
"enabled": true,
|
||||
"type": "postgres",
|
||||
"config": {
|
||||
"host": "localhost",
|
||||
"port": "5432",
|
||||
"user": "bifrost",
|
||||
"password": "bifrost_password",
|
||||
"db_name": "bifrost",
|
||||
"ssl_mode": "disable"
|
||||
}
|
||||
},
|
||||
"logs_store": {
|
||||
"enabled": true,
|
||||
"type": "postgres",
|
||||
"config": {
|
||||
"host": "localhost",
|
||||
"port": "5432",
|
||||
"user": "bifrost",
|
||||
"password": "bifrost_password",
|
||||
"db_name": "bifrost",
|
||||
"ssl_mode": "disable"
|
||||
}
|
||||
}
|
||||
}
|
||||
10
.github/workflows/configs/withconfigstore/config.json
vendored
Normal file
10
.github/workflows/configs/withconfigstore/config.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"$schema": "https://www.getbifrost.ai/schema",
|
||||
"config_store": {
|
||||
"enabled": true,
|
||||
"type": "sqlite",
|
||||
"config": {
|
||||
"path": "../.github/workflows/configs/withconfigstore/config.db"
|
||||
}
|
||||
}
|
||||
}
|
||||
27
.github/workflows/configs/withconfigstorelogsstorepostgres/config.json
vendored
Normal file
27
.github/workflows/configs/withconfigstorelogsstorepostgres/config.json
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"$schema": "https://www.getbifrost.ai/schema",
|
||||
"config_store": {
|
||||
"enabled": true,
|
||||
"type": "postgres",
|
||||
"config": {
|
||||
"host": "localhost",
|
||||
"port": "5432",
|
||||
"user": "bifrost",
|
||||
"password": "bifrost_password",
|
||||
"db_name": "bifrost",
|
||||
"ssl_mode": "disable"
|
||||
}
|
||||
},
|
||||
"logs_store": {
|
||||
"enabled": true,
|
||||
"type": "postgres",
|
||||
"config": {
|
||||
"host": "localhost",
|
||||
"port": "5432",
|
||||
"user": "bifrost",
|
||||
"password": "bifrost_password",
|
||||
"db_name": "bifrost",
|
||||
"ssl_mode": "disable"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
.github/workflows/configs/withconfigstorelogsstoresqlite/config.json
vendored
Normal file
17
.github/workflows/configs/withconfigstorelogsstoresqlite/config.json
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"$schema": "https://www.getbifrost.ai/schema",
|
||||
"config_store": {
|
||||
"enabled": true,
|
||||
"type": "sqlite",
|
||||
"config": {
|
||||
"path": "../.github/workflows/configs/withconfigstorelogsstoresqlite/config.db"
|
||||
}
|
||||
},
|
||||
"logs_store": {
|
||||
"enabled": true,
|
||||
"type": "sqlite",
|
||||
"config": {
|
||||
"path": "../.github/workflows/configs/withconfigstorelogsstoresqlite/logs.db"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
.github/workflows/configs/withdynamicplugin/config.json
vendored
Normal file
17
.github/workflows/configs/withdynamicplugin/config.json
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"$schema": "https://www.getbifrost.ai/schema",
|
||||
"config_store": {
|
||||
"enabled": true,
|
||||
"type": "sqlite",
|
||||
"config": {
|
||||
"path": "../.github/workflows/configs/withdynamicplugin/config.db"
|
||||
}
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "hello-world",
|
||||
"path": "../examples/plugins/hello-world/build/hello-world.so"
|
||||
}
|
||||
]
|
||||
}
|
||||
29
.github/workflows/configs/withobservability/config.json
vendored
Normal file
29
.github/workflows/configs/withobservability/config.json
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"$schema": "https://www.getbifrost.ai/schema",
|
||||
"config_store": {
|
||||
"enabled": true,
|
||||
"type": "sqlite",
|
||||
"config": {
|
||||
"path": "../.github/workflows/configs/withobservability/config.db"
|
||||
}
|
||||
},
|
||||
"logs_store": {
|
||||
"enabled": true,
|
||||
"type": "sqlite",
|
||||
"config": {
|
||||
"path": "../.github/workflows/configs/withobservability/logs.db"
|
||||
}
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "otel",
|
||||
"config": {
|
||||
"service_name": "bifrost",
|
||||
"collector_url": "http://localhost:4318/v1/traces",
|
||||
"trace_type": "genai_extension",
|
||||
"protocol": "http"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
150
.github/workflows/configs/withpostgresmcpclientsinconfig/config.json
vendored
Normal file
150
.github/workflows/configs/withpostgresmcpclientsinconfig/config.json
vendored
Normal file
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"$schema": "https://www.getbifrost.ai/schema",
|
||||
"client": {
|
||||
"allow_direct_keys": false,
|
||||
"allowed_origins": [
|
||||
"*"
|
||||
],
|
||||
"disable_content_logging": false,
|
||||
"drop_excess_requests": false,
|
||||
"enable_logging": true,
|
||||
"enforce_auth_on_inference": true,
|
||||
"initial_pool_size": 300,
|
||||
"log_retention_days": 365,
|
||||
"max_request_body_size_mb": 100
|
||||
},
|
||||
"config_store": {
|
||||
"enabled": true,
|
||||
"type": "postgres",
|
||||
"config": {
|
||||
"host": "localhost",
|
||||
"port": "5432",
|
||||
"user": "bifrost",
|
||||
"password": "bifrost_password",
|
||||
"db_name": "bifrost",
|
||||
"ssl_mode": "disable"
|
||||
}
|
||||
},
|
||||
"logs_store": {
|
||||
"enabled": true,
|
||||
"type": "postgres",
|
||||
"config": {
|
||||
"host": "localhost",
|
||||
"port": "5432",
|
||||
"user": "bifrost",
|
||||
"password": "bifrost_password",
|
||||
"db_name": "bifrost",
|
||||
"ssl_mode": "disable"
|
||||
}
|
||||
},
|
||||
"mcp": {
|
||||
"client_configs": [
|
||||
{
|
||||
"name": "WeatherService",
|
||||
"connection_type": "http",
|
||||
"client_id": "weather-mcp-server",
|
||||
"connection_string": "http://localhost:8080/mcp"
|
||||
},
|
||||
{
|
||||
"name": "CalendarService",
|
||||
"connection_type": "http",
|
||||
"client_id": "calendar-mcp-server",
|
||||
"connection_string": "http://localhost:8081/mcp"
|
||||
}
|
||||
]
|
||||
},
|
||||
"governance": {
|
||||
"auth_config": {
|
||||
"admin_password": "env.BIFROST_ADMIN_PASSWORD",
|
||||
"admin_username": "env.BIFROST_ADMIN_USERNAME",
|
||||
"disable_auth_on_inference": true,
|
||||
"is_enabled": false
|
||||
},
|
||||
"virtual_keys": [
|
||||
{
|
||||
"id": "vk-ai-portal-prod",
|
||||
"is_active": true,
|
||||
"name": "ai-portal-production-key",
|
||||
"description": "Virtual key for AI portal with MCP access to weather and calendar services",
|
||||
"value": "env.BIFROST_VK_AI_PORTAL",
|
||||
"mcp_configs": [
|
||||
{
|
||||
"mcp_client_name": "WeatherService",
|
||||
"tools_to_execute": [
|
||||
"*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"mcp_client_name": "CalendarService",
|
||||
"tools_to_execute": [
|
||||
"get_events",
|
||||
"create_event"
|
||||
]
|
||||
}
|
||||
],
|
||||
"provider_configs": [
|
||||
{
|
||||
"provider": "openai",
|
||||
"allowed_models": [
|
||||
"*"
|
||||
],
|
||||
"key_ids": [
|
||||
"*"
|
||||
],
|
||||
"weight": 1.0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "vk-internal-tools",
|
||||
"is_active": true,
|
||||
"name": "internal-tools-key",
|
||||
"description": "Virtual key for internal tools with limited MCP access",
|
||||
"value": "env.BIFROST_VK_INTERNAL",
|
||||
"mcp_configs": [
|
||||
{
|
||||
"mcp_client_name": "WeatherService",
|
||||
"tools_to_execute": [
|
||||
"get_current_weather"
|
||||
]
|
||||
}
|
||||
],
|
||||
"provider_configs": [
|
||||
{
|
||||
"provider": "openai",
|
||||
"allowed_models": [
|
||||
"*"
|
||||
],
|
||||
"key_ids": [
|
||||
"*"
|
||||
],
|
||||
"weight": 1.0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"config": {
|
||||
"is_vk_mandatory": true
|
||||
},
|
||||
"enabled": true,
|
||||
"name": "governance"
|
||||
}
|
||||
],
|
||||
"providers": {
|
||||
"openai": {
|
||||
"keys": [
|
||||
{
|
||||
"name": "openai-primary",
|
||||
"value": "env.OPENAI_API_KEY",
|
||||
"weight": 1,
|
||||
"models": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
21
.github/workflows/configs/withsemanticcache/config.json
vendored
Normal file
21
.github/workflows/configs/withsemanticcache/config.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"$schema": "https://www.getbifrost.ai/schema",
|
||||
"vector_store": {
|
||||
"enabled": true,
|
||||
"type": "weaviate",
|
||||
"config": {
|
||||
"scheme": "http",
|
||||
"host": "localhost:9000"
|
||||
}
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"enabled": true,
|
||||
"name": "semantic_cache",
|
||||
"config": {
|
||||
"dimension": 1,
|
||||
"vector_store_namespace": "test"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user