README
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.
- Trang chủ: https://vespa.ai
- Tài liệu: https://docs.vespa.ai
- Xây dựng liên tục: https://factory.vespa.ai
- Chạy các ứng dụng trên đám mây miễn phí: vespa.ai/free-dùng thử
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
- cài đặt JDK17, Trình quản lý phiên bản Maven và jEnv thông qua Homebrew.
brew install jenv mvnvm openjdk@17
- Để 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
- 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ì
zshsử 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
- Thêm JDK17 vào jEnv
jenv add $(/usr/libexec/java_home -v 17)
- 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 .java và mvnvm.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
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.
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ở.
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 客户端
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
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.
Độ 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