ÖNEMLİ KISIM (TL;DR)
OpenViking, yapay zeka aracıları için düz vektör depolamasını dosya sistemi paradigmasıyla değiştiren açık kaynaklı bir bağlam veritabanıdır. Bağlamı (anılar, kaynaklar, beceriler) viking:// URI'ları altında üç katman halinde düzenler: L0 (~100 jeton), L1 (~2k jeton), L2 (tam içerik). Karşılaştırmalı testler, geleneksel RAG'a göre %91 jeton maliyet azaltımı ve %43 daha iyi görev tamamlama gösteriyor.
Giriş
Yapay zeka aracınız bir şeyleri sürekli unutuyor. Aynı API bitiş noktasını iki kez istedi. Hazırlık ortamı tercihinizi görmezden geldi. Dün hangi testlerin geçtiğini unuttu.
Günümüzde aracı geliştirmenin gerçekliği budur. Çoğu ekip RAG işlem hatlarını, vektör veritabanlarını ve özel bellek sistemlerini yamalıyor. Sonuç: parçalanmış bağlam, patlayan jeton maliyetleri ve sessizce başarısız olan alma işlemleri.
Veriler bunu destekliyor. LoCoMo10 veri kümesi kullanılarak yapılan karşılaştırmalı testlerde, geleneksel RAG sistemleri %35-44 görev tamamlama oranlarına ulaşırken 24-51 milyon girdi jetonu harcadı.
OpenViking farklı bir yaklaşım benimsiyor. ByteDance'in OpenViking ekibi tarafından oluşturulan bu sistem, düz vektör depolamasını bir dosya sistemi paradigmasıyla değiştiriyor. Tüm bağlam, hiyerarşik L0/L1/L2 yüklemesiyle viking:// URI'ları altında yer alıyor. Sonuç: %52 görev tamamlama ve %91 daha az jeton.
💡API test ajanları geliştiren Apidog kullanıcıları, test çalıştırmaları boyunca konuşma bağlamını sürdürmek, kullanıcı ortamı tercihlerini hatırlamak ve anlamsal alma için API belgelerini depolamak amacıyla OpenViking'i entegre edebilir.
Bu kılavuzda, OpenViking'in bağlam parçalanmasını nasıl çözdüğünü öğrenecek, L0/L1/L2 modelini uygulamalı olarak görecek ve ilk sunucunuzu 15 dakikada dağıtacaksınız.
Aracı Bağlamı Sorunu
Yapay zeka aracıları, geleneksel uygulamaların hiç karşılaşmadığı bağlam sorunlarıyla karşı karşıyadır.
Geliştiricilerin API'leri test etmesine yardımcı olan bir aracıyı düşünün. Bir hafta içinde şunları takip etmesi gerekir:
- Kullanıcı tercihleri ("hazırlık ortamı", "Python yerine curl")
- Proje bağlamı (bitiş noktaları, kimlik doğrulama yöntemleri, geçmiş test sonuçları)
- Araç kalıpları (hangi bitiş noktaları başarısız oluyor, yaygın şema hataları)
- Görev geçmişi (ne test edildi, hangi hatalar ortaya çıktı)
Geleneksel RAG bunu bir vektör veritabanında düz parçalar halinde depolar. Sorguladığınızda, yapı, hiyerarşi olmayan ve neyin kaçırıldığına dair görünürlük sağlamayan en benzer K parçasını alırsınız.
Beş Temel Zorluk
OpenViking, aracı bağlam yönetimindeki beş temel sorunu tanımlar:
| Zorluk | Geleneksel RAG | OpenViking Çözümü |
|---|---|---|
| Parçalanmış Bağlam | Anılar, kaynaklar, beceriler ayrı ayrı depolanır |
viking:// altında birleşik dosya sistemi paradigması |
| Yükselen Talep | Uzun görevler büyük bağlam üretir | L0/L1/L2 hiyerarşik yükleme jetonları %91 azaltır |
| Kötü Alma | Düz vektör araması küresel görüşten yoksundur | Niyet analizi ile dizin özyinelemeli alma |
| Gözlemlenemez | Kara kutu alma zincirleri | Hata ayıklama için görselleştirilmiş arama yörüngeleri |
| Sınırlı Yineleme | Yalnızca kullanıcı etkileşim geçmişi | 6 bellek kategorisiyle otomatik oturum yönetimi |
Bu, "her şeyi depola, belirsizce al"dan "her şeyi yapılandır, hassas bir şekilde al"a geçiştir.
OpenViking Nedir?
OpenViking, ByteDance'in OpenViking ekibi tarafından Apache 2.0 altında oluşturulan, yapay zeka aracıları için açık kaynaklı bir bağlam veritabanıdır.
Tüm bağlamı sanal bir dosya sisteminde birleştirir. Anılar, kaynaklar ve beceriler, her biri benzersiz bir URI'ye sahip viking:// altındaki dizinlere eşlenir.
viking://
├── resources/ # Harici bilgi: belgeler, kod, web sayfaları
│ ├── my_project/
│ │ ├── docs/
│ │ │ ├── api/
│ │ │ └── tutorials/
│ │ └── src/
│ └── ...
├── user/ # Kullanıcıya özel: tercihler, alışkanlıklar
│ └── memories/
│ ├── preferences/
│ │ ├── writing_style
│ │ └── coding_habits
│ └── ...
└── agent/ # Aracı yetenekleri: beceriler, görev anıları
├── skills/
│ ├── search_code
│ ├── analyze_data
│ └── ...
├── memories/
└── instructions/
Aracılar bağlamı doğrudan yönetebilir:
-
ls viking://resources/my_project/docs/ile dizinlerde gezinin -
find "kimlik doğrulama yöntemleri"ile semantik arama yapın -
read viking://resources/docs/auth.mdile tam içeriği okuyun -
abstract viking://resources/docs/ile hızlı özetler alın
Bu, tüm sabit diskinizi aramak ile dosyanın tam olarak hangi dizinde olduğunu bilmek arasındaki farka benzer.
Temel Özellik 1: Dosya Sistemi Yönetim Paradigması
Tüm bağlam türlerini tek bir model altında birleştirerek bağlam parçalanmasını ortadan kaldırır.
Üç Bağlam Türü
| Tür | Amaç | Yaşam Döngüsü | Girişim |
|---|---|---|---|
| Kaynak | Harici bilgi (belgeler, kod, SSS) | Uzun vadeli, statik | Kullanıcı ekler |
| Bellek | Aracının bilişimi (tercihler, deneyimler) | Uzun vadeli, dinamik | Aracı çıkarır |
| Beceri | Çağrılabilir yetenekler (araçlar, MCP) | Uzun vadeli, statik | Aracı çağırır |
Her tür kendi dizininde yaşar:
-
viking://resources/: Ürün kılavuzları, kod depoları, belgeler -
viking://user/memories/: Kullanıcı tercihleri, varlık anıları, olaylar -
viking://agent/skills/: Araç tanımları, MCP yapılandırmaları -
viking://agent/memories/: Öğrenilmiş kalıplar, vaka çalışmaları
Unix Benzeri API
OpenViking tanıdık komut satırı işlemleri sağlar:
from openviking import OpenViking
client = OpenViking(path="./data")
# Tüm bağlam türlerinde anlamsal arama
results = client.find("kullanıcı kimlik doğrulaması")
# Dizin içeriğini listele
contents = client.ls("viking://resources/")
# Tam içeriği oku
doc = client.read("viking://resources/docs/auth.md")
# Hızlı özet al (L0 katmanı)
abstract = client.abstract("viking://resources/docs/")
# Detaylı genel bakış al (L1 katmanı)
overview = client.overview("viking://resources/docs/")
API hem Python SDK hem de HTTP sunucusu olarak çalışır ve herhangi bir aracı çerçevesiyle uyumludur.
Temel Özellik 2: L0/L1/L2 Hiyerarşik Bağlam Yükleme
Büyük bağlamı istemlere sıkıştırmak pahalıdır. OpenViking tüm bağlamı otomatik olarak üç hiyerarşik katmana işler:
| Katman | Ad | Dosya | Jeton Sınırı | Amaç |
|---|---|---|---|---|
| L0 | Özet | .abstract.md |
~100 jeton | Vektör araması, hızlı filtreleme |
| L1 | Genel Bakış | .overview.md |
~2k jeton | Yeniden sıralama, içerik gezintisi |
| L2 | Detay | Orijinal dosyalar | Sınırsız | Tam içerik, isteğe bağlı yükleme |
Nasıl Çalışır
Bir kaynak eklediğinizde (örn. PDF belge):
- Belgeyi metne ayrıştırır
- AGFS depolamasında bir dizin ağacı oluşturur
- Anlamsal işlemeyi eşzamansız olarak sıraya alır
- L0/L1 özetlerini aşağıdan yukarıya oluşturur
Sonuç:
viking://resources/my_project/
├── .abstract.md # L0: Kısa özet
├── .overview.md # L1: Detaylı genel bakış
├── docs/
│ ├── .abstract.md
│ ├── .overview.md
│ ├── auth.md # L2: Tam içerik
│ ├── endpoints.md
│ └── rate-limits.md
└── src/
└── ...
Jeton Bütçesi Etkisi
Bu yaklaşım önemli maliyet tasarrufu sağlar:
# Geleneksel RAG: Tüm içeriği yükle
full_docs = retrieve_all("kimlik doğrulama") # 50k jeton
# OpenViking: L1 ile başla, sadece gerektiğinde L2'yi yükle
overview = client.overview("viking://resources/docs/auth/") # 2k jeton
if needs_more_detail(overview):
content = client.read("viking://resources/docs/auth/oauth.md")
Testlerde, bu model %91 jeton azaltımı ve %43 daha iyi görev tamamlama sağladı.
Temel Özellik 3: Dizin Özyinelemeli Alma
Tekli vektör araması karmaşık sorgularla mücadele eder. OpenViking, dizin özyinelemeli bir alma stratejisi uygular:
Beş Adımlı Süreç
1. Niyet Analizi
↓
2. İlk Konumlandırma (yüksek puanlı dizinleri bul)
↓
3. Gelişmiş Keşif (dizinler içinde ara)
↓
4. Özyinelemeli İniş (alt dizinlere in)
↓
5. Sonuç Birleştirme (sıralanmış bağlamları döndür)
Adım 1: Niyet Analizi
Sorgu analiz edilir:
- Niyet: nasıl yapılır
- Anahtar varlıklar: kimlik doğrula, kullanıcı
- Beklenen içerik: kimlik doğrulama kılavuzları
Adım 2: İlk Konumlandırma
Vektör araması en alakalı dizinleri bulur:
viking://resources/docs/auth/viking://resources/docs/security/
Adım 3: Gelişmiş Keşif
Yüksek puanlı dizinin içinde dosya araması yapılır.
Adım 4: Özyinelemeli İniş
Varsa alt dizinlere iner.
Adım 5: Sonuç Birleştirme
Sonuçlar, izlerle birlikte sıralanıp döndürülür.
Bu yöntem, hem doğruluğu hem de şeffaflığı artırır.
Temel Özellik 4: Görselleştirilmiş Alma İzleri
Geleneksel RAG bir kara kutudur. OpenViking, alma işlemini gözlemlenebilir yapar:
"OAuth jeton yenileme" sorgusu için alma izi:
├── viking://resources/docs/
│ ├── [PUAN: 0.45] .abstract.md: atlandı
│ └── [PUAN: 0.89] auth/: seçildi
│ ├── [PUAN: 0.92] oauth.md: DÖNDÜRÜLDÜ
│ ├── [PUAN: 0.34] jwt.md: atlandı
│ └── [PUAN: 0.78] providers/
│ └── [PUAN: 0.85] google.md: DÖNDÜRÜLDÜ
Bu izler, hata ayıklamayı kolaylaştırır.
Temel Özellik 5: Otomatik Oturum Yönetimi
OpenViking, yerleşik bir bellek kendi kendine yineleme döngüsü içerir. Oturum sonunda sistem anıları çıkarır ve günceller.
Altı Bellek Kategorisi
| Kategori | Sahip | Konum | Açıklama | Güncelleme Stratejisi |
|---|---|---|---|---|
| profil | kullanıcı | user/memories/.overview.md |
Temel kullanıcı bilgileri | Eklenebilir |
| tercihler | kullanıcı | user/memories/preferences/ |
Konuya göre tercihler | Eklenebilir |
| varlıklar | kullanıcı | user/memories/entities/ |
Kişiler, projeler, kuruluşlar | Eklenebilir |
| olaylar | kullanıcı | user/memories/events/ |
Kararlar, dönüm noktaları | Güncelleme yok |
| vakalar | aracı | agent/memories/cases/ |
Öğrenilmiş vakalar | Güncelleme yok |
| kalıplar | aracı | agent/memories/patterns/ |
Öğrenilmiş kalıplar | Güncelleme yok |
Bellek Çıkarma Nasıl Çalışır
# Bir oturum başlat
session = client.session()
# Mesajlar ekle
await session.add_message("user", [{"type": "text", "text": "Kullanıcı arayüzünde karanlık modu tercih ederim"}])
await session.add_message("assistant", [{"type": "text", "text": "Anladım. Gelecekteki tüm ekran görüntüleri için karanlık modu kullanacağım."}])
# Araç kullanımını kaydet
await session.add_usage({
"tool": "screenshot",
"parameters": {"theme": "dark"},
"result": "success"
})
# Oturumu commit et: bellek çıkarmayı tetikler
await session.commit()
Commit sonrası, OpenViking oturumu sıkıştırır, anıları çıkarır ve dizinleri günceller.
Mimariye Genel Bakış
OpenViking'in mimarisi katmanlıdır:
Çift Katmanlı Depolama
| Katman | Teknoloji | Depolar |
|---|---|---|
| AGFS | Özel dosya sistemi | L0/L1/L2 içerik, multimedya dosyaları, ilişkiler |
| Vektör İndeksi | Vektör DB | URI'ler, gömme'ler, meta veriler (dosya içeriği yok) |
Bu yapı, hem içerik erişimi hem de performans optimizasyonu sağlar.
Hızlı Başlangıç: İlk OpenViking Sunucunuzu Dağıtın
Önkoşullar
- Python: 3.10 veya üzeri
- Go: 1.22+ (AGFS bileşenleri için)
- C++ Derleyicisi: GCC 9+ veya Clang 11+
- İşletim Sistemi: Linux, macOS veya Windows
Adım 1: OpenViking'i Yükleyin
pip install openviking --upgrade --force-reinstall
Opsiyonel Rust CLI:
curl -fsSL https://raw.githubusercontent.com/volcengine/OpenViking/main/crates/ov_cli/install.sh | bash
Adım 2: Modelleri Yapılandırın
~/.openviking/ov.conf dosyasıyla API anahtarlarınızı ve model sağlayıcılarınızı ayarlayın.
OpenAI, Volcengine veya LiteLLM desteklenir.
{
"storage": {
"workspace": "/home/kullanıcı_adınız/openviking_çalışma_alanı"
},
"log": {
"level": "INFO",
"output": "stdout"
},
"embedding": {
"dense": {
"api_base": "https://api.openai.com/v1",
"api_key": "sizin-openai-api-anahtarınız",
"provider": "openai",
"dimension": 3072,
"model": "text-embedding-3-large"
},
"max_concurrent": 10
},
"vlm": {
"api_base": "https://api.openai.com/v1",
"api_key": "sizin-openai-api-anahtarınız",
"provider": "openai",
"model": "gpt-4o",
"max_concurrent": 100
}
}
Adım 3: Sunucuyu Başlatın
openviking-server
Arka planda log ile:
nohup openviking-server > /data/log/openviking.log 2>&1 &
Adım 4: İlk Kaynağınızı Ekleyin
# Rust CLI
ov add-resource https://docs.example.com/api-guide.pdf
# Python SDK
from openviking import OpenViking
client = OpenViking(path="./data")
client.add_resource("https://docs.example.com/api-guide.pdf")
Adım 5: Ara ve Al
# Anlamsal işlemeyi bekle, sonra ara
ov find "kimlik doğrulama yöntemleri"
# Dizin içeriğini listele
ov ls viking://resources/
# Dizin ağacını görüntüle
ov tree viking://resources/docs -L 2
# Belirli içeriği grep ile ara
ov grep "OAuth" --uri viking://resources/docs/
Adım 6: VikingBot'u Etkinleştir (İsteğe Bağlı)
pip install "openviking[bot]"
# Bot etkinleştirilmiş sunucuyu başlat
openviking-server --with-bot
# Sohbeti başlat
ov chat
Performans Karşılaştırmaları
OpenViking, LoCoMo10 veri kümesiyle geleneksel RAG ve yerel bellek sistemlerine karşı test edildi.
| Sistem | Tamamlama Oranı | Girdi Jetonları |
|---|---|---|
| OpenClaw (yerel bellek) | %35,65 | 24,6M |
| OpenClaw + LanceDB | %44,55 | 51,6M |
| OpenClaw + OpenViking | %52,08 | 4,3M |
Özet:
- Yerel belleğe göre %43 iyileşme, %91 jeton azaltımı
- LanceDB'ye göre %17 iyileşme, %92 jeton azaltımı
OpenViking'i Apidog ile Entegre Etme
API testi için yapay zeka ajanları geliştiriyorsanız, Apidog ile kolay entegrasyon için şu adımları izleyin:
Adım 1: OpenViking Sunucusunu Kurun
Yukarıdaki hızlı başlangıcı takip edin.
Adım 2: Apidog API Belgelerini İçe Aktarın
# Apidog proje belgelerinizi bir kaynak olarak ekleyin
ov add-resource https://docs.apidog.com/overview?utm_source=dev.to&utm_medium=wanda&utm_content=n8n-post-automation
ov add-resource https://docs.apidog.com/api-testing?utm_source=dev.to&utm_medium=wanda&utm_content=n8n-post-automation
Adım 3: Kullanıcı Tercihlerini Depolayın
from openviking import OpenViking
client = OpenViking(path="./apidog-agent-data")
session = client.session()
await session.add_message("user", [{
"type": "text",
"text": "API testleri için her zaman hazırlık ortamını kullan"
}])
await session.commit()
Adım 4: Test Sırasında Bağlamı Sorgulayın
results = client.find("kimlik doğrulama uç noktaları")
for ctx in results.resources:
print(f"Bulunan: {ctx.uri}")
prefs = client.find("hazırlık ortamı tercihi", target_uri="viking://user/memories/")
Adım 5: Aracı Çerçevenize Bağlanın
# Python SDK
from openviking import OpenViking
client = OpenViking(path="./data")
# Veya HTTP API
import httpx
response = httpx.post(
"http://localhost:1933/api/v1/search/find",
json={"query": "kimlik doğrulama uç noktaları"},
headers={"X-API-Key": "sizin-api-anahtarınız"}
)
Gelişmiş Teknikler ve En İyi Uygulamalar
Üretim Dağıtımları İçin İpuçları
- Sık erişilen bağlamı önceden hazırla
ov add-resource https://docs.example.com --wait
- Bağlam süresi sonunu uygula
await session.archive(max_age_days=7)
- Vektör indeksi sağlığını izle
ov debug stats
Kaçınılması Gereken Hatalar
- L2 içeriğini erken yükleme: Önce L0/L1 kullanın.
- Oturum commit'lerini atlamak: Bellek çıkarma için commit şarttır.
- Tek dizinleri aşırı yüklemek: Büyük kaynakları alt dizinlere bölün.
- Alma izlerini göz ardı etmek: Hata ayıklama için izleri inceleyin.
Performans Optimizasyonu
| Senaryo | Öneri |
|---|---|
| Yüksek sorgu hacmi | OpenViking'i bağlantı havuzlu HTTP sunucusu olarak çalıştırın |
| Büyük belgeler | İçe aktarmadan önce konuya göre parçalara ayırın |
| Düşük gecikme | Sık erişilen içerik için L0/L1'i önceden oluşturun |
| Çok kullanıcılı kurulum | Her kullanıcı için ayrı çalışma alanları kullanın |
Güvenlik En İyi Uygulamaları
- API anahtarlarını ortam değişkenlerinde veya gizli yöneticilerde saklayın
- HTTP sunucu dağıtımları için HTTPS'yi etkinleştirin
- Herkese açık uç noktalarda hız sınırlaması uygulayın
- Geliştirme ve üretim için ayrı API anahtarı kullanın
Gerçek Dünya Kullanım Durumları
1. Yapay Zeka Kodlama Asistanları
-
viking://resources/my_project/src/ile proje yapısında gezinme - Kullanıcı kodlama tercihlerini hatırlama
- Kod oluşturma sırasında API belgelerini hızlıca bulma
Sonuç: Unutkanlıkta %67 azalma, %43 jeton tasarrufu.
2. Müşteri Destek Temsilcileri
- Ürün belgeleri ve müşteri geçmişi ayrı dizinlerde tutulur
- Destek kılavuzları beceri olarak eklenir
Sonuç: İlk temasta çözüm oranı %52'den %71'e çıktı.
3. Araştırma Asistanları
- Makaleler konuya göre dizinlenir
- Araştırma metodolojileri beceri olarak tutulur
- Otomatik bellek çıkarma ile notlar analiz edilir
Sonuç: Araştırmacılar, ilgili makaleleri 3 kat daha hızlı buluyor.
Alternatifler ve Karşılaştırmalar
OpenViking ve Geleneksel Vektör Veritabanları
| Yön | Geleneksel RAG (Pinecone, LanceDB) | OpenViking |
|---|---|---|
| Depolama Modeli | Düz vektör parçaları | Hiyerarşik dosya sistemi |
| Alma | En iyi-K benzerliği | Dizin özyinelemeli + niyet analizi |
| Gözlemlenebilirlik | Kara kutu | Görselleştirilmiş arama izleri |
| Jeton Verimliliği | Tümünü yükle veya kırp | L0/L1/L2 aşamalı yükleme |
| Bellek Yinelemesi | Manuel veya yok | Otomatik oturum yönetimi |
| Bağlam Türleri | Yalnızca belgeler | Kaynaklar, anılar, beceriler birleşik |
| Hata Ayıklama | Tahmin | Dizin geçiş günlükleri |
OpenViking ve LangChain Belleği
| Yön | LangChain Belleği | OpenViking |
|---|---|---|
| Kalıcılık | Yalnızca konuşma arabelleği | L0/L1/L2 ile tam dosya sistemi |
| Ölçeklenebilirlik | Bağlam penceresiyle sınırlı | Hiyerarşik yükleme, katı sınır yok |
| Alma | Doğrusal arama | Dizin özyinelemeli + anlamsal |
| Bellek Türleri | Tek arabellek | 6 kategori (profil, tercihler, olaylar vb.) |
Alternatifleri Ne Zaman Düşünmeli?
Geleneksel vektör veritabanlarını şunlarda kullanın:
- 100ms altı alma gecikmesi gerekiyorsa
- Kullanımınız basit anahtar kelime araması ise
- RAG hattınız sorunsuz çalışıyorsa
OpenViking'i şunlarda kullanın:
- Uzun süreli aracı konuşmaları yürütüyorsanız
- Çoklu bağlam (belgeler+tercihler+araçlar) ihtiyacınız varsa
- Jeton maliyeti önemliyse
- Gözlemlenebilir, hata ayıklanabilir alma istiyorsanız
Geleneksel RAG ile Karşılaştırma
| Yön | Geleneksel RAG | OpenViking |
|---|---|---|
| Depolama Modeli | Düz vektör parçaları | Hiyerarşik dosya sistemi |
| Alma | En iyi-K benzerliği | Dizin özyinelemeli + niyet analizi |
| Gözlemlenebilirlik | Kara kutu | Görselleştirilmiş arama izleri |
| Jeton Verimliliği | Tümünü yükle veya kırp | L0/L1/L2 aşamalı yükleme |
| Bellek Yinelemesi | Manuel veya yok | Otomatik oturum yönetimi |
| Bağlam Türleri | Yalnızca belgeler | Kaynaklar, anılar, beceriler birleşik |
| Hata Ayıklama | Tahmin | Dizin geçiş günlükleri |
Üretim Dağıtımı
OpenViking'i üretimde bağımsız bir HTTP hizmeti olarak çalıştırın.
Altyapı Önerisi:
- Bulut: Volcengine ECS veya dengi
- OS: veLinux veya Ubuntu 22.04+
- Depolama: SSD tabanlı AGFS birimi
- Ağ: Model API'lerine düşük gecikmeli bağlantı
Güvenlik Hususları:
- API anahtarlarını ortam değişkenlerinde saklayın
- HTTP uç noktalarında kimlik doğrulama kullanın
- Sunucu iletişimi için HTTPS kullanın
- Kötüye kullanımı önlemek için rate limiting uygulayın
İzleme:
{
"log": {
"level": "INFO",
"output": "file",
"path": "/var/log/openviking/server.log"
}
}
Takip edilecek metrikler:
- Anlamsal işleme kuyruğu
- Vektör arama gecikmesi
- AGFS IO
- Bellek çıkarma başarı oranları
Sınırlamalar ve Hususlar
Mevcut Sınırlamalar:
- Yalnızca Python SDK (diğer diller için HTTP gerekir)
- Harici model bağımlılıkları
- Dosya sistemi paradigmasına alışma gerektirir
- Proje erken geliştirme aşamasında, API'ler değişebilir
Ne zaman kullanmalı?
- Uzun süreli, bellek gerektiren aracı konuşmaları
- Çoklu bağlam türü (belgeler+tercihler+araçlar)
- Gözlemlenebilir, hata ayıklanabilir alma ihtiyacı
- Jeton maliyeti kritikse
Alternatif düşün:
- Basit SSS uygulamaları
- Zaten sorunsuz çalışan bir RAG hattınız varsa
- Süper düşük gecikme gerekiyorsa
Geleceğe Yönelik Yol Haritası
OpenViking şu anda erken geliştirme aşamasında (2025 başı, v0.1.x). Yol haritası:
- Çoklu kullanıcı desteği (ekipler için çalışma alanları)
- Gelişmiş analitik ve metrikler
- Eklenti ekosistemi (popüler aracı çerçeveleri için)
- Edge dağıtımı için hafif mod
- Gelişmiş MCP desteği
Topluluk katkılarına açıktır. Proje Apache 2.0 ile açık kaynaktır.
Sonuç
OpenViking, yapay zeka aracılarında bağlam yönetimini yeniden tanımlar. Bilgiyi dosya sistemi gibi düzenleyerek, geleneksel RAG sistemlerinin parçalanma, jeton israfı ve kara kutu alma problemlerini çözer.
Ana Çıkarımlar
-
Dosya sistemi paradigması bağlamı birleştirir: Tüm anılar, kaynaklar ve beceriler
viking://URI'ları altında - L0/L1/L2 yükleme jetonları %91 azaltır: Her şeyi istemlere dökmek yerine aşamalı yükleme
- Dizin özyinelemeli alma doğruluğu artırır: Önce yüksek puanlı dizinleri kilitle, sonra içeriği keşfet
- Görselleştirilmiş izler hata ayıklamayı sağlar: Alma işleminin tam olarak hangi yolları izlediğini görün
- Otomatik oturum yönetimi öğrenmeyi sağlar: Aracılar her konuşmadan anılar çıkarır



Top comments (0)