29 คะแนน โดย flamehaven01 2025-11-13 | 4 ความคิดเห็น | แชร์ทาง WhatsApp

🔥Flamehaven FileSearch

  • Flamehaven FileSearch คือ เอนจินค้นหาเชิงความหมายแบบโอเพนซอร์สที่โฮสต์เองได้ ซึ่งช่วยให้ใครก็ตามสามารถสร้างระบบ RAG (Retrieval-Augmented Generation) ที่อิงเอกสารได้ภายใน 5 นาที
  • ทำงานบนพื้นฐานของ Python, FastAPI และ SQLite และใช้ Google Gemini Embedding เพื่อทำ การถาม-ตอบด้วยภาษาธรรมชาติ จากเอกสารหลากหลายประเภท เช่น PDF/DOCX/TXT/MD

ทำไมถึงสร้างมันขึ้นมา?

  • โครงการ RAG แบบโอเพนซอร์สส่วนใหญ่ทำงานได้ดีในสภาพแวดล้อมอย่าง Colab หรือ Jupyter แต่เมื่อจะนำขึ้นเซิร์ฟเวอร์เพื่อใช้งานจริง มักมีโครงสร้างที่ซับซ้อนเกินไปหรือยังขาดเสถียรภาพ
  • Flamehaven FileSearch ถูกออกแบบภายใต้เป้าหมาย “สแตก RAG ขนาดเบาที่ใช้งานได้จริง” เพื่อให้นักวิจัย สตาร์ทอัป และนักพัฒนารายบุคคลสามารถทดลองค้นหาเชิงความหมายกับข้อมูลของตนเองได้ทันที

ทำไมจึงน่าจับตา?

  • อิสระอย่างสมบูรณ์: ไม่ต้องพึ่งพาเซิร์ฟเวอร์ภายนอกหรือคลาวด์ และข้อมูลทั้งหมดถูกเก็บไว้ในเครื่องโลคัล
  • โครงสร้างที่เน้นนักพัฒนา: Python SDK + REST API พร้อมเอกสาร Swagger ที่สร้างอัตโนมัติบน FastAPI
  • เผยแพร่เป็นแพ็กเกจบน PyPI: ติดตั้งได้ทันทีจาก PyPI — เพียงบรรทัดเดียว pip install flamehaven-filesearch[api] ก็ติดตั้งแบบอัตโนมัติครบชุด
  • พร้อมใช้งานทันที: หลังติดตั้งสามารถรันเซิร์ฟเวอร์ได้ทันทีด้วยคำสั่ง flamehaven-api และทดสอบ API ได้ที่ /docs บนเบราว์เซอร์
  • ขยายต่อได้: รองรับที่เก็บข้อมูลแบบ SQLite, สถาปัตยกรรมปลั๊กอิน และการดีพลอยด้วย Docker
  • เหมาะกับการศึกษา/วิจัย: ใช้ Gemini Embedding จึงเหมาะอย่างยิ่งสำหรับการฝึกปฏิบัติด้าน semantic search บนพื้นฐาน LLM รุ่นใหม่

มีอะไรอยู่ข้างในบ้าง? (ไฮไลต์)

  • Python SDK: from flamehaven_filesearch import FlamehavenFileSearch

    → มีฟังก์ชันครบสำหรับอัปโหลดเอกสาร / ค้นหา / จัดการสโตร์

  • REST API: เอนด์พอยต์ /upload, /search, /stores + Swagger UI

  • รองรับ Docker: docker run -e GEMINI_API_KEY=... -p 8000:8000 flamehaven/filesearch:latest

  • โครงสร้าง: core(เอนจิน) / api(FastAPI) / data(SQLite) / examples / docs


ลองใช้อย่างรวดเร็ว

1️⃣ แพ็กเกจ PyPI

Flamehaven FileSearch สามารถติดตั้งได้ทันทีผ่าน PyPI

ดูเวอร์ชันล่าสุด: https://pypi.org/project/flamehaven-filesearch

pip install flamehaven-filesearch[api]  

2️⃣ ติดตั้ง

pip install flamehaven-filesearch[api]  
export GEMINI_API_KEY="your-google-gemini-key"  
flamehaven-api  
  

3️⃣ อัปโหลดเอกสารและค้นหา

curl -X POST "http://localhost:8000/upload"; -F "file=@handbook.pdf"  
curl "http://localhost:8000/search?q=vacation+policy";  
  

4️⃣ ตัวอย่างการใช้ SDK

from flamehaven_filesearch import FlamehavenFileSearch  
fs = FlamehavenFileSearch()  
fs.upload_file("handbook.pdf")  
print(fs.search("vacation policy")["answer"])  
  

ประสิทธิภาพและสเปก

  • สภาพแวดล้อม: Ubuntu 22.04 / 2vCPU / 4GB RAM / SSD
  • อัปโหลด PDF ขนาด 10MB → ประมาณ 5 วินาที
  • เวลาเฉลี่ยในการตอบกลับการค้นหา → 2 วินาที (เมื่ออ้างอิงแหล่งข้อมูล 5 รายการ)
  • การลบ/สร้างสโตร์ → ภายใน 1 วินาที
  • โอเวอร์เฮดของสตอเรจ → ประมาณ 5% ของขนาดเอกสาร

