
repo นี้มีการใช้งาน SearchTheArxiv.com ซึ่งเป็นเครื่องมือค้นหาความหมายแบบง่าย ๆ สำหรับเอกสารมากกว่า 300,000 มล. บน arxiv (และการนับ) รหัสถูกแยกออกเป็นสองส่วน app และ data app ประกอบด้วยการใช้งานทั้งส่วนหน้าและแบ็คเอนด์ของเว็บแอปในขณะที่ data มีหน้าที่รับผิดชอบในการอัปเดตฐานข้อมูลในช่วงเวลาปกติโดยใช้ OpenAI และ Pinecone ทั้ง app และ data มี DockerFile เพื่อให้ง่ายต่อการปรับใช้กับแพลตฟอร์มคลาวด์ ฉันไม่คาดหวังว่าจะมีใครทำโคลนของโครงการด้วยตัวเอง (นั่นจะแปลก) แต่มันอาจเป็นแรงบันดาลใจให้กับผู้คนที่สร้างเครื่องมือค้นหาแบบความหมายแบบเดียวกัน
ในการเรียกใช้รหัสคุณต้องจัดหารายการตัวแปรสภาพแวดล้อมต่อไปนี้:
KAGGLE_USERNAME=your_kaggle_username
KAGGLE_API_KEY=your_kaggle_api_key
OPENAI_API_KEY=your_openai_api_key
PINECONE_API_KEY=your_pinecone_api_key
PINECONE_INDEX_NAME=your_pinecone_index_name
รหัสผู้ใช้ Kaggle และ API จำเป็นต้องใช้เพื่อดึงข้อมูลเมตาของอาร์กซิฟดูแลรักษา (และอัปเดตทุกสัปดาห์) โดย Cornell University คีย์ OpenAI API ใช้ในการฝังเอกสารใหม่โดยใช้โมเดล text-embedding-ada-002 คีย์ Pinecone API และชื่อดัชนีใช้เพื่อเชื่อมต่อกับดัชนี (เช่นฐานข้อมูลเวกเตอร์) ที่โฮสต์บน pinecone
หากคุณสนใจเฉพาะการฝังตัวฉันได้เผยแพร่ชุดข้อมูลเต็มรูปแบบบน Kaggle ขนาดปัจจุบันอยู่ที่ประมาณ 10GB แต่เพิ่มขึ้นเล็กน้อยทุกสัปดาห์เมื่อมีการเพิ่มเอกสารใหม่
หากด้วยเหตุผลบางอย่างคุณยังต้องการฝังเอกสารด้วยตัวคุณเองคุณสามารถเรียก embed.py ข้อมูลได้ใน data หลังจากดาวน์โหลดข้อมูลเมตาจาก Kaggle ตั้งค่าตัวแปรสภาพแวดล้อมและสร้างดัชนี PineCone หากคุณไม่ต้องการใช้ Pinecone คุณมีอิสระที่จะแก้ไขรหัสตามที่คุณต้องการ เนื่องจากดัชนีจะว่างเปล่าในขั้นต้นสคริปต์จะฝังเอกสาร ML ทั้งหมด (อีกครั้งมากกว่า 300,000) อย่างไรก็ตามก่อนที่จะทำเช่นนั้นมันจะประเมินราคาโดยใช้ Tiktoken tokenizer ของ Openai และขอให้คุณยืนยัน คุณสามารถข้ามขั้นตอนนี้ได้โดยใช้ python3 embed.py --no-confirmation
ถ้าคุณชอบ SearchTheArxiv.com และต้องการดูสิ่งที่ดีขึ้นอย่าลังเลที่จะส่งคำขอดึง?