RepoTrending
Về bảng xếp hạng
GitHubRAG / Truy hồiJava

vespa-engine/vespa

Nền tảng tìm kiếm AI

7.1k sao735 fork

README

#Vespa

Build status GitHub License Maven metadata URL

Tìm kiếm, suy luận và sắp xếp các vectơ, tensor, văn bản và dữ liệu có cấu trúc tại thời điểm cung cấp và ở bất kỳ tỷ lệ nào.

Kho lưu trữ này chứa tất cả mã cần thiết để tự xây dựng và chạy tất cả Vespa và là nơi bạn có thể xem mọi quá trình phát triển khi nó diễn ra. Tất cả nội dung trong kho lưu trữ này được cấp phép theo giấy phép Apache 2.0.

Bản phát hành mới của Vespa được tạo từ nhánh chính của kho lưu trữ này vào mỗi buổi sáng CET từ thứ Hai đến thứ Năm.

Mục lục

Nền

Các trường hợp sử dụng như tìm kiếm, đề xuất và cá nhân hóa cần chọn một tập hợp con dữ liệu trong một kho dữ liệu lớn, đánh giá các mô hình máy học dựa trên dữ liệu đã chọn, sắp xếp, tổng hợp và trả về dữ liệu đó, thường trong chưa đầy 100 mili giây, trong khi kho dữ liệu liên tục thay đổi.

Điều này khó thực hiện, đặc biệt với các tập dữ liệu lớn cần được phân phối trên nhiều nút và được đánh giá song song. Vespa là nền tảng thực hiện các hoạt động này cho bạn với tính sẵn sàng và hiệu suất cao. Nó đã được phát triển trong nhiều năm và được sử dụng trên một số dịch vụ và ứng dụng internet lớn, phục vụ hàng trăm nghìn truy vấn từ Vespa mỗi giây.

cài đặt

Triển khai các ứng dụng Vespa của bạn lên dịch vụ đám mây: console.vespa-cloud.comhoặc chạy phiên bản Vespa của riêng bạn: https://docs.vespa.ai/en/getting-started.html

Cách sử dụng

  • Ứng dụng được tạo trong hướng dẫn bắt đầu được liên kết ở trên có đầy đủ chức năng và sẵn sàng sản xuất nhưng bạn có thể muốn thêm nhiều nút hơn cho sự dư thừa.
  • Xem phát triển ứng dụng về việc thêm các thành phần Java của riêng bạn vào ứng dụng Vespa của bạn.
  • API Vespa rất hữu ích để hiểu cách giao tiếp với Vespa
  • Khám phá ứng dụng mẫu
  • Theo dõi Blog Vespa để cập nhật tính năng/trường hợp sử dụng
  • Tham gia Cộng đồng Vespa Slack đặt câu hỏi và chia sẻ phản hồi

Tài liệu đầy đủ có tại https://docs.vespa.ai.

Đóng góp

Chúng tôi hoan nghênh những đóng góp! Xem ĐÓNG GÓP.md để học cách đóng góp.

Nếu bạn muốn đóng góp cho tài liệu, hãy xem https://GitHub.com/vespa-engine/documentation

tòa nhà

Bạn không cần phải chế tạo Vespa để sử dụng nó, nhưng nếu muốn đóng góp, bạn cần có khả năng xây dựng mã. Phần này giải thích cách chế tạo và thử nghiệm Vespa. Để hiểu nơi thực hiện thay đổi, hãy xem Mã-map.md. Một số cải tiến được đề xuất với con trỏ tới mã có trong TODO.md.

Môi trường phát triển

Việc xây dựng C++ và Java được hỗ trợ trên AlmaLinux 8. Nguồn Java cũng có thể được xây dựng trên bất kỳ nền tảng nào có cài đặt Java 17 và Maven 3.8+. Sử dụng hướng dẫn sau để thiết lập môi trường phát triển hoàn chỉnh bằng cách sử dụng Docker để xây dựng Vespa, chạy thử nghiệm đơn vị và chạy thử nghiệm hệ thống: Phát triển Vespa trên AlmaLinux 8.

Môi trường Java cho Mac

  1. cài đặt JDK17, Trình quản lý phiên bản MavenjEnv thông qua Homebrew.
brew install jenv mvnvm openjdk@17
  1. Để các trình bao bọc Java của hệ thống tìm thấy JDK này, hãy liên kết nó với
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
  1. Thực hiện theo "Định cấu hình trình bao của bạn" trong https://www.jenv.be. Cấu hình là shell cụ thể. Vì zsh sử dụng các lệnh dưới đây:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
