VoyageAI by MongoDB: voyage-code-4
Voyage AI voyage-code-4 là mô hình embedding mã để tìm nguồn liên quan từ câu hỏi, mô tả vấn đề và mục tiêu của tác tử lập trình. Mô hình hỗ trợ đầu vào 32.000 token và 256, 512, 1024 hoặc 2048 chiều, với biểu diễn dấu phẩy động và lượng tử hóa.
Về mô hình
Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.
voyage-code-4 là mô hình embedding chuyên về mã của Voyage AI cho tìm kiếm kho mã và truy xuất của tác tử lập trình. Mô hình được thiết kế để giúp tìm nguồn liên quan khi điểm bắt đầu là câu hỏi, triệu chứng hoặc mô tả nhiệm vụ thay vì định danh đã biết. Nó biểu diễn mã và thông tin văn bản thành vector số để truy xuất; không chỉnh sửa kho mã hoặc sinh bản sửa lỗi.
Truy xuất mã từ vấn đề đang điều tra
Nhà sản xuất mô tả kho huấn luyện được tuyển chọn từ các pull request đã hoàn tất, liên kết truy vấn ngôn ngữ tự nhiên với mã. Đây là khác biệt có ý nghĩa so với ví dụ huấn luyện chủ yếu dựa trên tệp nguồn và docstring: nhiệm vụ truy xuất có thể bắt đầu từ hành vi cần điều tra.
Chuẩn bị truy vấn như “Tìm chỗ một kết quả rỗng khiến thao tác thành công bị báo là thất bại.” Lập chỉ mục các phần nguồn đọc được cùng đường dẫn tệp và chú thích liên quan. Giữ các điều kiện xung quanh hàm khi chúng giải thích hành vi. Ứng viên trả về nên dẫn người đọc hoặc tác tử về phần nguồn mà nó biểu diễn.
Truy xuất ngữ nghĩa có thể bổ sung tìm kiếm định danh chính xác và toàn văn. Nếu đã biết tên hàm, tra cứu chính xác vẫn hữu ích. Nếu chỉ biết triệu chứng, tìm kiếm vector có thể cung cấp ứng viên để kiểm tra rồi tinh chỉnh bằng truy vấn khác.
Vai trò query và document
Hướng dẫn truy xuất của Voyage phân biệt truy vấn với tài liệu trong kho bằng các kiểu đầu vào query/document. Với tìm mã, dùng mô tả vấn đề hoặc nhiệm vụ làm query và nguồn hoặc tài liệu đã lập chỉ mục làm document. Công thức được công bố thêm chỉ dẫn truy xuất theo vai trò khi tạo embedding.
Giữ định dạng mã gốc, tên và tài liệu liên quan sẵn có bên ngoài vector. Với phần nguồn, giữ đường dẫn tệp và vị trí; với hướng dẫn lập trình, giữ tiêu đề. Sau truy xuất, kiểm tra mã thực tế và các nơi gọi nó trước khi chọn chỉnh sửa. Độ liên quan của ứng viên không chứng minh đó là nguyên nhân duy nhất của vấn đề được báo cáo.
Các lựa chọn ngữ cảnh và biểu diễn
Độ dài ngữ cảnh được công bố của mô hình cụ thể là 32.000 token. Embedding mặc định có 1024 chiều; 256, 512 và 2048 chiều cũng được hỗ trợ qua học Matryoshka. Thông báo mô tả biểu diễn dấu phẩy động 32 bit, số nguyên 8 bit có dấu hoặc không dấu và nhị phân.
Chọn một số chiều và biểu diễn cho bộ sưu tập rồi lưu cùng siêu dữ liệu. Vector dấu phẩy động và biểu diễn lượng tử hóa cần cách lưu trữ, so sánh tương ứng. Biểu diễn nhị phân mã hóa thông tin vector khác với danh sách tọa độ dấu phẩy động thông thường; giữ sự phân biệt đó khi chuẩn bị kết quả cho tìm kiếm.
Với tệp dài, chọn các phần mạch lạc có thể tìm lại vị trí nguồn. Hàm có thể cần định nghĩa kiểu hoặc chú thích liền kề để giải thích một điều kiện, còn toàn bộ tệp quá lớn có thể chứa nội dung không liên quan. Giữ phần phù hợp nhiệm vụ sẽ tìm thay vì coi ngữ cảnh tối đa là kích thước đoạn nên dùng.
Dùng nguồn truy xuất làm bằng chứng
Quy trình tác tử lập trình thực tế truy xuất nguồn ứng viên, đọc các tệp đó, theo các tham chiếu liên quan và thu hẹp tìm kiếm trong quá trình điều tra. Văn bản truy xuất trở thành ngữ cảnh cho giai đoạn suy luận hoặc chỉnh sửa. Giữ liên kết với phiên bản kho mã đã lập chỉ mục để ứng viên được kiểm tra theo đúng nguồn.
Đóng góp riêng của phiên bản voyage-code-4 là tập trung vào bước truy xuất từ vấn đề đến mã mà tác tử lập trình sử dụng, cùng số chiều và biểu diễn linh hoạt. Đầu ra là vector truy xuất; chẩn đoán, chỉnh sửa và xác nhận vẫn là các nhiệm vụ riêng dựa trên kho mã thực tế.
Ailoot Ultra · Biểu diễn nhúng POST /v1/embeddings voyageai/voyage-code-4
voyageai/voyage-code-4Bắt đầu
Voyage AI voyage-code-4 là mô hình embedding mã để tìm nguồn liên quan từ câu hỏi, mô tả vấn đề và mục tiêu của tác tử lập trình. Mô hình hỗ trợ đầu vào 32.000 token và 256, 512, 1024 hoặc 2048 chiều, với biểu diễn dấu phẩy động và lượng tử hóa.
- Đầu vào được chấp nhận
- Văn bản · token_ids
- Kết quả
- embedding
Có trên Ailoot · đầu vào & phương thức
Ailoot Ultra · Biểu diễn nhúng POST /v1/embeddings
- Đầu vào
text,token_ids- Đầu ra
embedding- Ngữ cảnh
- 32.000 tokens
- Định dạng đầu ra
- json
| Trường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
|---|---|---|---|---|
Trườngmodel | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn voyageai/voyage-code-4 | Mặc định— |
Trườnginput | Loạistring|string[]|integer[]|integer[][] | Yêu cầuBắt buộc | Giá trị & giới hạn Số mục tối thiểu: 1 Điều kiện: Lô không rỗng và đồng nhất. ID token là số nguyên không âm. Ngân sách đầu vào: Tối đa: 32.000 · Đơn vị văn bản: byte UTF8 · Đơn vị token: phần tử của mảng token | Mặc định— |
Trườngencoding_format | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn float | Mặc địnhfloat |
Trườngdimensions | Loạiinteger | Yêu cầuKhông hỗ trợ | Giá trị & giới hạn Tối thiểu: 1 | Mặc định— |
Trườnguser | Loạijson_value | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Điều kiện: Nguồn tài liệu cho phép trường siêu dữ liệu JSON này; ý nghĩa chính xác tại hệ thống nguồn phụ thuộc vào từng mô hình. | Mặc định— |
Trườngsession_id | Loạijson_value | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Điều kiện: Nguồn tài liệu cho phép trường siêu dữ liệu JSON này; ý nghĩa chính xác tại hệ thống nguồn phụ thuộc vào từng mô hình. | Mặc định— |
Trườngtrace | Loạijson_value | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Điều kiện: Nguồn tài liệu cho phép trường siêu dữ liệu JSON này; ý nghĩa chính xác tại hệ thống nguồn phụ thuộc vào từng mô hình. | Mặc định— |
Trườngprovider | Loạiobject | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Điều kiện: provider.options bị từ chối | Mặc định— |
Tổ hợp tư liệu đầu vào
text_to_embedding
Tham số phương thức và vòng đời
| Tham số | Hợp đồng |
|---|---|
Tham sốcontent_type | Hợp đồngapplication/json |
Tham sốrequired | Hợp đồngmodel, input |
Tham sốinput_shapes | Hợp đồngstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Tham sốencoding_format | Hợp đồngfloat |
Tham sốdimensions_override | Hợp đồngfalse |
Tham sốmax_input_budget_units | Hợp đồng32000 |
Tham sốmultimodal_objects | Hợp đồngfalse |
Tham sốmaterial_types | Hợp đồngtext, token_ids |
Vòng đời: synchronous_json
Giữ lại chỉ mục và số chiều của mọi vector.
Việc mô hình mang tên đa phương thức không có nghĩa là đường dẫn cụ thể này chấp nhận đối tượng ảnh.
Bảng giá
Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.
- Chế độ nhanh
- Mức giá tiêu chuẩn Khi chọn chế độ nhanh
- Chế độ Flex
- Mức giá tiêu chuẩn Khi chọn chế độ flex
- Mức độ suy luận tối đa
- Mức giá tiêu chuẩn Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa
Mức phí Ailoot
Giá theo cấu hình
| Cấu hình | Biểu mức phí | Phí |
|---|---|---|
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Phí Đầu vào · Token đầu vào $0.00024 / 1K token Đầu ra · Token đầu ra $0 / 1K token Đầu vào · Đọc bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ — / 1K token |
Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. Cách hoạt động của cơ chế tạm giữ và quyết toán →
Ví dụ yêu cầu
Ailoot Ultra · Biểu diễn nhúng
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "voyageai/voyage-code-4", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='voyageai/voyage-code-4',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Nhận và lưu kết quả
Ailoot Ultra · Biểu diễn nhúng
json
Lưu tất cả kết quả đã hoàn tất
Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.
Giữ lại mọi vector kèm chỉ mục của nó. Số lượng vector phải bằng số lượng đầu vào; số chiều phải nhất quán.
Nếu cần kiểm tra phản hồi gốc
Không có điểm cuối tác vụ embedding nào được bổ sung.
Trường phản hồi
| Trường | Loại |
|---|---|
Trườngobject | Loạistring |
Trườngmodel | Loạistring |
Trườngdata[].index | Loạiinteger |
Trườngdata[].embedding | Loạifinite float[] |
Trườngusage | Loạiobject |
Lỗi và bước tiếp theo
| Phản hồi | Điều kiện | Bước tiếp theo |
|---|---|---|
Phản hồi400 · invalid_request_error | Điều kiệnTrường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ | Bước tiếp theoSửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới. |
Bí danh
Bí danh mô hình
Ailoot Ultra voyageai/voyage-code-4
Bí danh đường dẫn phương thức
Dùng các đường dẫn phương thức hiển thị ở trên.
ID gọi liên quan
FAQ · VoyageAI by MongoDB: voyage-code-4
- Có những đầu vào và kết quả nào?
POST /v1/embeddings·voyageai/voyage-code-4:text,token_ids→embedding- Yêu cầu sử dụng những trường nào?
POST /v1/embeddings·voyageai/voyage-code-4:model,input,encoding_format,provider- Áp dụng những giới hạn nào?
POST /v1/embeddings·voyageai/voyage-code-4:ctx:32000;input.budget.maximum:32000(byte UTF8);input.min_items:1