
สตาร์คเป็นเกณฑ์มาตรฐานการดึงข้อมูลกึ่งโครงสร้างขนาดใหญ่เกี่ยวกับฐานความรู้เชิงข้อความและเชิงสัมพันธ์ครอบคลุมแอปพลิเคชันในการค้นหาผลิตภัณฑ์การค้นหากระดาษวิชาการและการสอบถามทางชีวการแพทย์
นำเสนอการสืบค้นที่หลากหลายเป็นธรรมชาติและเป็นจริงที่ต้องใช้การใช้เหตุผลเฉพาะบริบทโดย Stark กำหนดมาตรฐานใหม่สำหรับการประเมินระบบการดึงข้อมูลในโลกแห่งความเป็นจริงซึ่งขับเคลื่อนโดย LLMS และนำเสนอความท้าทายที่สำคัญสำหรับการวิจัยในอนาคต
ตรวจสอบเว็บไซต์ของเราเพื่อดูภาพรวมเพิ่มเติม!
ด้วย Python> = 3.8 และ <3.12
pip install stark-qa สร้าง conda env ด้วย python> = 3.8 และ <3.12 และติดตั้งแพ็คเกจที่ต้องการใน requirements.txt
conda create -n stark python=3.11
conda activate stark
pip install -r requirements.txt from stark_qa import load_qa , load_skb
dataset_name = 'amazon'
# Load the retrieval dataset
qa_dataset = load_qa ( dataset_name )
idx_split = qa_dataset . get_idx_split ()
# Load the semi-structured knowledge base
skb = load_skb ( dataset_name , download_processed = True , root = None ) อาร์กิวเมนต์รูทสำหรับ load_skb ระบุตำแหน่งเพื่อจัดเก็บข้อมูล SKB ด้วยค่าเริ่มต้น None ข้อมูลจะถูกเก็บไว้ในแคช HuggingFace
คู่คำถามคำตอบสำหรับงานดึงข้อมูลจะถูกดาวน์โหลดโดยอัตโนมัติใน data/{dataset}/stark_qa โดยค่าเริ่มต้น เราให้การแยกอย่างเป็นทางการใน data/{dataset}/split
มีสองวิธีในการโหลดข้อมูลฐานความรู้:
download_processed=Truedownload_processed=False ในกรณีนี้ Stark-Primekg ใช้เวลาประมาณ 5 นาทีในการดาวน์โหลดและโหลดข้อมูลที่ประมวลผล Stark-Amazon และ Stark-Mag อาจใช้เวลาประมาณหนึ่งชั่วโมงในการประมวลผลจากข้อมูลดิบ หากคุณกำลังใช้งาน Eval คุณสามารถติดตั้งแพ็คเกจต่อไปนี้:
pip install llm2vec gritlm bm25 การประเมินผลของเราต้องการการฝังเอกสารโหนดลงใน candidate_emb_dict.pt ซึ่งเป็นพจนานุกรม node_id -> torch.Tensor Embeddings แบบสอบถามจะถูกสร้างขึ้นโดยอัตโนมัติหากไม่มี คุณสามารถเรียกใช้สคริปต์ Python ต่อไปนี้เพื่อดาวน์โหลด embeddings แบบสอบถามและเอกสารฝังตัวที่สร้างขึ้นโดย text-embedding-ada-002 (เราให้พวกเขาเพื่อให้คุณสามารถวิ่งตามมาตรฐานของเราได้ทันที)
python emb_download.py --dataset amazon --emb_dir emb/หรือคุณสามารถเรียกใช้รหัสต่อไปนี้เพื่อสร้างแบบสอบถามหรือเอกสารฝังตัวด้วยตัวเอง เช่น
python emb_generate.py --dataset amazon --mode query --emb_dir emb/ --emb_model text-embedding-ada-002dataset : หนึ่งใน amazon , mag หรือ primemode : เนื้อหาที่จะฝังหนึ่งใน query หรือ doc (เอกสารโหนด)emb_dir : ไดเรกทอรีเพื่อจัดเก็บการฝังตัวemb_model : ชื่อ LLM เพื่อสร้างการฝังตัวเช่น text-embedding-ada-002 , text-embedding-3-large ,, voyage-large-2-instruct , GritLM/GritLM-7B , McGill-NLP/LLM2Vec-Meta-Llama-3-8B-Instruct-mntpemb_generate.py สำหรับอาร์กิวเมนต์อื่น ๆเรียกใช้สคริปต์ Python สำหรับการประเมินผล เช่น
python eval.py --dataset amazon --model VSS --emb_dir emb/ --output_dir output/ --emb_model text-embedding-ada-002 --split test --save_pred python eval.py --dataset amazon --model VSS --emb_dir emb/ --output_dir output/ --emb_model GritLM/GritLM-7B --split test-0.1 --save_pred python eval.py --dataset amazon --model LLMReranker --emb_dir emb/ --output_dir output/ --emb_model text-embedding-ada-002 --split human_generated_eval --llm_model gpt-4-1106-preview --save_predคีย์ args:
dataset : ชุดข้อมูลเพื่อประเมินหนึ่งใน amazon , mag หรือ primemodel : แบบจำลองที่จะได้รับการประเมินหนึ่งใน BM25 , Colbertv2 , VSS , MultiVSS , LLMReranker--emb_modelLLMReranker โปรดระบุชื่อ LLM พร้อมอาร์กิวเมนต์ --llm_model export ANTHROPIC_API_KEY=YOUR_API_KEY
export OPENAI_API_KEY=YOUR_API_KEY
export OPENAI_ORG=YOUR_ORGANIZATION
export VOYAGE_API_KEY=YOUR_API_KEY
emb_dir : ไดเรกทอรีเพื่อจัดเก็บการฝังตัวsplit : การแยกเพื่อประเมินหนึ่งใน train , val , test , test-0.1 (ตัวอย่างสุ่ม 10%) และ human_generated_eval (เพื่อประเมินในชุดข้อมูลการสืบค้นมนุษย์ที่สร้างขึ้น)output_dir : ไดเรกทอรีเพื่อจัดเก็บเอาต์พุตการประเมินผลsurfix : ระบุเมื่อ embeddings ที่เก็บไว้ในโฟลเดอร์ doc{surfix} หรือ query{surfix} , เช่น _no_compact, โปรดพิจารณาอ้างถึงบทความของเราหากคุณใช้เกณฑ์มาตรฐานหรือรหัสในงานของคุณ:
@inproceedings{wu24stark,
title = {STaRK: Benchmarking LLM Retrieval on Textual and Relational Knowledge Bases},
author = {
Shirley Wu and Shiyu Zhao and
Michihiro Yasunaga and Kexin Huang and
Kaidi Cao and Qian Huang and
Vassilis N. Ioannidis and Karthik Subbian and
James Zou and Jure Leskovec
},
booktitle = {NeurIPS Datasets and Benchmarks Track},
year = {2024}
}