OpenAI: Text Embedding Ada 002
Mô hình embedding văn bản của OpenAI trả về vector số 1.536 chiều. Dùng các biểu diễn đó cho tìm kiếm ngữ nghĩa, gợi ý nội dung liên quan, phân cụm, phân loại hoặc phát hiện bản ghi văn bản bất thường.
- Ailoot Ultra · Biểu diễn nhúng
POST /v1/embeddingsopenai/text-embedding-ada-002 - Ailoot Ultra · Nhúng vectơ · text-embedding-ada-002
POST /v1/embeddingstext-embedding-ada-002
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-ada-002 là mô hình embedding văn bản của OpenAI để biểu diễn tài liệu viết thành vector số. Đầu ra có 1.536 thành phần. Nhà sản xuất kết hợp vai trò tương đồng văn bản, tìm kiếm tài liệu/truy vấn và tìm kiếm mã trong một biểu diễn. Kết quả là dữ liệu cho so sánh hoặc thuật toán khác, không phải câu trả lời được sinh ra cho văn bản đang tạo embedding.
Với tìm kiếm ngữ nghĩa, chuẩn bị các đoạn tài liệu có ý nghĩa và giữ định danh nguồn. Quy trình minh họa tạo embedding từng đoạn và câu hỏi người dùng bằng cùng mô hình, so sánh vector rồi trả về đoạn nguồn liên quan. Ứng dụng quyết định quy tắc truy xuất, bộ lọc và cách hiển thị. Bước sinh văn bản tiếp theo có thể dùng tài liệu truy xuất để viết câu trả lời, còn mô hình embedding cung cấp biểu diễn số.
Các cách dùng khác được mô tả gồm nhóm bản ghi tương tự, gợi ý nội dung liên quan, phân loại văn bản và xác định ngoại lệ. Với gợi ý, so sánh mô tả các đối tượng có quan hệ cần xem xét. Với phân loại, hướng dẫn mô tả so sánh với biểu diễn danh mục hoặc dùng vector làm đặc trưng trong bộ phân loại. Với phát hiện bất thường, kết quả liên quan là bản ghi khác bộ sưu tập xung quanh, được diễn giải theo nhiệm vụ của sản phẩm.
OpenAI nêu đầu vào tối đa 8.192 token cho mô hình này. API embedding của nhà sản xuất nhận chuỗi văn bản hoặc đầu vào đã token hóa, cho phép nhiều đầu vào trong một yêu cầu và từ chối chuỗi rỗng. Giới hạn tổng là 300.000 token trong một yêu cầu, ngoài giới hạn từng đầu vào. Chia tài liệu dài hơn thành đoạn hữu ích nhưng giữ tiêu đề, định nghĩa và tham chiếu về tài liệu gốc.
Đầu ra là vector giá trị dấu phẩy động; nhà sản xuất còn mô tả base64 làm mã hóa truyền tải thay thế. Tham số rút ngắn số chiều của OpenAI dành cho các mô hình embedding thế hệ ba trở đi, nên kết quả 1.536 chiều được mô tả của Ada vẫn tách biệt với điều khiển đó. Lưu định danh mô hình và vector cùng bản ghi nguồn để lần so sánh sau dùng biểu diễn nhất quán.
Hướng dẫn embedding khuyến nghị độ tương đồng cosine và nêu embedding OpenAI được chuẩn hóa về độ dài đơn vị. Với những vector đó, tích vô hướng tính được độ tương đồng cosine và khoảng cách Euclidean cho cùng thứ hạng. Điểm tương đồng là phần của logic truy xuất hoặc phân loại của ứng dụng, không phải quyết định danh mục mà mô hình tự động cung cấp.
Định nghĩa trường nguồn nào trở thành văn bản đầu vào và cách chia đoạn. Kết quả minh họa là tập đoạn tài liệu hoặc bản ghi liên quan được xếp hạng, mỗi mục liên kết với nguồn gốc và quy tắc dùng để chọn. Giữ cách chuẩn bị nhất quán, đánh giá tài liệu trả về có giải quyết câu hỏi thực tế không. Điều này làm đầu ra số hữu ích cho bước tìm kiếm, gợi ý hoặc phân tích tiếp theo.
Ailoot Ultra · Biểu diễn nhúng POST /v1/embeddings openai/text-embedding-ada-002
openai/text-embedding-ada-002openai/text-embedding-ada-002text-embedding-ada-002
Bắt đầu
Mô hình embedding văn bản của OpenAI trả về vector số 1.536 chiều. Dùng các biểu diễn đó cho tìm kiếm ngữ nghĩa, gợi ý nội dung liên quan, phân cụm, phân loại hoặc phát hiện bản ghi văn bản bất thường.
- Đầ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-ada-002 | 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.0002 / 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-ada-002", "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-ada-002',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-ada-002, text-embedding-ada-002
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-ada-002 POST /v1/embeddings text-embedding-ada-002
text-embedding-ada-002openai/text-embedding-ada-002text-embedding-ada-002
Bắt đầu
Mô hình embedding văn bản của OpenAI trả về vector số 1.536 chiều. Dùng các biểu diễn đó cho tìm kiếm ngữ nghĩa, gợi ý nội dung liên quan, phân cụm, phân loại hoặc phát hiện bản ghi văn bản bất thường.
- Đầ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-ada-002 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-ada-002 | 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.0002 / 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-ada-002
{
"model": "text-embedding-ada-002",
"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-ada-002', '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-ada-002', '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-ada-002
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-ada-002, text-embedding-ada-002
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 Ada 002
- Có những đầu vào và kết quả nào?
POST /v1/embeddings·openai/text-embedding-ada-002:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-ada-002:text→embedding- Yêu cầu sử dụng những trường nào?
POST /v1/embeddings·openai/text-embedding-ada-002:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-ada-002:model,input,encoding_format,provider- Áp dụng những giới hạn nào?
POST /v1/embeddings·openai/text-embedding-ada-002:ctx:8192;input.budget.maximum:8192(byte UTF8);input.min_items:1POST /v1/embeddings·text-embedding-ada-002:ctx:8192;input.budget.maximum:8192(byte UTF8);input.min_items:1