โรดแมป

  • v1.1 : แคชและการจัดการโควตา
  • v1.2 : การค้นหาแบบแบตช์ + WebSocket streaming
  • v2.0 : รองรับเอกสารหลายภาษา, แดชบอร์ดวิเคราะห์
  • อนาคต : ผสาน Pinecone/Weaviate vector DB, OCR, collaborative store

ใบอนุญาต

  • MIT License (โอเพนซอร์สเต็มรูปแบบ)

🛡️ ประกาศด้านความปลอดภัยและบัญชี GitHub ของ Flamehaven

เมื่อไม่นานมานี้ มีการตรวจพบความพยายามเข้าสู่ระบบที่น่าสงสัยในบัญชี GitHub ของ Flamehaven (บัญชีหลักนี้) ส่งผลให้บัญชีอยู่ในสถานะถูกระงับชั่วคราว ขณะนี้กำลังร่วมมือกับทีมความปลอดภัยของ GitHub เพื่อตรวจสอบปัญหา

จากเหตุการณ์ครั้งนี้ บัญชีที่มี dir2md, flashrecord, crom-efficient และ Arr-medic-cyp3a4 รวมอยู่ด้วย จะหยุดใช้งานชั่วคราวไปก่อนในระยะนี้

ขออภัยผู้ใช้งานทุกท่านอย่างจริงใจสำหรับความไม่สะดวก และขอความกรุณาให้รอสักระยะจนกว่าการตรวจสอบด้านความปลอดภัยจะเสร็จสิ้น

4 ความคิดเห็น

 
flamehaven01 2025-12-09

อัปเดต: เปิดตัว v1.2.2

หลังจากโพสต์ก่อนหน้านี้ ตอนนี้อัปเดตมาถึง v1.2.2 แล้ว ณ วันนี้
สรุปเฉพาะการเปลี่ยนแปลงแบบสั้น ๆ ได้ดังนี้:

เสริมการทดสอบ/ความเสถียร

บริการเข้ารหัส: ทดสอบเส้นทาง round trip ของ encrypt/decrypt ที่อิงกับคีย์ env + เส้นทาง invalid token

การค้นหาแบบแบตช์: คิวลำดับความสำคัญแบบขนาน, บริการที่ยังไม่ได้เริ่มต้น → 503, แยกข้อยกเว้นตามแต่ละคิวรี

Redis cache: ใช้ in-memory fake client เพื่อทดสอบ get/set/delete/clear + การพร้อมใช้งาน

รวม cache_redis.py ที่ก่อนหน้านี้ตกหล่นจาก coverage เข้าเป็นเป้าหมายของ coverage

ความพร้อมของบริการ (Service readiness)

เมื่อเซิร์ฟเวอร์เริ่มทำงานครั้งแรก จะสร้างสโตร์พื้นฐานและเอกสาร fallback ขนาดเล็กโดยอัตโนมัติ

แม้จะยังไม่ได้อัปโหลดอะไรเลย /search และ /health ก็จะตอบกลับ 200 ได้ทันที
→ นำไปใช้กับเดโม/CI health check/การบูตเอเจนต์ได้ทันที

การจัดระเบียบด้านการปฏิบัติการ

จัดระเบียบสตริงเวอร์ชัน, log metadata, Prometheus label และชื่อ OpenAPI ให้เป็น v1.2.2

Redis ยังเป็นตัวเลือกเหมือนเดิม และถ้าไม่มี ก็จะ fallback ไปใช้ in-process LRU cache อย่างเป็นธรรมชาติ

ไม่มี breaking change ผู้ใช้เดิมอัปเกรดได้ตามปกติ
ตอนนี้กำลังค่อย ๆ ปรับให้เป็นฝั่งที่ “พร้อมใช้งานในระบบจริงได้ทันที” มากขึ้นเรื่อย ๆ.

 
flamehaven01 2025-11-29

🚀 เปิดตัว Flamehaven Filesearch v1.2.1!

ขอเปิดเผย Flamehaven Filesearch เวอร์ชันล่าสุด v1.2.1 ที่ได้รับการปรับปรุงอย่างต่อเนื่องนับตั้งแต่การอัปเดตครั้งก่อน โดยรีลีสครั้งนี้มุ่งเน้นไปที่การเสริมความปลอดภัย การขยายเครื่องมือสำหรับผู้ดูแล และการปรับปรุงความสะดวกในการปฏิบัติการ

🔐 อัปเดตหลัก
🔺เพิ่ม Admin Cache Controls
สามารถตรวจสอบสถานะแคชและสั่งล้างแคชได้ผ่านเส้นทาง /api/admin/cache/stats และ /api/admin/cache/flush (สำหรับ Admin เท่านั้น)

🔺เสริมสิทธิ์ของ API Key
คีย์ที่ไม่มีสิทธิ์ Admin จะได้รับ 403 เมื่อใช้ฟังก์ชันผู้ดูแล
API Key ใหม่จะมีสิทธิ์ admin รวมอยู่โดยค่าเริ่มต้น

