ai-courseware/eino-project/internal/conf/conf.proto

93 lines
1.7 KiB
Protocol Buffer

syntax = "proto3";
package kratos.api;
option go_package = "eino-project/internal/conf;conf";
import "google/protobuf/duration.proto";
message Bootstrap {
Server server = 1;
Data data = 2;
AI ai = 3;
Vector vector = 4;
Monitoring monitoring = 5;
Log log = 6;
App app = 7;
}
message Server {
message HTTP {
string network = 1;
string addr = 2;
google.protobuf.Duration timeout = 3;
}
message GRPC {
string network = 1;
string addr = 2;
google.protobuf.Duration timeout = 3;
}
HTTP http = 1;
GRPC grpc = 2;
}
message Data {
message Database {
string driver = 1;
string source = 2;
}
message Redis {
string addr = 1;
string password = 2;
int32 db = 3;
google.protobuf.Duration read_timeout = 4;
google.protobuf.Duration write_timeout = 5;
google.protobuf.Duration dial_timeout = 6;
int32 pool_size = 7;
}
Database database = 1;
Redis redis = 2;
}
message AI {
message Ollama {
string endpoint = 1;
repeated string models = 2;
google.protobuf.Duration timeout = 3;
}
message Eino {
string log_level = 1;
bool enable_trace = 2;
}
Ollama ollama = 1;
Eino eino = 2;
}
message Vector {
message ChromaDB {
string endpoint = 1;
string collection = 2;
google.protobuf.Duration timeout = 3;
}
ChromaDB chromadb = 1;
}
message Monitoring {
message CozeLoop {
string endpoint = 1;
bool enable = 2;
google.protobuf.Duration metrics_interval = 3;
}
CozeLoop coze_loop = 1;
}
message Log {
string level = 1;
string format = 2;
string output = 3;
}
message App {
string name = 1;
string version = 2;
string environment = 3;
}