eval "$(jenv init -)"
jenv enable-plugin export
exec $SHELL -l
  1. Thêm JDK17 vào jEnv
jenv add $(/usr/libexec/java_home -v 17)
  1. Xác minh cấu hình với Maven bằng cách thực hiện lệnh bên dưới trong thư mục gốc của mã nguồn. Đầu ra phải tham khảo phiên bản JDK và Maven được chỉ định trong phiên bản .javamvnvm.properties.
mvn -v

Xây dựng các mô-đun Java

export MAVEN_OPTS="-Xms128m -Xmx1024m"
./bootstrap.sh java
mvn install --threads 1C

Hãy sử dụng công cụ này nếu bạn chỉ cần xây dựng các mô-đun Java, nếu không hãy làm theo hướng dẫn phát triển đầy đủ ở trên.

Chạy thử nghiệm các tập lệnh shell (trên máy Mac)

Các tập lệnh Shell được thử nghiệm với Dơi. Để chạy thử nghiệm cục bộ, hãy cài đặt khung thử nghiệm và các plugin của nó.:

brew install node
sudo npm install -g bats bats-assert bats-support bats-mock

Xuất khẩu BATS_PLUGIN_PATH biến môi trường để trỏ đến thư mục mô-đun npm toàn cầu, chứa các plugin BATS:

export BATS_PLUGIN_PATH="$(npm root -g)"

Sau đó chạy tất cả các thử nghiệm bằng lệnh sau (từ thư mục gốc của kho lưu trữ):

bats -r .

Để chạy thử nghiệm cụ thể, hãy sử dụng:

bats test_dir/test_name.bats

Các thử nghiệm cũng có thể được chạy trong IntelliJ IDEA với BashHỗ trợ Pro plugin. Đảm bảo BATS_PLUGIN_PATH biến môi trường được xuất trước khi khởi chạy IDE để tránh đặt nó trong mỗi cấu hình chạy.

Giấy phép

Mã được cấp phép theo giấy phép Apache 2.0. Xem GIẤY PHÉP cho các điều khoản.

Dự án cùng danh mục

supabase/supabase

Nền tảng phát triển Postgres. Supabase cung cấp cho bạn cơ sở dữ liệu Postgres chuyên dụng để xây dựng các ứng dụng web, thiết bị di động và AI của bạn.

108k14k10 phút trước
GitHubRAG / Truy hồiTypeScript

opendataloader-project/opendataloader-pdf

Trình phân tích cú pháp PDF cho dữ liệu sẵn sàng cho AI. Tự động hóa khả năng truy cập PDF. Nguồn mở.

29k2.7k10 giờ trước
GitHubRAG / Truy hồiJava

zhaoxuya520/reverse-skill

Kỹ thuật đảo ngược / Kiểm tra thâm nhập được ủy quyền / Gói bộ định tuyến kỹ năng nghiên cứu bảo mật Định tuyến được hỗ trợ bởi AI + Khởi động chuỗi công cụ theo yêu cầu + Cơ sở kiến thức tự phát triển Hỗ trợ Claude Code, Kiro, Cursor, Cline và các ứng dụng khách mã hóa AI khác 逆向/渗透/安全技能路由包 - AI 自动路由 +按需自举工具链 + 自动进化经验库 | 支持 Claude Code / Kiro / Cursor / Cline 等代码 AI 客户端

29k3.9k17 giờ trước
GitHubRAG / Truy hồiPowerShell

RyanCodrai/turbovec

Chỉ mục vectơ được xây dựng trên TurboQuant, được viết bằng Rust với các liên kết Python

16k1.4k3 ngày trước
GitHubRAG / Truy hồiRust

xberg-io/xberg

Khung trí tuệ tài liệu đa ngôn ngữ có lõi Rust. Trích xuất văn bản, siêu dữ liệu, hình ảnh và dữ liệu có cấu trúc từ 101 định dạng (115 phần mở rộng tệp) cộng với mã thông minh cho 371 ngôn ngữ mã. 15 liên kết ngôn ngữ — Rust, Python, Ruby, Java, Go, PHP, Elixir, C#, TypeScript — cộng với máy chủ CLI, REST API và MCP.

9.2k5766 giờ trước
GitHubRAG / Truy hồiRust

Future-House/paper-qa

Độ chính xác cao RAG để trả lời các câu hỏi từ tài liệu khoa học có trích dẫn

9.1k91112 ngày trước
GitHubRAG / Truy hồiPython