Deneyin
5.000 arama
$9,25
$1,85/1K arama
- Tek bir ajana bağlayın
- En büyük paketle aynı API
- Krediler hiç sona ermez
Kullanım senaryosu · getirmeyle artırılmış üretim · taze kaynaklar
Bir vektör indeksi geçen ay yüklediklerinizi tutar. Bazı sorular web'in bugün söylediklerini gerektirir. Canlı-web RAG soru anında getirir: bir arama, en iyi sayfalar Markdown olarak, prompt'a birkaç parça ve her sayfaya geri bağlanan alıntılar.
Kısa yanıt
Canlı web arama sonuçlarıyla RAG'ı nasıl yaparım?
Soru anında bir web araması yapın, en iyi sayfaları okuyun, bunları parçalara bölün, en ilgili olanları tutun ve modelden numaralı alıntılarla yanıtlamasını isteyin. LLMWebSearch ilk iki adımı tek çağrıda halleder: ilk 3 sayfa Markdown olarak, sıralanmış sonuçlarla, bir kredi karşılığında, $1,20/1K arama itibarıyla. KYC olmadan; kripto ile ödeme.
Getirme adımının kendi indeksinizde bir arama yerine bir web araması olduğu, getirmeyle artırılmış üretimdir. Soru bir arama API'sine gider, API sayfaları döndürür ve model bu sayfalardan yanıt verir.
Bu desen değişen şeylerle ilgili sorulara uygundur: fiyatlar, sürümler, kurallar, programlar ve haberler. Ayrıca kendi belgelerinizin hiç kapsamadığı uzun kuyruk sorulara da uygundur. Maliyet soru başına bir aramadır, ilki kaçırdığında iki.
Sabit ve size ait olanı saklayın; değişeni getirin. Ürün kılavuzları, iç politikalar ve kendi belgeleriniz bir vektör indeksinde olmalı ve bir programa göre yenilenmelidir. Rakip fiyatları, düzenlemeler ve haberler canlı getirmeye aittir.
Birçok ekip ikisini birleştirir. Önce kendi indekslerinde ararlar ve yalnızca indekste iyi bir eşleşme yoksa veya soru yakın bir tarihten söz ediyorsa web'e başvururlar.
Getirdiğiniz sayfaları saklamaya karar verirseniz, tutumumuzu unutmayın: Sorgularınız veya API'nin döndürdükleri üzerinde hiçbir model eğitmeyiz ve sonuçları saklamaya karşı kendi kurallarımızı eklemeyiz; sayfalarını okuduğunuz sitelerin hakları hâlâ geçerlidir. İçeriğinin kalıcı bir kopyasını oluşturmadan önce her sitenin koşullarını kontrol edin.
Her sayfayı başlıklarına göre bölün, sonra uzun bölümleri sabit bir uzunluğa kesin. Markdown bunu kolaylaştırır, çünkü başlıklar # ile başlayan satırlardır. Alıntıların bölme işleminden sağ çıkması için kaynak URL'yi ve başlığı her parçada tutun.
Aşağıdaki örnek arama yapar, üç sayfa okur, bunları parçalara böler ve soruyla en çok sözcüğü paylaşan altı parçayı seçer. Üretimde sözcük sayımını embedding modelinizle değiştirin; yapı aynı kalır.
import os
import re
import requests
API = "https://llmwebsearch.com/api/v1/search"
HEADERS = {"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]}
def live_chunks(query, read=3, chunk_len=1200):
"""Search, then cut each page that was read into heading-based chunks tagged with its source."""
body = {"q": query, "max_results": 5, "read": read, "max_chars": 12000}
results = requests.post(API, headers=HEADERS, json=body, timeout=60).json()["results"]
chunks = []
for r in results:
if r.get("content_status") != "ok":
continue
for section in re.split(r"\n(?=#{1,3} )", r["content"]):
section = section.strip()
for start in range(0, len(section), chunk_len):
chunks.append({"url": r["url"], "title": r["title"], "text": section[start:start + chunk_len]})
return chunks
def top_chunks(chunks, question, k=6):
"""A plain keyword score; swap in your embedding model for better ranking."""
words = set(re.findall(r"\w{4,}", question.lower()))
def score(chunk):
return sum(1 for w in re.findall(r"\w{4,}", chunk["text"].lower()) if w in words)
return sorted(chunks, key=score, reverse=True)[:k]
def build_prompt(question):
picked = top_chunks(live_chunks(question), question)
urls = list(dict.fromkeys(c["url"] for c in picked))
blocks = [f"[{urls.index(c['url']) + 1}] {c['title']}\n{c['text']}" for c in picked]
sources = "\n".join(f"[{i}] {u}" for i, u in enumerate(urls, 1))
return (
"Use only the context to answer and cite sources as [n].\n\n"
+ "\n\n".join(blocks)
+ f"\n\nSources:\n{sources}\n\nQuestion: {question}"
)Üç iyi bir başlangıçtır ve aramayı tek kredide tutar. Olgusal soruların çoğu iyi bir sorgunun ilk iki veya üç sayfasında yanıtlanır.
Bir sohbet ajanında isteyeceğinizden daha uzun sayfalar isteyin, çünkü parçalayıcı metnin çoğunu zaten atacaktır. Sayfa başına 10.000 ila 15.000 arası bir max_chars, sıralayıcıya seçim yapması için yeterli malzeme verir. Yanıt bilinen tek bir siteye bağlıysa, daha fazla sayfa okumak yerine onu include_domains ile ekleyin.
Kaynakları prompt'ta numaralandırın ve yanıtta numaraları isteyin. Kısa bir talimat iyi işler: yalnızca bağlamı kullan, her iddiayı [n] olarak alıntıla ve bağlam soruyu kapsamadığında bunu söyle.
Kaynak listesini prompt'un sonunda, her numara için bir URL olacak şekilde tutun. Sonra [n]'yi arayüzünüzde bir bağlantı olarak gösterin. Kullanıcılar kontrol edebildikleri yanıtlara güvenir ve yanlış alıntılar incelemede kolayca fark edilir.
Onu atlayın ve diğerlerini kullanın. Her sonuç bir content_status taşır; yalnızca ok sonuçların metni vardır. Bir sayfa Okuyucumuz robots.txt'ye uyar: kendini LLMWebSearch olarak tanıtır, bir sitenin onun için ya da tüm robotlar için yazdığı kurallara uyar ve okumasına izin verilmeyen her sayfanın içeriğini dışarıda bırakır nedeniyle eksik olabilir.
Bir aramanın tüm sayfaları boş döndüğünde, farklı bir sorguyla bir kez daha deneyin veya açık olduğunu bildiğiniz bir site için include_domains ekleyin. Bir site okuyucumuzu geri çevirdiğinde sonuç, içerik olmadan ve sitenin durumuyla döner: CAPTCHA'ları asla çözmeyiz, hesaplara giriş yapmayız veya bir engeli ya da ödeme duvarını aşmaya çalışmayız.
Çoğu durumda soru başına bir arama. Ayda 5.000 soruyu yanıtlayan ve her beş sorudan biri için ikinci bir arama yapan bir destek asistanı yaklaşık 6.000 arama kullanır. $41,25 tutarındaki 25.000 arama, bu tür dört ayı karşılar.
Modeliniz ayrıca ona gönderdiğiniz parçaları da okur. 1.200 karakterlik altı parça, soru başına kabaca 2.000 token ekler; bunu parça boyutu ve sayısıyla siz kontrol edersiniz.
Çoğu iş akışında soru başına bir kredi. Arama kredilerinin son kullanma tarihi yoktur: bu ay kullanmadığınız krediler gelecek yıl da orada durur.
5.000 arama
$9,25
$1,85/1K arama
25.000 arama
$41,25
$1,65/1K arama
100.000 arama
$145
$1,45/1K arama
Her planda: En iyi 3 sayfa Markdown olarak okunur · Ülke, dil, zaman ve alan adı filtreleri · Başarısız çağrılar ücretlendirilmez · Krediler hiç sona ermez
Evet. LangChain ve LlamaIndex sayfası aramayı bir retriever ve bir araç olarak sarar.
Evet, extract endpoint ile. URL'sini zaten bildiğiniz sayfaları okumak, içerikle birlikte döndürülen her başlamış 3 sayfalık grup için 1 kredi eder, çağrı başına en fazla 20 URL; reddedilen veya başarısız olan URL'ler sayılmaz.
Hayır. Her çağrı bir log satırı bırakır: zaman, hesap, sorgunun ilk 60 karakteri, kaç sonuç ve sayfanın döndürüldüğü ve krediler. Satırlar 30 gün sonra silinir. Okuduğumuz sayfaların içeriği saklanmaz. Hesap numarası, siparişler, bakiye yüklemeleri ve kredi toplamları hesap var olduğu sürece, sonrasında ise yalnızca muhasebe hukukunun istediği kadar saklanır. Yetkililer kayıtları yalnızca bir yasa bizi zorladığında alır.
Evet. language ve country ayarlayın, örneğin Almanya'dan Almanca sonuçlar için language=de ve country=de.
$1,20/1K arama'dan · KYC olmadan
API anahtarı alın