Files
opantoantro/docs/wiki/Anthropic_Flow.md
T
Beyhan Ogur a408821410 first commit
2026-05-11 15:08:50 +03:00

47 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Anthropic Flow
**Özet:** Anthropic Messages API formatındaki isteklerin gateway üzerinden Bifrost dönüşümüyle OpenAI formatına çevrilip upstream'e iletilmesi ve yanıtın geri Anthropic formatına dönüştürülmesi.
**Kütüphaneler:** Fiber v3, Go `net/http`, `encoding/json`
**Bağlantılar:** [[AnthropicHandler]], [[BifrostTransform]], [[ProxyEngine]], [[RequestLog]], [[Index]]
## Akış Diyagramı
```mermaid
sequenceDiagram
participant Client
participant Gateway
participant Bifrost as BifrostTransform
participant Proxy
participant Upstream
participant DB
Client->>Gateway: POST /anthropic/v1/messages
Note over Gateway: AnthropicHandler
Gateway->>Gateway: x-api-key → Authorization: Bearer
Gateway->>Gateway: API key auto-inject (gerekirse)
Gateway->>Bifrost: AnthropicToBifrost()
Bifrost-->>Gateway: OpenAI Chat Completions format
Gateway->>Proxy: Forward() to /v1/chat/completions
Proxy->>Upstream: POST <BACKEND>/v1/chat/completions
Upstream-->>Proxy: 200 OK + OpenAI format response
Proxy-->>Gateway: ForwardResult
Gateway->>Bifrost: BifrostToAnthropic()
Bifrost-->>Gateway: Anthropic Messages format
Gateway->>DB: go db.Create(logEntry)
Gateway-->>Client: 200 OK (Anthropic format)
```
## Edge Case'ler
| Senaryo | Davranış |
|---|---|
| **HEAD isteği** | 404 (DeepSeek uyumluluğu) |
| **Empty body** | Varsayılan "optoant gateway ready" yanıtı |
| **Geçersiz Anthropic formatı** | Raw passthrough + uyarı log'u |
| **Yanıt dönüşüm hatası** | Raw yanıtı forward et (passthrough) |
| **GET /v1/models** | DeepSeek model listesi (Anthropic formatında) |
| **Boş path /anthropic** | HTML info sayfası (`infoPage()`) |
| **Upstream hatası** | 502 Bad Gateway |