weightsapi.ÇIKARIMKonsol
Gezinme
Atıflı RAG

Atıflı RAG

Doğrulanabilir kaynak kimlikleri içeren küçük bir getirme hattı.

Gereksinimler#

Python 3.11 veya daha yeni. Ek paket yok. WEIGHTSAPI_API_KEY'i kendi anahtarınıza ayarlayın. AI erişimi oturum açmayı, en az 100 USD tutarında bir onaylanmış yüklemeyi, yetkili bir API anahtarını ve istek için yeterli kullanılabilir krediyi gerektirir. Sonraki her yükleme de minimum 100 USD'dir; daha küçük kalan bakiyeler isteği karşıladığında kullanılabilir kalır. Kredi işlem doğrulaması gerektirir. Trafik göndermeden önce model kullanılabilirliği için hizmet durumunu kontrol edin.

Tarifi çalıştırın#

import os, json, urllib.request
BASE = os.environ.get("WEIGHTSAPI_BASE_URL", "https://weightsapi.com/v1")
KEY = os.environ["WEIGHTSAPI_API_KEY"]
def chat(messages, model="Qwen/Qwen3-32B", **options):
    payload = dict(model=model, messages=messages, max_tokens=512, **options)
    req = urllib.request.Request(BASE+"/chat/completions", json.dumps(payload).encode(),
        {"Authorization": "Bearer "+KEY, "Content-Type": "application/json"})
    with urllib.request.urlopen(req, timeout=120) as response:
        return json.load(response)
documents = [
    {"id":"S1","text":"A KV cache reuses attention keys and values from previous tokens."},
    {"id":"S2","text":"Prefill processes the prompt; decode generates new output tokens."},
    {"id":"S3","text":"Longer contexts increase KV cache memory usage."}]
question = "How does caching affect generation?"
terms = set(question.lower().split())
ranked = sorted(documents, key=lambda d: len(terms & set(d["text"].lower().split())), reverse=True)[:2]
context = "\n".join("["+d["id"]+"] "+d["text"] for d in ranked)
r = chat([{"role":"system","content":"Answer only from the sources. Cite [S1], [S2], etc. Say when evidence is missing."},
          {"role":"user","content":context+"\nQuestion: "+question}])
print(r["choices"][0]["message"]["content"])
print("Retrieved sources:", [d["id"] for d in ranked])

Üretimden önce#

Bu küçük örnek bağımsız çalışabilmesi için sözcüksel sıralama ve gömülü örnek kaynaklar kullanır. Derlemi ve sıralamayı kendi getiricinizle değiştirin ve atıfların her iddiayı gerçekten desteklediğini doğrulayın.