OpenAI: Text Embedding 3 Small
Mô hình embedding văn bản thế hệ ba nhỏ hơn của OpenAI mặc định trả về vector 1.536 chiều và hỗ trợ biểu diễn ngắn hơn. Dùng đầu ra số cho tìm kiếm ngữ nghĩa, truy xuất mã, nhóm, gợi ý và phân loại.
- Ailoot Ultra · Biểu diễn nhúng
POST /v1/embeddingsopenai/text-embedding-3-small - Ailoot Ultra · Nhúng vectơ · text-embedding-3-small
POST /v1/embeddingstext-embedding-3-small
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.
text-embedding-3-small là mô hình embedding văn bản thế hệ ba nhỏ hơn của OpenAI. Mô hình chuyển tài liệu viết thành vector số, mặc định có 1.536 thành phần. Các vector đo quan hệ giữa văn bản cho bước tìm kiếm hoặc phân tích khác; mô hình không sinh câu trả lời hội thoại cho đầu vào.
Giống mô hình thế hệ ba lớn hơn, mô hình hỗ trợ điều khiển dimensions của nhà sản xuất để tạo embedding ngắn hơn. Quá trình huấn luyện được thiết kế để giữ thông tin biểu diễn khái niệm trong vector rút ngắn; lựa chọn kích thước ảnh hưởng chất lượng ứng dụng và nhu cầu tài nguyên. Giữ mô hình cùng số chiều được chọn nhất quán giữa bản ghi và truy vấn được so sánh.
Ứng dụng thực tế là tìm kiếm mã. Hướng dẫn của nhà sản xuất mô tả biểu diễn hàm nguồn thành văn bản và tạo embedding, sau đó tạo embedding truy vấn ngôn ngữ tự nhiên bằng cùng mô hình rồi so sánh các vector kết quả. Kết quả minh họa là tập hàm liên quan được xếp hạng gắn với vị trí nguồn. Với tìm kiếm tài liệu, sản phẩm tương đương là tập đoạn vẫn có văn bản và tham chiếu gốc cho người đọc hoặc mô hình tiếp theo.
Các cách dùng khác được mô tả gồm phân cụm, gợi ý nội dung liên quan, phân loại, phát hiện ngoại lệ và đo tính đa dạng. Quy trình thông điệp tập trung có thể nhóm các yêu cầu giống nhau hoặc so sánh với mô tả danh mục. Ứng dụng định nghĩa cách kết quả tương đồng trở thành danh mục, gợi ý hoặc mục xem xét; bản thân embedding vẫn là dữ liệu số.
OpenAI quy định đầu vào tối đa 8.192 token cho mỗi văn bản. API embedding nhận chuỗi hoặc đầu vào đã token hóa và nhiều đầu vào trong một yêu cầu, từ chối chuỗi rỗng và áp dụng giới hạn tổng 300.000 token. Chuẩn bị tài liệu dài thành các đoạn có ý nghĩa, giữ tiêu đề hoặc định nghĩa cần để diễn giải. Dùng tập trường nguồn nhất quán thay vì tạo embedding các loại bản ghi khác nhau theo quy tắc chuẩn bị không liên quan.
Nhà sản xuất mặc định trả về vector float và còn mô tả mã hóa base64. Hướng dẫn nêu embedding OpenAI chuẩn hóa về độ dài đơn vị và khuyến nghị độ tương đồng cosine; tích vô hướng tính được giá trị đó và khoảng cách Euclidean cho cùng thứ hạng. Nếu embedding thế hệ ba được rút ngắn thủ công sau khi trả về, chuẩn hóa lại vector rút ngắn theo hướng dẫn. Điều khiển dimensions giúp không phải lấy cắt thủ công làm bước chuẩn bị thông thường.
Ghi định danh mô hình, số chiều và liên kết nguồn cùng mỗi vector. Sản phẩm phía sau hữu ích là danh sách xếp hạng, bộ sưu tập có nhóm hoặc tập đặc trưng phân loại gắn với văn bản tạo ra chúng. Kiểm tra tài liệu được chọn có thực sự hỗ trợ nhiệm vụ không, tách dữ kiện còn thiếu khỏi sự liên quan ngữ nghĩa. Bước tiếp theo có thể dùng biểu diễn cho quy trình truy xuất hoặc quyết định cụ thể.
Ailoot Ultra · Biểu diễn nhúng POST /v1/embeddings openai/text-embedding-3-small
openai/text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Bắt đầu
Mô hình embedding văn bản thế hệ ba nhỏ hơn của OpenAI mặc định trả về vector 1.536 chiều và hỗ trợ biểu diễn ngắn hơn. Dùng đầu ra số cho tìm kiếm ngữ nghĩa, truy xuất mã, nhóm, gợi ý và phân loại.
- Đầ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
- 8.192 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 openai/text-embedding-3-small | 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: 8.192 · Đơ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 đồng8192 |
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.00004 / 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": "openai/text-embedding-3-small", "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='openai/text-embedding-3-small',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 openai/text-embedding-3-small, text-embedding-3-small
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
Ailoot Ultra · Nhúng vectơ · text-embedding-3-small POST /v1/embeddings text-embedding-3-small
text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Bắt đầu
Mô hình embedding văn bản thế hệ ba nhỏ hơn của OpenAI mặc định trả về vector 1.536 chiều và hỗ trợ biểu diễn ngắn hơn. Dùng đầu ra số cho tìm kiếm ngữ nghĩa, truy xuất mã, nhóm, gợi ý và phân loại.
- Đầu vào được chấp nhận
- Văn bản
- Kết quả
- embedding
Có trên Ailoot · đầu vào & phương thức
Ailoot Ultra · Nhúng vectơ · text-embedding-3-small POST /v1/embeddings
- Đầu vào
text- Đầu ra
embedding- Ngữ cảnh
- 8.192 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 text-embedding-3-small | 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: 8.192 · Đơ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: Siêu dữ liệu JSON tùy chọn; ý nghĩa chính xác ở phía nhà cung cấp phụ thuộc mô hình đã chọn. | 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: Siêu dữ liệu JSON tùy chọn; ý nghĩa chính xác ở phía nhà cung cấp phụ thuộc mô hình đã chọn. | 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: Siêu dữ liệu JSON tùy chọn; ý nghĩa chính xác ở phía nhà cung cấp phụ thuộc mô hình đã chọn. | 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 đồng8192 |
Tham sốmultimodal_objects | Hợp đồngfalse |
Tham sốmaterial_types | Hợp đồngtext |
Tham sốtext_file_material | Hợp đồngĐọc tài liệu UTF-8 thực tế và đặt nội dung văn bản vào chuỗi đầu vào hoặc nội dung thông điệp được chỉ định. |
Vòng đời: synchronous_json
Gửi ID mô hình chính xác và các trường bắt buộc.
Giữ lại mọi mục được trả về và các mã định danh gốc của mục đó.
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.00004 / 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 · Nhúng vectơ · text-embedding-3-small
{
"model": "text-embedding-3-small",
"input": [
"First document",
"Second document"
],
"encoding_format": "float"
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'text-embedding-3-small', 'input': ['First document', 'Second document'], 'encoding_format': 'float'}
payload['input'] = [text]
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
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
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
for vector in result.get('data', []):
print('Vector', vector.get('index'), json.dumps(vector.get('embedding')))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'text-embedding-3-small', 'input': ['First document', 'Second document'], 'encoding_format': 'float'}
payload['input'] = [text]
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/embeddings', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
for vector in result.get('data', []):
print('Vector', vector.get('index'), json.dumps(vector.get('embedding')))
Nhận và lưu kết quả
Ailoot Ultra · Nhúng vectơ · text-embedding-3-small
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 vectơ hữu hạn cùng chỉ số gốc. Giữ nguyên mọi chiều và toàn bộ đối tượng mức sử dụng.
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 openai/text-embedding-3-small, text-embedding-3-small
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 · OpenAI: Text Embedding 3 Small
- Có những đầu vào và kết quả nào?
POST /v1/embeddings·openai/text-embedding-3-small:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-3-small:text→embedding- Yêu cầu sử dụng những trường nào?
POST /v1/embeddings·openai/text-embedding-3-small:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-3-small:model,input,encoding_format,provider- Áp dụng những giới hạn nào?
POST /v1/embeddings·openai/text-embedding-3-small:ctx:8192;input.budget.maximum:8192(byte UTF8);input.min_items:1POST /v1/embeddings·text-embedding-3-small:ctx:8192;input.budget.maximum:8192(byte UTF8);input.min_items:1