Files
llmgw/internal/sim/text.go
T
ilkerandClaude Opus 5 e07bc46c57
CI / test (push) Has been cancelled
Faz 0: iskelet ve sim-engine
Plan v0.2'nin Faz 0 çıktısı. Yazılan sıraya göre:

- cobra tabanlı CLI iskeleti; server/agent/ctl komutları henüz stub.
- internal/sim: OpenAI uyumlu sahte inference engine. Router'ı GPU olmadan
  gerçekçi koşullarda test edebilmek için gerçek bir engine'in router
  açısından önemli davranışlarını modeller:
    * continuous batching ve KV blok muhasebesi (head-of-line blocking dahil)
    * zincirlenmiş blok hash'leri + LRU ile otomatik prefix cache
    * batch büyüdükçe artan token gecikmesi
    * istemci koptuğunda isteğin düşürülüp blokların bırakılması
    * vLLM metrik adlarıyla /metrics (plan §7.6 engine kontratı)
- Testler: prefix hash zincirlemesi, LRU tahliyesi, iptal propagasyonu,
  kuyruklama, SSE formatı, usage/cached_tokens, metriklerin gerçek
  Prometheus parser'ıyla okunabilirliği.
- Gitea Actions CI: gofmt, vet, race detector.

Modül yolu gitea.mynodes.xyz/ilker/llmgw; `make rename` ile değiştirilebilir.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 01:00:03 +02:00

27 lines
737 B
Go
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.
package sim
import "strings"
// simWords, üretilen sahte çıktının kelime havuzu.
var simWords = []string{
"alfa", "beta", "gama", "delta", "epsilon", "zeta", "eta", "teta",
"iota", "kappa", "lambda", "mu", "nu", "ksi", "omikron", "pi",
}
// tokenText, n'inci üretilen token'ın metnini verir (n 1'den başlar).
// Deterministik olması şart: finish sırasında cache'e yazılan metinle
// istemciye akıtılan metin birebir aynı olmalı.
func tokenText(n int) string {
return " " + simWords[(n-1)%len(simWords)]
}
// generatedText, ilk n token'ın birleşimini verir.
func generatedText(n int) string {
var b strings.Builder
b.Grow(n * 7)
for i := 1; i <= n; i++ {
b.WriteString(tokenText(i))
}
return b.String()
}