Dùng thử
5.000 lượt tìm kiếm
9,25 US$
1,85 US$/1K lượt tìm kiếm
- Tích hợp vào một agent
- Cùng API với gói lớn nhất
- Credit không bao giờ hết hạn
Trường hợp sử dụng · retrieval-augmented generation · nguồn tươi mới
Một chỉ mục vector lưu những gì bạn đã tải vào tháng trước. Một số câu hỏi cần những gì web nói hôm nay. Live-web RAG truy xuất ngay tại thời điểm hỏi: một tìm kiếm, các trang hàng đầu dưới dạng Markdown, vài đoạn đưa vào prompt, và trích dẫn trở lại từng trang.
Trả lời nhanh
Làm thế nào để tôi làm RAG với kết quả tìm kiếm web trực tiếp?
Chạy một tìm kiếm web ngay tại thời điểm hỏi, đọc các trang hàng đầu, chia chúng thành các đoạn, giữ những đoạn liên quan nhất và yêu cầu mô hình trả lời kèm trích dẫn đánh số. LLMWebSearch xử lý hai bước đầu trong một lần gọi: kết quả đã xếp hạng với 3 trang đầu dưới dạng Markdown, với một credit, từ 1,20 US$/1K lượt tìm kiếm. Không cần KYC; thanh toán bằng crypto.
Đó là retrieval-augmented generation trong đó bước truy xuất là một web search thay vì tra cứu trong index của riêng bạn. Câu hỏi được gửi đến web search API, API trả về các trang, và model trả lời dựa trên những trang đó.
Mô hình này phù hợp với các câu hỏi về những thứ thay đổi: giá cả, bản phát hành, quy định, lịch trình và tin tức. Nó cũng phù hợp với những câu hỏi long-tail mà tài liệu của bạn chưa từng đề cập. Chi phí là một truy vấn mỗi câu hỏi, hoặc hai khi lần đầu không trúng.
Lưu trữ những gì ổn định và là của bạn; fetch những gì thay đổi. Hướng dẫn sử dụng sản phẩm, chính sách nội bộ và tài liệu của riêng bạn thuộc về một chỉ mục vector, được làm mới theo lịch. Giá đối thủ, quy định và tin tức thuộc về truy xuất trực tiếp.
Nhiều đội kết hợp cả hai. Họ tìm kiếm chỉ mục của riêng mình trước và chỉ gọi web khi chỉ mục không có kết quả khớp tốt, hoặc khi câu hỏi nhắc đến một ngày gần đây.
Nếu bạn quyết định giữ các trang đã truy xuất, hãy lưu ý quan điểm của chúng tôi: Chúng tôi không huấn luyện bất kỳ model nào trên truy vấn của bạn hay trên những gì API trả về, và chúng tôi không thêm quy tắc riêng nào chống lại việc lưu trữ kết quả; quyền của các trang có nội dung bạn đọc vẫn áp dụng. Hãy kiểm tra điều khoản của từng trang trước khi tạo một bản sao thường trực nội dung của nó.
Chia mỗi trang theo các tiêu đề của nó, rồi cắt các phần dài về một độ dài cố định. Markdown làm việc này dễ dàng, vì tiêu đề là những dòng bắt đầu bằng #. Giữ URL nguồn và tiêu đề trên mỗi đoạn để các trích dẫn còn sống sót qua bước chia.
Ví dụ bên dưới tìm kiếm, đọc ba trang, chia nhỏ chúng và chọn sáu đoạn chia sẻ nhiều từ ngữ nhất với câu hỏi. Hãy thay số đếm từ bằng mô hình embedding của bạn khi chạy thực tế; cấu trúc vẫn giữ nguyên.
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}"
)Ba là một khởi đầu tốt, và nó giữ tìm kiếm ở mức một credit. Hầu hết câu hỏi về sự thật được trả lời trong hai hoặc ba trang đầu của một truy vấn tốt.
Yêu cầu các trang dài hơn so với khi bạn dùng trong một chat agent, vì bộ chia đoạn dù sao cũng sẽ loại bỏ phần lớn văn bản. Một max_chars từ 10.000 đến 15.000 cho mỗi trang cho bộ xếp hạng đủ để chọn lựa. Nếu câu trả lời phụ thuộc vào một trang đã biết, hãy thêm nó bằng include_domains thay vì đọc thêm nhiều trang.
Đánh số các nguồn trong prompt và yêu cầu các con số trong câu trả lời. Một chỉ dẫn ngắn hoạt động tốt: chỉ dùng ngữ cảnh, trích dẫn mỗi khẳng định dưới dạng [n], và nói khi ngữ cảnh không bao quát câu hỏi.
Giữ danh sách nguồn ở cuối prompt, với một URL cho mỗi số. Sau đó hiển thị [n] dưới dạng liên kết trong giao diện của bạn. Người dùng tin tưởng những câu trả lời họ có thể kiểm tra, và các trích dẫn sai rất dễ phát hiện khi xem lại.
Hãy bỏ qua nó và dùng các trang khác. Mọi kết quả đều mang một content_status; chỉ các kết quả ok mới có văn bản. Một trang có thể bị thiếu vì Trình đọc của chúng tôi tôn trọng robots.txt: nó tự giới thiệu là LLMWebSearch, tuân theo các quy tắc mà một trang viết cho nó hoặc cho tất cả robot, và bỏ qua nội dung của bất kỳ trang nào nó không được phép đọc.
Khi tất cả các trang của một tìm kiếm đều trả về trống, hãy thử lại một lần với một truy vấn khác hoặc thêm include_domains cho một trang bạn biết là mở. Khi một trang từ chối trình đọc của chúng tôi, kết quả trả về không có nội dung kèm trạng thái của trang: chúng tôi không bao giờ giải CAPTCHA, đăng nhập vào tài khoản hay lách qua một chặn chặn hoặc paywall.
Một tìm kiếm mỗi câu hỏi trong hầu hết các trường hợp. Một trợ lý hỗ trợ trả lời 5.000 câu hỏi mỗi tháng, với một tìm kiếm thứ hai cho một trong năm câu hỏi, dùng khoảng 6.000 tìm kiếm. 25.000 lượt tìm kiếm với 41,25 US$ đủ cho bốn tháng như vậy.
Mô hình của bạn cũng đọc các đoạn bạn gửi cho nó. Sáu đoạn, mỗi đoạn 1.200 ký tự, thêm khoảng 2.000 token mỗi câu hỏi, mà bạn kiểm soát qua kích thước và số lượng đoạn.
Một credit cho mỗi câu hỏi với hầu hết quy trình. Credit tìm kiếm không có ngày hết hạn: phần bạn không dùng trong tháng này vẫn còn đó vào năm sau.
5.000 lượt tìm kiếm
9,25 US$
1,85 US$/1K lượt tìm kiếm
25.000 lượt tìm kiếm
41,25 US$
1,65 US$/1K lượt tìm kiếm
100.000 lượt tìm kiếm
145 US$
1,45 US$/1K lượt tìm kiếm
Trong mọi gói: Top 3 trang được đọc dưới dạng Markdown · Bộ lọc theo quốc gia, ngôn ngữ, thời gian và tên miền · Không tính phí các lần gọi thất bại · Credit không bao giờ hết hạn
Có. Trang LangChain và LlamaIndex đóng gói tìm kiếm thành một retriever và thành một công cụ.
Có, với endpoint extract. Đọc các trang mà bạn đã có URL tốn 1 credit cho mỗi nhóm 3 trang bắt đầu được trả về kèm nội dung, tối đa 20 URL mỗi lượt gọi; các URL bị từ chối hoặc thất bại không được tính.
Không. Mỗi lượt gọi để lại một dòng log: thời gian, tài khoản, 60 ký tự đầu của truy vấn, số kết quả và số trang được trả về, và số credit. Các dòng log bị xóa sau 30 ngày. Nội dung của các trang chúng tôi đọc không được lưu. Số tài khoản, đơn hàng, các khoản nạp và tổng credit được giữ trong suốt thời gian tài khoản tồn tại, sau đó chỉ giữ trong thời hạn mà luật kế toán yêu cầu. Cơ quan chức năng chỉ nhận hồ sơ khi pháp luật buộc chúng tôi.
Có. Đặt language và country, ví dụ language=de và country=de cho kết quả tiếng Đức từ Đức.
Từ 1,20 US$/1K lượt tìm kiếm · không cần KYC
Lấy khóa API