add arch provider (#494)

This commit is contained in:
Adil Hafeez 2025-05-30 17:12:52 -07:00 committed by GitHub
parent 6a01eea813
commit 8d12a9a6e0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 34 additions and 16 deletions

View file

@ -70,6 +70,7 @@ properties:
provider_interface:
type: string
enum:
- arch
- claude
- deepseek
- groq

View file

@ -472,6 +472,31 @@ static_resources:
clusters:
- name: arch
connect_timeout: 0.5s
type: LOGICAL_DNS
dns_lookup_family: V4_ONLY
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: arch
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: archfc.katanemo.dev
port_value: 443
hostname: "archfc.katanemo.dev"
transport_socket:
name: envoy.transport_sockets.tls
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
sni: archfc.katanemo.dev
common_tls_context:
tls_params:
tls_minimum_protocol_version: TLSv1_2
tls_maximum_protocol_version: TLSv1_3
- name: claude
connect_timeout: 0.5s
type: LOGICAL_DNS
@ -752,22 +777,6 @@ static_resources:
port_value: 9091
hostname: localhost
- name: router_model_host
connect_timeout: 0.5s
type: LOGICAL_DNS
dns_lookup_family: V4_ONLY
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: router_model_host
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 34.30.16.38
port_value: 8000
hostname: router_model_host
- name: arch_prompt_gateway_listener
connect_timeout: 0.5s
type: LOGICAL_DNS

View file

@ -120,6 +120,11 @@ impl RouterService {
);
}
llm_route_request_headers.insert(
header::HeaderName::from_static("model"),
header::HeaderValue::from_static("arch-router"),
);
let start_time = std::time::Instant::now();
let res = self
.client

View file

@ -145,6 +145,8 @@ pub struct EmbeddingProviver {
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)]
pub enum LlmProviderType {
#[serde(rename = "arch")]
Arch,
#[serde(rename = "claude")]
Claude,
#[serde(rename = "deepseek")]
@ -160,6 +162,7 @@ pub enum LlmProviderType {
impl Display for LlmProviderType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
LlmProviderType::Arch => write!(f, "arch"),
LlmProviderType::Claude => write!(f, "claude"),
LlmProviderType::Deepseek => write!(f, "deepseek"),
LlmProviderType::Groq => write!(f, "groq"),