🔺นำ IAMProvider Hook มาใช้
เตรียมโครงสร้างสำหรับการผสานรวม OIDC/IAM backend ในอนาคต

🔺ขยาย Metrics
เพิ่ม Cache, health_status และ prometheus placeholder เพื่อช่วยให้ใช้งานแดชบอร์ดได้ดีขึ้น

🔺อัปเดต Frontend
เชื่อมหน้า Cache / Metrics เข้ากับ backend
เชื่อมฟังก์ชันกรอก Token ในหน้า Upload / Admin
ปรับปรุงหน้า Landing และ Dashboard ใหม่

🔺เสริมการทดสอบ
เพิ่ม test_admin_cache.py เพื่อนำการทดสอบ Admin API ที่เกี่ยวข้องกับแคชเข้ามาใช้

🔺อัปเดตเอกสาร
อัปเดตเวอร์ชันใน README และเสริมคู่มือด้านความปลอดภัย รวมถึงตัวแปรสภาพแวดล้อม FLAMEHAVEN_ENC_KEY

🐛 Fixed

บล็อกการเข้าถึง (403) เมื่อมีการร้องขอฟังก์ชันผู้ดูแลโดยไม่มีสิทธิ์ Admin

🔗 GitHub: https://github.com/flamehaven01/Flamehaven-Filesearch

เวอร์ชันนี้ยังได้วางรากฐานสำหรับการผสานรวม IAM และการยกระดับแดชบอร์ดที่วางแผนไว้ในอนาคตด้วย

 
flamehaven01 2025-11-19

เมื่อวานได้ปล่อย Flamehaven FileSearch v1.2.0 แล้ว เวอร์ชันนี้มุ่งเน้นการเปลี่ยนทั้งบริการจาก “public API” ไปเป็นแพลตฟอร์มระดับองค์กรที่เน้นความปลอดภัยและการขยายระบบ

การเปลี่ยนแปลงหลักมีดังนี้:

เพิ่มระบบยืนยันตัวตนและสิทธิ์การใช้งาน API
ทุก protected endpoint ต้องใช้การยืนยันตัวตนแบบ Bearer Token
API Key รองรับสิทธิ์แบบละเอียด เช่น อัปโหลด/ค้นหา/store/ลบ พร้อม rate limit แยกตามคีย์, audit log และการจัดเก็บเป็น SHA256 hash (ไม่เก็บคีย์ต้นฉบับ)

เพิ่ม Admin Dashboard
เป็นเว็บ UI สำหรับสร้าง/ดู/เพิกถอน API Key รวมถึงดูสถิติคำขอและการกระจายการใช้งานของ endpoint
เขียนด้วย HTML/CSS/JS แบบบรรจุครบในตัวทั้งหมด จึงไม่มี dependency ภายนอก

Batch Search API
รองรับการประมวลผล 1–100 คิวรีในคำขอเดียว
มีโหมดรันแบบขนาน/ตามลำดับ, การจัดเรียงตามลำดับความสำคัญ, การแยกข้อผิดพลาดรายคิวรี และเมตริกด้านเวลาที่ละเอียด

Redis cache backend
เป็นตัวเลือก distributed cache สำหรับสภาพแวดล้อมแบบ multi-worker
มีเวลาในการดึงข้อมูล <10ms, automatic LRU fallback และช่วยลดจำนวนการเรียก LLM ได้ 40–60%

มีเทมเพลตสำหรับ deployment (Docker/Kubernetes)
มีตัวอย่าง Docker, Docker Compose และ Kubernetes (ConfigMap/Secret/Deployment) ให้พร้อมใช้งานได้ทันที

สรุปประสิทธิภาพ:

cache hit: <10ms

cache miss (เรียก LLM): ~0.5–3s

Batch Search (10 รายการ): ~2–5s

GitHub: https://github.com/flamehaven01/Flamehaven-Filesearch

หากมีข้อเสนอแนะเกี่ยวกับการออกแบบความปลอดภัย, การใช้งาน API หรือโครงสร้างการ deploy ยินดีต้อนรับเสมอ
v1.2.1 (ปรับปรุงการยืนยันตัวตนของแอดมิน, Redis settings UI) และ v1.3.0 (key rotation + OAuth2/OIDC) กำลังอยู่ระหว่างเตรียมการ

 
flamehaven01 2025-11-13

วันนี้ได้ปล่อย v1.1.0 แล้ว

เวอร์ชันนี้มีการปรับปรุงหลัก ๆ ได้แก่ แพตช์ช่องโหว่ path traversal, อัปเดตความปลอดภัยของ FastAPI/Starlette, การติดตาม request ID, rate limit, แคช (hit <10ms), และการเพิ่ม Prometheus metrics เป็นต้น โดยทำงานได้เสถียรกว่าเวอร์ชันก่อนหน้าอย่างมาก

อัปเดตครั้งนี้ยังคงมุ่งเน้นไปที่สถาปัตยกรรมที่มีน้ำหนักเบาและสามารถโฮสต์เองได้ ขอบคุณครับ