ทดลอง
5,000 การค้นหา
US$9.25
US$1.85/1K การค้นหา
- เชื่อมต่อเข้ากับ agent ตัวเดียว
- API เดียวกับแพ็กที่ใหญ่ที่สุด
- เครดิตไม่มีวันหมดอายุ
กรณีใช้งาน · retrieval-augmented generation · แหล่งข้อมูลสด
ดัชนีเวกเตอร์เก็บสิ่งที่คุณโหลดไว้เมื่อเดือนที่แล้ว บางคำถามต้องการสิ่งที่เว็บพูดวันนี้ Live-web RAG ดึงข้อมูล ณ เวลาที่ถาม: ค้นหาหนึ่งครั้ง หน้าเว็บชั้นนำเป็น Markdown ใส่ chunk ไม่กี่ชิ้นลงใน prompt และอ้างอิงกลับไปยังแต่ละหน้า
คำตอบสั้น
จะทำ RAG ด้วยผลการค้นหาเว็บสดได้อย่างไร?
รันการค้นหาเว็บ ณ เวลาที่ถาม อ่านหน้าเว็บชั้นนำ แบ่งเป็น chunk เก็บชิ้นที่เกี่ยวข้องที่สุด แล้วขอให้โมเดลตอบพร้อมการอ้างอิงแบบมีหมายเลข LLMWebSearch จัดการสองขั้นแรกในคำขอเดียว: ผลลัพธ์ที่จัดอันดับพร้อม 3 หน้าแรกเป็น Markdown หนึ่งเครดิต จาก US$1.20/1K การค้นหา ไม่ต้อง KYC จ่ายด้วยคริปโต
คือ retrieval-augmented generation ที่ขั้นตอนการดึงข้อมูลเป็นการค้นหาเว็บแทนการค้นหาในดัชนีของคุณเอง คำถามถูกส่งไปยัง search API API ส่งคืนหน้าเว็บ และโมเดลตอบจากหน้าเว็บเหล่านั้น
รูปแบบนี้เหมาะกับคำถามเกี่ยวกับสิ่งที่มีการเปลี่ยนแปลง: ราคา การเปิดตัว กฎ ตารางเวลา และข่าว ยังเหมาะกับคำถาม long-tail ที่เอกสารของคุณเองไม่เคยครอบคลุม ค่าใช้จ่ายคือการค้นหาหนึ่งครั้งต่อคำถาม หรือสองครั้งเมื่อครั้งแรกพลาด
เก็บสิ่งที่มั่นคงและเป็นของคุณ ดึงสิ่งที่เปลี่ยนแปลง คู่มือผลิตภัณฑ์ นโยบายภายใน และเอกสารของคุณเองอยู่ในดัชนีเวกเตอร์ รีเฟรชตามตาราง ราคาคู่แข่ง กฎระเบียบ และข่าว อยู่ในขอบเขตการดึงสด
หลายทีมใช้ทั้งสองอย่างร่วมกัน ค้นหาดัชนีของตัวเองก่อน แล้วเรียกเว็บเฉพาะเมื่อดัชนีไม่มีการจับคู่ที่ดี หรือเมื่อคำถามกล่าวถึงวันที่ล่าสุด
หากคุณตัดสินใจเก็บหน้าเว็บที่ดึงมา โปรดทราบจุดยืนของเรา: เราไม่ฝึกโมเดลใดๆ ด้วยคำค้นหาของคุณหรือข้อมูลที่ API ส่งกลับ และเราไม่เพิ่มกฎของเราเองต่อต้านการจัดเก็บผลลัพธ์; สิทธิ์ของเว็บไซต์ที่คุณอ่านหน้ายังคงมีผล ตรวจสอบข้อกำหนดของแต่ละเว็บไซต์ก่อนสร้างสำเนาถาวรของเนื้อหา
แบ่งแต่ละหน้าตามหัวข้อ แล้วตัดส่วนที่ยาวเกินให้เป็นความยาวคงที่ Markdown ทำให้เรื่องนี้ง่าย เพราะหัวข้อคือบรรทัดที่เริ่มด้วย # เก็บ URL ต้นทางและชื่อเรื่องไว้ในทุก chunk เพื่อให้การอ้างอิงอยู่รอดหลังการแบ่ง
ตัวอย่างด้านล่างค้นหา อ่านสามหน้า แบ่งเป็น chunk แล้วเลือกหก chunk ที่มีคำร่วมกับคำถามมากที่สุด ในโปรดักชันให้แทนการนับคำด้วย embedding model ของคุณ โครงสร้างยังเหมือนเดิม
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}"
)สามหน้าเป็นจุดเริ่มต้นที่ดี และทำให้การค้นหาอยู่ที่หนึ่งเครดิต คำถามเชิงข้อเท็จจริงส่วนใหญ่ตอบได้ในสองหรือสามหน้าแรกของคำค้นหาที่ดี
ขอหน้าเว็บที่ยาวกว่าที่จะขอใน chat agent เพราะ chunker จะทิ้งข้อความส่วนใหญ่อยู่แล้ว max_chars ที่ 10,000 ถึง 15,000 ต่อหน้าทำให้ ranker มีให้เลือกเพียงพอ หากคำตอบขึ้นอยู่กับเว็บไซต์ที่รู้จักเพียงแห่งเดียว ให้เพิ่มด้วย include_domains แทนการอ่านหน้าเพิ่ม
ใส่หมายเลขให้แหล่งข่าวใน prompt และขอให้ตอบด้วยหมายเลขเหล่านั้น คำสั่งสั้น ๆ ได้ผลดี: ใช้เฉพาะ context อ้างอิงทุกข้อกล่าวอ้างเป็น [n] และบอกเมื่อ context ไม่ครอบคลุมคำถาม
วางรายการแหล่งข่าวไว้ท้าย prompt โดยมีหนึ่ง URL ต่อหนึ่งหมายเลข จากนั้นแสดง [n] เป็นลิงก์ในอินเทอร์เฟซของคุณ ผู้ใช้ไว้วางใจคำตอบที่ตรวจสอบได้ และการอ้างอิงที่ผิดสังเกตได้ง่ายในการรีวิว
ข้ามมันและใช้หน้าอื่น ทุกผลลัพธ์มี content_status เฉพาะผลลัพธ์ ok เท่านั้นที่มีข้อความ หน้าเว็บอาจหายไปเพราะ ตัวอ่านของเราเคารพ robots.txt: แนะนำตัวว่าเป็น LLMWebSearch ทำตามกฎที่เว็บไซต์เขียนไว้สำหรับมันหรือสำหรับ robots ทั้งหมด และละเว้นเนื้อหาของหน้าใดก็ตามที่มันไม่ได้รับอนุญาตให้อ่าน
เมื่อทุกหน้าของการค้นหากลับมาว่างเปล่า ให้ลองอีกครั้งด้วยคำค้นหาอื่น หรือเพิ่ม include_domains สำหรับเว็บไซต์ที่คุณรู้ว่าเปิดอยู่ เมื่อเว็บไซต์ปิดกั้นตัวอ่านของเรา ผลลัพธ์จะกลับมาโดยไม่มีเนื้อหาและมีสถานะของเว็บไซต์: เราไม่แก้ CAPTCHA ไม่ลงชื่อเข้าใช้บัญชี และไม่หลบเลี่ยงการบล็อกหรือ paywall.
ส่วนใหญ่หนึ่งการค้นหาต่อคำถาม ผู้ช่วยฝ่ายสนับสนุนที่ตอบ 5,000 คำถามต่อเดือน โดยค้นหาครั้งที่สองสำหรับหนึ่งในห้าคำถาม ใช้ประมาณ 6,000 การค้นหา ค้นหา 25,000 ครั้ง ที่ US$41.25 ครอบคลุมสี่เดือนในลักษณะนั้น
โมเดลของคุณยังอ่าน chunk ที่คุณส่งให้ด้วย หก chunk ขนาด 1,200 ตัวอักษรเพิ่มประมาณ 2,000 token ต่อคำถาม ซึ่งคุณควบคุมได้ผ่านขนาดและจำนวน chunk
หนึ่งเครดิตต่อหนึ่งคำถามสำหรับ pipeline ส่วนใหญ่ เครดิตการค้นหาไม่มีวันหมดอายุ: สิ่งที่คุณไม่ได้ใช้ในเดือนนี้ยังอยู่ให้ใช้ในปีหน้า
5,000 การค้นหา
US$9.25
US$1.85/1K การค้นหา
ค้นหา 25,000 ครั้ง
US$41.25
US$1.65/1K การค้นหา
ค้นหา 100,000 ครั้ง
US$145
US$1.45/1K การค้นหา
ในทุกแพ็กเกจ: อ่าน 3 หน้าแรกเป็น Markdown · ตัวกรองประเทศ ภาษา เวลา และโดเมน · การเรียกที่ไม่สำเร็จไม่ถูกเรียกเก็บเงิน · เครดิตไม่มีวันหมดอายุ
ได้ หน้า LangChain และ LlamaIndex ใช้ห่อการค้นหาเป็น retriever และเป็น tool
ได้ ด้วย extract endpoint การอ่านหน้าเว็บที่คุณมี URL อยู่แล้วใช้ 1 เครดิตต่อกลุ่ม 3 หน้าที่เริ่มอ่านและส่งกลับพร้อมเนื้อหา สูงสุด 20 URL ต่อการเรียก; URL ที่ถูกปฏิเสธหรือล้มเหลวไม่ถูกนับ
ไม่ แต่ละการเรียกทิ้งบันทึกไว้หนึ่งบรรทัด: เวลา บัญชี อักขระ 60 ตัวแรกของคำค้นหา จำนวนผลลัพธ์และหน้าที่ส่งกลับ และเครดิต บรรทัดถูกลบหลัง 30 วัน ไม่มีการเก็บเนื้อหาของหน้าที่เราอ่าน หมายเลขบัญชี คำสั่งซื้อ การเติมเงิน และยอดเครดิตรวมยังคงอยู่ตราบเท่าที่บัญชียังมีอยู่ จากนั้นเก็บไว้เพียงเท่าที่กฎหมายบัญชีกำหนด หน่วยงานได้รับบันทึกเฉพาะเมื่อกฎหมายบังคับเรา
ได้ ตั้งค่า language และ country เช่น language=de และ country=de สำหรับผลลัพธ์ภาษาเยอรมันจากประเทศเยอรมนี
เริ่มต้นที่ US$1.20/1K การค้นหา · ไม่ต้อง KYC
รับ API key