diff --git a/docs/zh/.translation-manifest.json b/docs/zh/.translation-manifest.json index 082db75..98dcaa1 100644 --- a/docs/zh/.translation-manifest.json +++ b/docs/zh/.translation-manifest.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-08-29T17:44:55.522Z", + "generatedAt": "2026-08-30T07:38:47.307Z", "pages": { "https://developers.openai.com/api/docs/actions/actions-library.md": { "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", @@ -1662,14 +1662,14 @@ "translatedAt": "2026-08-26T19:20:24.783Z" }, "https://developers.openai.com/api/docs/guides/workload-identity-federation/kubernetes.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/docs/guides/workload-identity-federation/kubernetes.md", "sourceSha256": "d5c9ec6ef17215f910a08459ffa9916ca1f860f5e0488463e5b3ef94465d828c", "sourceUrl": "https://developers.openai.com/api/docs/guides/workload-identity-federation/kubernetes.md", "targetPath": "docs/zh/api/docs/guides/workload-identity-federation/kubernetes.md", - "targetSha256": "6b394ac2d739fefbdaabc3b2321602fea5188353c4c6f1f25b3bb87d0c4143bb", - "translatedAt": "2026-08-26T16:49:03.339Z" + "targetSha256": "758f84a2eac2d0cb89e6a43d42e34e32b718d3cbd1ee6c75d2fdabfe640c33ae", + "translatedAt": "2026-08-30T07:21:27.320Z" }, "https://developers.openai.com/api/docs/guides/workload-identity-federation/microsoft-azure.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", @@ -1682,34 +1682,34 @@ "translatedAt": "2026-08-26T19:21:46.704Z" }, "https://developers.openai.com/api/docs/guides/workload-identity-federation/oracle-cloud.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/docs/guides/workload-identity-federation/oracle-cloud.md", "sourceSha256": "7b0c286b9a02cf478975461c39db4b823c80f4560155dd8c543903b4edb45d8b", "sourceUrl": "https://developers.openai.com/api/docs/guides/workload-identity-federation/oracle-cloud.md", "targetPath": "docs/zh/api/docs/guides/workload-identity-federation/oracle-cloud.md", - "targetSha256": "6319a1994501825d092185268c46ba6a71f8522517a9bebef65d26f4c6d2e3d3", - "translatedAt": "2026-08-26T16:49:44.350Z" + "targetSha256": "9a1be3c3634dab29991adb346cb8f768e05ce91093580fbf44de3f6135ed7247", + "translatedAt": "2026-08-30T07:22:25.617Z" }, "https://developers.openai.com/api/docs/guides/workload-identity-federation/spiffe.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/docs/guides/workload-identity-federation/spiffe.md", "sourceSha256": "89efb480e3922989c6916b1752da2dc9c5ab8687836aa5defdf63d595ad81ed6", "sourceUrl": "https://developers.openai.com/api/docs/guides/workload-identity-federation/spiffe.md", "targetPath": "docs/zh/api/docs/guides/workload-identity-federation/spiffe.md", - "targetSha256": "b895850f4c254ed86c87eac4f555245ba0bb0ac08dfac42cf3809295fa974072", - "translatedAt": "2026-08-26T16:50:31.161Z" + "targetSha256": "aa532c20819c2c2d3b0037ba5e436eeff124b90b8de6638f47743693cf2adcb9", + "translatedAt": "2026-08-30T07:23:44.814Z" }, "https://developers.openai.com/api/docs/guides/workload-identity-federation/x509.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/docs/guides/workload-identity-federation/x509.md", "sourceSha256": "ca6aec53097c6064df518bdf70e8086fced195dff4c08c611ce2ff032e686977", "sourceUrl": "https://developers.openai.com/api/docs/guides/workload-identity-federation/x509.md", "targetPath": "docs/zh/api/docs/guides/workload-identity-federation/x509.md", - "targetSha256": "ca34f5c7b04878966519bd288b367f96da85a2c9cd36dfed93bf54ec74a0dc04", - "translatedAt": "2026-08-27T01:24:14.068Z" + "targetSha256": "4d16a4fd5635a622c6129da08d1876fe2ab594362664b50f2733132d11afb15a", + "translatedAt": "2026-08-30T07:24:55.166Z" }, "https://developers.openai.com/api/docs/guides/your-data.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", @@ -1762,24 +1762,24 @@ "translatedAt": "2026-08-27T07:02:18.577Z" }, "https://developers.openai.com/api/docs/models/all.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/docs/models/all.md", "sourceSha256": "553119298e086b444c081db4f38eef917e77c7f4b3e773e37281e219278496ff", "sourceUrl": "https://developers.openai.com/api/docs/models/all.md", "targetPath": "docs/zh/api/docs/models/all.md", - "targetSha256": "ff52807e87cb81a88e8ca7b0da686c9e13e9786bb8ed13d0d7537520755aefd3", - "translatedAt": "2026-08-27T01:24:56.659Z" + "targetSha256": "902dab3bf709385049a83120cb2e7bd6c0994f28668eccde54c3360d6b264aca", + "translatedAt": "2026-08-30T07:26:15.130Z" }, "https://developers.openai.com/api/docs/models/compare.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/docs/models/compare.md", "sourceSha256": "c7d680bf7d00db9433efd39a25fc18296f33a25700da5c292a2adb386d025d99", "sourceUrl": "https://developers.openai.com/api/docs/models/compare.md", "targetPath": "docs/zh/api/docs/models/compare.md", - "targetSha256": "31f31991b582afa4892c49a2b283bc29011422211a23752ab7d0a4eb8e767422", - "translatedAt": "2026-08-26T16:52:10.368Z" + "targetSha256": "f8459c026c8d55312c1df90e3d26c1a8f65d47eedbe7f981522cf02e8a7fe0e8", + "translatedAt": "2026-08-30T07:26:23.245Z" }, "https://developers.openai.com/api/docs/pricing.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", @@ -1802,24 +1802,24 @@ "translatedAt": "2026-08-26T19:28:11.870Z" }, "https://developers.openai.com/api/docs/supported-countries.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/docs/supported-countries.md", "sourceSha256": "5f774b4c4cbe8e7ee36db570e2c9be19c0d44a35df73716810ec7c6a7c074fa2", "sourceUrl": "https://developers.openai.com/api/docs/supported-countries.md", "targetPath": "docs/zh/api/docs/supported-countries.md", - "targetSha256": "47efce76cd4ae58351d027fafcd8cbcc9e7452dc5bc50622a8fb4a16b2288091", - "translatedAt": "2026-08-27T01:25:26.344Z" + "targetSha256": "bf0a5cb6fb7af002d09f8304c378e7281c298097920faa9d618c895aaba43574", + "translatedAt": "2026-08-30T07:27:43.231Z" }, "https://developers.openai.com/api/docs/tutorials/meeting-minutes.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/docs/tutorials/meeting-minutes.md", "sourceSha256": "543e59828d0293fb1972eaf42a06b46c7564f9441b712f1675ff748e6d41d82e", "sourceUrl": "https://developers.openai.com/api/docs/tutorials/meeting-minutes.md", "targetPath": "docs/zh/api/docs/tutorials/meeting-minutes.md", - "targetSha256": "8bd78b1b1a8d52b22fc929d179e9faa5e732875966eb514c62cdf4575d1d0148", - "translatedAt": "2026-08-26T16:52:59.851Z" + "targetSha256": "c14808cd58c693149df4b355383b7e279158552012fbf2405528b82ef7de7784", + "translatedAt": "2026-08-30T07:28:30.979Z" }, "https://developers.openai.com/api/docs/tutorials/web-qa-embeddings.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", @@ -1832,14 +1832,14 @@ "translatedAt": "2026-08-26T19:28:35.745Z" }, "https://developers.openai.com/api/reference/administration/overview.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/administration/overview.md", "sourceSha256": "20c98885351fc16fd79cad50de436b28ee10fd8d888db4aa1d4136a11dac3850", "sourceUrl": "https://developers.openai.com/api/reference/administration/overview.md", "targetPath": "docs/zh/api/reference/administration/overview.md", - "targetSha256": "c5420688429c57ad94097ca3ea6c130e7b575aeeebbb337390ffdcdedb35c774", - "translatedAt": "2026-08-26T16:53:04.723Z" + "targetSha256": "7a8ea6df41d16b4e228c4a018261f78e9ab6e7fc6d9d5646e38722c32a2f0d76", + "translatedAt": "2026-08-30T07:28:44.245Z" }, "https://developers.openai.com/api/reference/chat-completions/overview.md": { "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", @@ -1862,14 +1862,14 @@ "translatedAt": "2026-08-27T07:04:19.168Z" }, "https://developers.openai.com/api/reference/realtime-beta/overview.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/realtime-beta/overview.md", "sourceSha256": "3acef69f7d32de35e4177f9d92f33c37e6c4aee5f9ea25ebb011bbd3e9e0a85b", "sourceUrl": "https://developers.openai.com/api/reference/realtime-beta/overview.md", "targetPath": "docs/zh/api/reference/realtime-beta/overview.md", - "targetSha256": "42538e1ce41d17fb33851fbf7e0ed0f892ee6e97981ca9c0b1431147bd8f68a5", - "translatedAt": "2026-08-26T16:53:08.496Z" + "targetSha256": "15ddea420615a8cdcb7d86ab4fd43732318002ecfc58e54f6845079578366b45", + "translatedAt": "2026-08-30T07:28:49.891Z" }, "https://developers.openai.com/api/reference/resources/audio.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", @@ -1882,14 +1882,14 @@ "translatedAt": "2026-08-26T19:31:05.859Z" }, "https://developers.openai.com/api/reference/resources/audio/subresources/speech/methods/create.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/audio/subresources/speech/methods/create.md", "sourceSha256": "0edf33a611e294baf3ce22ddf61dde81ce24baec136583c2784b961163efbffb", "sourceUrl": "https://developers.openai.com/api/reference/resources/audio/subresources/speech/methods/create.md", "targetPath": "docs/zh/api/reference/resources/audio/subresources/speech/methods/create.md", - "targetSha256": "0fb3cd2af6049781665d3de630966ea37ebd19c526845c3fbad65d0f2b29b929", - "translatedAt": "2026-08-26T16:53:16.621Z" + "targetSha256": "2310e5007b93468345123ba7df77f835eb5be6c3d004bb1117cd4a1756e45699", + "translatedAt": "2026-08-30T07:29:06.206Z" }, "https://developers.openai.com/api/reference/resources/audio/subresources/transcriptions/methods/create.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", @@ -1902,74 +1902,74 @@ "translatedAt": "2026-08-26T19:31:27.022Z" }, "https://developers.openai.com/api/reference/resources/audio/subresources/translations/methods/create.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/audio/subresources/translations/methods/create.md", "sourceSha256": "4f206d597e7b613c86ec0a856e55338e1b2f338f793b6ae07e18f54e44dcc5ec", "sourceUrl": "https://developers.openai.com/api/reference/resources/audio/subresources/translations/methods/create.md", "targetPath": "docs/zh/api/reference/resources/audio/subresources/translations/methods/create.md", - "targetSha256": "87ba0a30cd6a6592ad77ec64e2234eaff1712b0686b45f109e62cccdebcceddc", - "translatedAt": "2026-08-26T16:53:23.347Z" + "targetSha256": "c417602ee6ffa8ecb563bd2e94cdb44107b47051a5d78425656e3b2bfcfc78fa", + "translatedAt": "2026-08-30T07:29:19.617Z" }, "https://developers.openai.com/api/reference/resources/audio/subresources/voice_consents/methods/create.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/audio/subresources/voice_consents/methods/create.md", "sourceSha256": "25a330537ff997efa786c6f6863b986b46c72a9939f4f7b86a0246d41812f65c", "sourceUrl": "https://developers.openai.com/api/reference/resources/audio/subresources/voice_consents/methods/create.md", "targetPath": "docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/create.md", - "targetSha256": "abd18343c69a19e56714428aef55968bb91c5381c0808999dd8862559862c38a", - "translatedAt": "2026-08-26T16:53:29.699Z" + "targetSha256": "583e1d81cc290da0c888625bbfbc83eb983e13c2322871e53d68620a3dc8b369", + "translatedAt": "2026-08-30T07:29:32.210Z" }, "https://developers.openai.com/api/reference/resources/audio/subresources/voice_consents/methods/delete.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/audio/subresources/voice_consents/methods/delete.md", "sourceSha256": "cfe62213d6985b5b85077cc41e5bdfb1fd1bd36fe819085aabf3d824aa0cb382", "sourceUrl": "https://developers.openai.com/api/reference/resources/audio/subresources/voice_consents/methods/delete.md", "targetPath": "docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/delete.md", - "targetSha256": "e828ee0b9ce82a47d6e298c7bb42304b38b08740fa2c0c9f7dc25e0bb534e139", - "translatedAt": "2026-08-26T16:53:35.691Z" + "targetSha256": "560a38c3afa256521023fe6c6aa150439eba1f4194fe8ac5d544140fa2fc2081", + "translatedAt": "2026-08-30T07:29:44.258Z" }, "https://developers.openai.com/api/reference/resources/audio/subresources/voice_consents/methods/list.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/audio/subresources/voice_consents/methods/list.md", "sourceSha256": "88da367e6b01c3c8215f37096d04752b6e4ca726b496a75cf5a3ea5efe9142a6", "sourceUrl": "https://developers.openai.com/api/reference/resources/audio/subresources/voice_consents/methods/list.md", "targetPath": "docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/list.md", - "targetSha256": "d61a8428a769918259f05712afe793dd798553af50c11a9e5333e516a7d692d3", - "translatedAt": "2026-08-26T16:53:43.599Z" + "targetSha256": "a02885ac63c86e0c4d34587b368753a089edce371c3819ac207b0e4586945893", + "translatedAt": "2026-08-30T07:29:59.023Z" }, "https://developers.openai.com/api/reference/resources/audio/subresources/voice_consents/methods/retrieve.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/audio/subresources/voice_consents/methods/retrieve.md", "sourceSha256": "6b9281ad24a59b271634ea13ebd0b9385e1cc290c16391f4ffa5888491d72392", "sourceUrl": "https://developers.openai.com/api/reference/resources/audio/subresources/voice_consents/methods/retrieve.md", "targetPath": "docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/retrieve.md", - "targetSha256": "ded108fb99697cbb616b6a4f9f42582313affc8cd13df7d1f237692f84bae182", - "translatedAt": "2026-08-26T16:53:49.575Z" + "targetSha256": "3e7eab07bd4b682ee540abf1331b933f1c0b409f1484c69715a953825d10e1e9", + "translatedAt": "2026-08-30T07:30:22.749Z" }, "https://developers.openai.com/api/reference/resources/audio/subresources/voice_consents/methods/update.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/audio/subresources/voice_consents/methods/update.md", "sourceSha256": "b105aeee9e076a62c8e0b1eba8e5c1d271ce0a17151e075f51b590c541260785", "sourceUrl": "https://developers.openai.com/api/reference/resources/audio/subresources/voice_consents/methods/update.md", "targetPath": "docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/update.md", - "targetSha256": "0c07eaf10ff6919a7487812fa882a4a0efc522ef054a8f3042a8be2e4956c1c4", - "translatedAt": "2026-08-26T16:53:57.259Z" + "targetSha256": "0a5558e00f5a87ce224effa81c6db513c91cf8bf04b84d5b7f85609ba58425a9", + "translatedAt": "2026-08-30T07:30:35.668Z" }, "https://developers.openai.com/api/reference/resources/audio/subresources/voices/methods/create.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/audio/subresources/voices/methods/create.md", "sourceSha256": "be7f4e68a2bcc64e77ed7029693c34174d2562bfb6813cb1f9ef86e9998a75bc", "sourceUrl": "https://developers.openai.com/api/reference/resources/audio/subresources/voices/methods/create.md", "targetPath": "docs/zh/api/reference/resources/audio/subresources/voices/methods/create.md", - "targetSha256": "2e69a4fe8cfc59ef7641c7be283377b491bf1b811a75b088b1eef91a19e97169", - "translatedAt": "2026-08-26T16:54:03.092Z" + "targetSha256": "0674d89a45eb66e3ca9bd70ab4d4a3835f40e482ff8eab5b7d0924259400548b", + "translatedAt": "2026-08-30T07:30:46.216Z" }, "https://developers.openai.com/api/reference/resources/batches.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", @@ -1982,44 +1982,44 @@ "translatedAt": "2026-08-26T19:32:40.348Z" }, "https://developers.openai.com/api/reference/resources/batches/methods/cancel.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/batches/methods/cancel.md", "sourceSha256": "202e4396936b7a4d7ec0a87e0b1a340e1f79032c5503cad90de212a67a590907", "sourceUrl": "https://developers.openai.com/api/reference/resources/batches/methods/cancel.md", "targetPath": "docs/zh/api/reference/resources/batches/methods/cancel.md", - "targetSha256": "57b3c51b22e950da89d247fcf9a95566321b27886cdae3f4aa05f484a53983e9", - "translatedAt": "2026-08-26T16:54:16.952Z" + "targetSha256": "b9ff68082d22c89d47eac986185348d6439d5fbea26b548e6d233dc1e0000b18", + "translatedAt": "2026-08-30T07:31:17.798Z" }, "https://developers.openai.com/api/reference/resources/batches/methods/create.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/batches/methods/create.md", "sourceSha256": "b152519af5eb5b1524f497f85dc298bd6b0020c445a761fa0d4517b9c028f478", "sourceUrl": "https://developers.openai.com/api/reference/resources/batches/methods/create.md", "targetPath": "docs/zh/api/reference/resources/batches/methods/create.md", - "targetSha256": "60f1bdb8aadad366913423b67b704899cc571ae256cc03890d20416bdc48b59b", - "translatedAt": "2026-08-26T16:54:35.790Z" + "targetSha256": "d4604fe6b9f03f6bce38222b74ec4bbcadf2761385bdf7b43841bd12cdf9660c", + "translatedAt": "2026-08-30T07:31:51.350Z" }, "https://developers.openai.com/api/reference/resources/batches/methods/list.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/batches/methods/list.md", "sourceSha256": "231906e4ebb728458f5c810c8b9a15ba5c72f8de32944f7a06a4e4faeada1769", "sourceUrl": "https://developers.openai.com/api/reference/resources/batches/methods/list.md", "targetPath": "docs/zh/api/reference/resources/batches/methods/list.md", - "targetSha256": "a00f180b2f9cbbc007ee8c882808c6bb70a316b23756d0a80034c765a0b4b59d", - "translatedAt": "2026-08-26T16:54:50.545Z" + "targetSha256": "10324c31354e956896d34808f0870e8252bc11e40870b1271ec93b993a5d2052", + "translatedAt": "2026-08-30T07:32:15.445Z" }, "https://developers.openai.com/api/reference/resources/batches/methods/retrieve.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/batches/methods/retrieve.md", "sourceSha256": "fdc946031e7dfbbae4d649a316cdef9daf7c3a6d4c67796a7b74d3c1a5f6ba5e", "sourceUrl": "https://developers.openai.com/api/reference/resources/batches/methods/retrieve.md", "targetPath": "docs/zh/api/reference/resources/batches/methods/retrieve.md", - "targetSha256": "6efaf510941c19df57ce6bc36544764a1f224a2f5013c5639ee719b6dbcae429", - "translatedAt": "2026-08-26T16:55:03.264Z" + "targetSha256": "fdeee30a2a5db1c067639bec8504f87ace7b97f055ec19a64498c7f764c8a80c", + "translatedAt": "2026-08-30T07:32:38.573Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/assistants.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", @@ -2042,34 +2042,34 @@ "translatedAt": "2026-08-26T19:42:34.503Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/assistants/methods/delete.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/assistants/methods/delete.md", "sourceSha256": "e328aebf6d1506955377282d1bcf694cb253d6a2c6b630fc96fe0f4121d15cab", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/assistants/methods/delete.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/assistants/methods/delete.md", - "targetSha256": "7dc380467234efb1baa1703c7eff98252b56996bd7a9e20c497a007573cff409", - "translatedAt": "2026-08-26T16:55:07.301Z" + "targetSha256": "435182975564487b0c0c60bd8f24183dbcba25f4d58f478bf17786ae85fefb50", + "translatedAt": "2026-08-30T07:32:46.193Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/assistants/methods/list.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/assistants/methods/list.md", "sourceSha256": "15f56c106b368a0895c5506d1a0225791e665cb4c00d9c39cb3bc557c4e83b49", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/assistants/methods/list.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/assistants/methods/list.md", - "targetSha256": "cc25aabae2ff8de2fa9ded168f1a77950882059340567210edd641d3cb49172a", - "translatedAt": "2026-08-26T16:55:39.431Z" + "targetSha256": "8c2b12ecbb8d8887677bcff1c4a2027c771dd8365c3a49d318c321a7d95def5f", + "translatedAt": "2026-08-30T07:33:22.758Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/assistants/methods/retrieve.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/assistants/methods/retrieve.md", "sourceSha256": "36f46b04cd367635543df82122c11a9aae951cfcfb63e6ff68432f12aed03d3c", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/assistants/methods/retrieve.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/assistants/methods/retrieve.md", - "targetSha256": "1074e2971a0954c201deb9f47fd22a6665774200e0fe33e97f6d231edb7411c4", - "translatedAt": "2026-08-26T17:00:45.853Z" + "targetSha256": "95644c88ad4ea81994daf854073265204cb78cd37813fedf8a688a7addd79ca5", + "translatedAt": "2026-08-30T07:33:56.363Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/assistants/methods/update.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", @@ -2102,34 +2102,34 @@ "translatedAt": "2026-08-26T19:47:13.331Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/sessions.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/chatkit/subresources/sessions.md", "sourceSha256": "a095c71722292bb3610e5645c0d095edbf1e53b18b08b51193125b67a64c05dc", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/sessions.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions.md", - "targetSha256": "b13c0993704364f0d9f5c0474464f23114244bffacbcf07a0b3b68a9ca4c6ac0", - "translatedAt": "2026-08-26T17:01:44.606Z" + "targetSha256": "f15fad1c0b4747f36605dbaa5d616016168f2e0da29da1e8cefa8e8b3b2f5b4d", + "translatedAt": "2026-08-30T07:34:25.627Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/cancel.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/cancel.md", "sourceSha256": "68a3d14beb05b0dcee0b900b695f73c64dfc5f095ec2860e6e7124f782a801e3", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/cancel.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/cancel.md", - "targetSha256": "95674dace4b009a887175c8a6d83f7b48227ca5d442ad8b987b351be4bac7e58", - "translatedAt": "2026-08-26T17:01:55.260Z" + "targetSha256": "3d5345dafa7e9b2c16b36f14faea0a0498eb3342a9c6190a56bfb70bb40b9f84", + "translatedAt": "2026-08-30T07:34:41.941Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/create.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/create.md", "sourceSha256": "4e3a9d9dbe3a1e1d10af7660784a11554f6d86758731d605f8a7b737b2482a8c", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/create.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/create.md", - "targetSha256": "e9b0601c7e069d54fb5b7f2364c329fb370e2cf333917feacdd0efe4973d8654", - "translatedAt": "2026-08-26T17:02:12.482Z" + "targetSha256": "1ad6c29992505b36b0a309814bea97721b3b71bb5e5d54e3ec1a341283be2976", + "translatedAt": "2026-08-30T07:35:07.431Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/threads.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", @@ -2142,44 +2142,44 @@ "translatedAt": "2026-08-26T19:48:52.544Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/delete.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/delete.md", "sourceSha256": "711ab62d04d34229e0598133cd9451be9cf81bd3e266e6eb241ca5834a98e3c5", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/delete.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/delete.md", - "targetSha256": "66f7f976048f63e66e3d19c3efd556723aa1fe2f58b00f72c54ccdaf49211c98", - "translatedAt": "2026-08-26T17:02:19.065Z" + "targetSha256": "d0e01fa1c4663a8e26223b08b808e48738943ba7ee087ed5ba20ff41b0975407", + "translatedAt": "2026-08-30T07:35:17.065Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list_items.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list_items.md", "sourceSha256": "5dbf9aa934f2ef7d9620b2dfd7160e74627956e4775b811bd306eeda11e08b31", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list_items.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list_items.md", - "targetSha256": "73552beac91f25c2e9449e6fadb534842e5e10cc481c8875a6a57b69049646be", - "translatedAt": "2026-08-26T17:02:41.267Z" + "targetSha256": "586b3ee9c449e8319ba13af8d6aaa80de65082dfe137b8e7ef89bcbe08104c28", + "translatedAt": "2026-08-30T07:35:43.367Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list.md", "sourceSha256": "1b9436322d960dedf93b81f6b92ccd573473f62336c01883b53eb1ec09a1567b", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list.md", - "targetSha256": "09fbebaeed795cf34019c36a60d558199311744a6039d5c79783eff42379b20d", - "translatedAt": "2026-08-26T17:02:51.794Z" + "targetSha256": "73aa5585e06d4d12ce65ef3e42b9648c99ebab088eb9f720421f4860a9679a75", + "translatedAt": "2026-08-30T07:36:06.068Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/retrieve.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/retrieve.md", "sourceSha256": "072655f65205a7425345c55fc6fe2ab1958de5d2abcbeccca79fa4ac63746db7", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/retrieve.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/retrieve.md", - "targetSha256": "ccca1a58e72d014187b99eaa3d007da6f2c5385c18f0f71915e618d0b2330562", - "translatedAt": "2026-08-26T17:02:59.668Z" + "targetSha256": "a4e4b03827197f7212a2bf7a48883ba136b74676f7f59e1ef8c092d9f7669d9a", + "translatedAt": "2026-08-30T07:36:19.085Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/responses/streaming-events.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", @@ -2212,44 +2212,44 @@ "translatedAt": "2026-08-26T20:10:33.498Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/threads/methods/create.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/threads/methods/create.md", "sourceSha256": "b6334d23d00cb4e68cfc69999ed682bb437176e71aaf699e3ef6732b7c25e481", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/threads/methods/create.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/threads/methods/create.md", - "targetSha256": "4c26d93ba66d9d5273d8957c50f7f3dc8c95d0e1bd647537a106a4824913b4cf", - "translatedAt": "2026-08-26T17:03:25.917Z" + "targetSha256": "b5cfbb48a9f4d50c7976cf1be3b4fce9152b3cdb767531d0f9e0536b4b34b399", + "translatedAt": "2026-08-30T07:36:58.532Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/threads/methods/delete.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/threads/methods/delete.md", "sourceSha256": "6ef3da1141a36985ea04dc7344856a4949fa94074225a871c606b0da3e6d1eb9", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/threads/methods/delete.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/threads/methods/delete.md", - "targetSha256": "fe92e5c8e81c8626b467a495d3fb04d87dd9553e3b6e24addbaec5a0b0c54a5c", - "translatedAt": "2026-08-26T17:03:30.603Z" + "targetSha256": "98feef49de3eb0a2b901082460c352e7ab8181df3a1b007e76eb51463528bd21", + "translatedAt": "2026-08-30T07:37:05.232Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/threads/methods/retrieve.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/threads/methods/retrieve.md", "sourceSha256": "43ade53069533e685ce842af0c9f4ae235e48bbf71a1ec1579cd6c0e7ebff3d5", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/threads/methods/retrieve.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/threads/methods/retrieve.md", - "targetSha256": "fd56797b082c0261df9998b4fc04e7fae52d3245c115666a9c1ce5f10796cefe", - "translatedAt": "2026-08-26T17:03:39.637Z" + "targetSha256": "b3aaf3d55896a3a814065f6303169eb6c1951164d982563681177433de65096c", + "translatedAt": "2026-08-30T07:37:17.492Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/threads/methods/update.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/threads/methods/update.md", "sourceSha256": "9600e7e044bb8423ab6a800265e24ee6b04698893d865acfe77b20a12de7cfee", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/threads/methods/update.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/threads/methods/update.md", - "targetSha256": "94639471ba3fb85b4225aa0525762e082f6b156f4af312c57b2258e150d552df", - "translatedAt": "2026-08-26T17:03:53.737Z" + "targetSha256": "3a10d6d83f17318089dd7e76286e1ed407e218541e200e9a453dc91fe01cfc32", + "translatedAt": "2026-08-30T07:37:30.710Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/threads/subresources/messages.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", @@ -2262,34 +2262,34 @@ "translatedAt": "2026-08-26T20:13:11.848Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/threads/subresources/messages/methods/create.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/threads/subresources/messages/methods/create.md", "sourceSha256": "b81958e2962f3cf0bb5a5902822f23a70081d291573bfb4eaa6a7b4ae672f117", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/threads/subresources/messages/methods/create.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/create.md", - "targetSha256": "f8138e8fb58f11f874ce72e8b8f83c745fc2281577e82a1aa6c91e9e45582cb3", - "translatedAt": "2026-08-26T17:04:19.072Z" + "targetSha256": "5cbcacacd380f781ab2976189c0023c13cb0a44c995f2094b31b0898bc15abf8", + "translatedAt": "2026-08-30T07:38:00.611Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/threads/subresources/messages/methods/delete.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/threads/subresources/messages/methods/delete.md", "sourceSha256": "b3bf3b03b906743c7c7fc754d110c4bf15bead2d8fdf37cac8192658c6c2f0a0", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/threads/subresources/messages/methods/delete.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/delete.md", - "targetSha256": "eb9c6988aa0e256059eaada175d2798700f474e1f1c92a9db43d4fe9ebb665a6", - "translatedAt": "2026-08-26T17:04:23.517Z" + "targetSha256": "eae15729aa199ea3489645d679964e1140a43d5dbddb0d655abe5b88c20b983a", + "translatedAt": "2026-08-30T07:38:15.056Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/threads/subresources/messages/methods/list.md": { - "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", + "policySha256": "5d41c8a7a73acf25529f1beffa364a03666ea413b7e792e6db794b8f801777b5", "reviewStatus": "machine", "sourcePath": "docs/en/api/reference/resources/beta/subresources/threads/subresources/messages/methods/list.md", "sourceSha256": "58428f59230ea690ff1cb9ba7bcbae2eca9cd47d0d0c7a0c11e4ef627b0a7f61", "sourceUrl": "https://developers.openai.com/api/reference/resources/beta/subresources/threads/subresources/messages/methods/list.md", "targetPath": "docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/list.md", - "targetSha256": "e34164158ec34e239059b063e3de0966dc908a09619f3ef5f9dfa022b63c976e", - "translatedAt": "2026-08-26T17:04:42.468Z" + "targetSha256": "223471bad7437ba77eaac2d26fcf8eddfba22012fe58fd8a1f04c25b890c9bc9", + "translatedAt": "2026-08-30T07:38:47.307Z" }, "https://developers.openai.com/api/reference/resources/beta/subresources/threads/subresources/messages/methods/retrieve.md": { "policySha256": "6e9b1538f41ab5d3db960df19d735ece2c894fe9182904cf1d818170eaeeb7c2", diff --git a/docs/zh/api/docs/guides/workload-identity-federation/kubernetes.md b/docs/zh/api/docs/guides/workload-identity-federation/kubernetes.md index 2f5282e..dec9464 100644 --- a/docs/zh/api/docs/guides/workload-identity-federation/kubernetes.md +++ b/docs/zh/api/docs/guides/workload-identity-federation/kubernetes.md @@ -1,36 +1,36 @@ # 为 Kubernetes 配置工作负载身份联合 -> 如需完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 如需完整文档索引,请参阅 [llms.txt](/llms.txt)。在页面 URL 末尾追加 `.md` 即可获得该页面的 Markdown 版本。 -通过将投射的 Kubernetes 服务账户令牌交换为短期 OpenAI 访问令牌,将 Kubernetes 用作工作负载身份提供程序。 +通过将 Kubernetes 投影的服务账户令牌交换为短期 OpenAI 访问令牌,将 Kubernetes 用作工作负载身份提供方。 -对于 Codex,请使用此页面获取并检查投射令牌。然后 [配置 Codex 工作负载身份](https://developers.openai.com/codex/enterprise/workload-identity) 以将 Codex 指向挂载的令牌文件。此页面上的服务账户映射和 SDK 示例适用于 OpenAI API。 +对于 Codex,使用此页面获取并检查投影令牌。然后 [配置 Codex 工作负载身份](https://developers.openai.com/codex/enterprise/workload-identity) 以使 Codex 指向已挂载的令牌文件。本页面上的服务账户映射和 SDK 示例适用于 OpenAI API。 -## 设置 Kubernetes +## Setting up Kubernetes -本指南假定已启用 Kubernetes 服务账户令牌投影功能,该功能在现代 Kubernetes 版本中默认可用。OpenAI 工作负载身份联合要求使用兼容 OIDC 的投影服务账户令牌。不支持存储在 Secrets 中的旧版 Kubernetes 服务账户令牌。 +本指南假定 Kubernetes 服务账号令牌投射(service account token projection)已启用,这在现代 Kubernetes 版本中是默认提供的。OpenAI 工作负载身份联合(workload identity federation)需要兼容 OIDC 的投射式服务账号令牌。不支持存储在 Secrets 中的旧版 Kubernetes 服务账号令牌。 -为需要调用 OpenAI API 的工作负载使用一个 Kubernetes `ServiceAccount` 。如果你还没有,可以先创建它: +为需要调用 OpenAI API 的工作负载使用一个 Kubernetes `ServiceAccount` 。如果你还没有,请创建一个: ```bash kubectl create serviceaccount openai-wif --namespace default ``` -获取你的 Kubernetes 集群的 OIDC 签发者: +获取你的 Kubernetes 集群的 OIDC 颁发者(issuer): ```bash kubectl get --raw /.well-known/openid-configuration | jq -r .issuer ``` -即使你上传了 JWKS 且 OpenAI 不对 OIDC 签发者执行 JWKS 发现,该签发者也必须与工作负载身份提供者中配置的签发者匹配。 +即使你上传了 JWKS 并且 OpenAI 不会针对 OIDC 颁发者执行 JWKS 发现,此颁发者也必须与 Workload Identity Provider 中配置的颁发者一致。 -获取集群的 JWKS 并保存返回的密钥集。在你配置工作负载身份提供者时会用到它: +获取集群 JWKS 并保存返回的密钥集。在配置 Workload Identity Provider 时你需要用到它: ```bash kubectl get --raw /openid/v1/jwks ``` -使用 OpenAI 期望的受众和适合你工作负载的过期时间配置投影的服务账户令牌。OpenAI 会验证令牌的签发者、签名、受众和过期时间。在此示例中,令牌文件被挂载到 `/var/run/secrets/tokens/token`,使用受众 `https://api.openai.com/v1`,并在 3600 秒后过期。如果投影令牌受众与 OpenAI 工作负载身份提供者受众匹配,你可以使用不同的受众: +使用 OpenAI 期望的受众(audience)和适合你工作负载的过期时间来配置投射式服务账号令牌。OpenAI 会校验令牌的颁发者、签名、受众和过期时间。在本示例中,令牌文件挂载在 `/var/run/secrets/tokens/token`,使用的受众为 `https://api.openai.com/v1`,并在 3600 秒后过期。如果投射令牌的受众与 OpenAI Workload Identity Provider 的受众一致,你也可以使用其他受众: ```yaml apiVersion: v1 @@ -59,14 +59,14 @@ spec: ## 验证令牌 -在配置工作负载身份联合之前,先在本地解码一个示例投影服务账户令牌并检查其声明。从已挂载投影令牌的运行中的 Pod 中检索令牌,并将其导出为 `TOKEN`: +在配置工作负载身份联合之前,请在本地解码一个示例的投射服务账户令牌并检查其声明。在已挂载投射令牌的运行中 Pod 中,检索该令牌并将其导出为 `TOKEN`: ```bash TOKEN=$(kubectl exec -n default openai-wif-app -- cat /var/run/secrets/tokens/token) export TOKEN ``` -然后运行此脚本: +然后运行以下脚本: ```python import base64 @@ -79,9 +79,9 @@ print(json.dumps(json.loads(base64.urlsafe_b64decode(payload)), indent=2)) ``` -此命令在不验证令牌签名的情况下解码 JWT 负载。对于生产令牌,请使用本地解码器,并避免将生产令牌粘贴到第三方工具中。 +此命令会在不验证令牌签名的情况下解码 JWT 负载。生产环境令牌请使用本地解码器,避免将生产环境令牌粘贴到第三方工具中。 -解码后的 Kubernetes 投影服务账户令牌将类似于: +解码后的 Kubernetes 投射服务账户令牌类似如下: ```json { @@ -100,47 +100,47 @@ print(json.dumps(json.loads(base64.urlsafe_b64decode(payload)), indent=2)) } ``` -使用解码后的负载来将你收到的令牌与OpenAI中配置的签发者、受众和映射值进行比较。大多数配置问题在 `iss`, `aud`,和 `sub` 声明中可见,然后再进行令牌交换。 +使用解码后的负载,比对你收到的令牌与在 OpenAI 中配置的 issuer、audience 和 mapping 值。在交换令牌之前,大多数配置问题都会体现在 `iss`, `aud`,以及 `sub` 声明中。 ## 设置工作负载身份联合 -在 OpenAI 中为 Kubernetes 颁发者创建工作负载身份提供程序,然后添加一个服务账户映射,使其与投影令牌中的属性匹配。 +在 OpenAI 中为 Kubernetes 颁发者创建一个 Workload Identity Provider,然后添加一个服务账号映射,以匹配来自投影令牌(projected token)的属性。 -先配置工作负载身份提供程序,再创建服务账户映射。 +先配置 Workload Identity Provider,再创建服务账号映射。 ### 设置 Workload Identity Provider -1. **创建工作负载身份提供程序。** 将 **名称** 设置为唯一值,例如 `kubernetes-prod`。使用 **描述**,例如 `Production Kubernetes cluster`,以帮助管理员识别集群。 +1. **创建 Workload Identity Provider。** 设置 **Name** 为唯一值,例如 `kubernetes-prod`。使用 **Description**,例如 `Production Kubernetes cluster`,以帮助管理员识别该集群。 -2. **设置发行方和受众。** 将 **OIDC 发行方 URL** 设置为 `kubectl get --raw /.well-known/openid-configuration | jq -r .issuer`。返回的发行方。此值必须与投影令牌中的 `iss` 声明匹配。将 **受众** 设置为投影服务账户令牌卷上配置的相同不透明受众字符串。在此示例中,该值为 `https://api.openai.com/v1`. +2. **设置 issuer 和 audience。** 设置 **OIDC Issuer URL** 为以下命令返回的 issuer: `kubectl get --raw /.well-known/openid-configuration | jq -r .issuer`。此值必须与 `iss` 声明匹配,位于 projected token 中。设置 **Audience** 为 projected service account token volume 上配置的同一个不透明 audience 字符串。在本示例中,该值为 `https://api.openai.com/v1`. -3. **上传 Kubernetes JWKS。** 启用 **使用上传的 JWKS 进行令牌验证**,然后设置 **JWKS JSON** 添加到输出中 `kubectl get --raw /openid/v1/jwks`。OpenAI 使用此公钥集合来验证投射的 Kubernetes 服务账户令牌。上传完整的密钥集合,包括周围的 `keys`. +3. **上传 Kubernetes JWKS。** 启用 **Use uploaded JWKS for token verification**,然后设置 **JWKS JSON** 到输出中的 `kubectl get --raw /openid/v1/jwks`。OpenAI 使用该公钥集来验证投射的 Kubernetes 服务账户令牌。上传完整的密钥集,包括其周围的 `keys`. - > **注意:** 对于自托管的 Kubernetes 集群,OpenAI 仅支持本地 JWKS 模式。上传集群返回的 JWKS;OpenAI 不会对配置的颁发者执行 OIDC 发现。OpenAI 仍会将配置的颁发者与 `iss` 令牌中的字段进行比较。 + > **注意:** 对于自托管 Kubernetes 集群,OpenAI 仅支持本地 JWKS 模式。上传你的集群返回的 JWKS;OpenAI 不会针对已配置的 issuer 执行 OIDC 发现。OpenAI 仍会将已配置的 issuer 与令牌中的 `iss` 字段进行比较。 - 如果集群轮换服务账户签名密钥,请更新 Workload Identity Provider 配置中上传的 JWKS。由配置的 JWKS 中不存在的密钥签名的令牌将被拒绝。如果 JWKS 包含多个活动公钥,请包含完整的 `keys` 数组。 + 如果你的集群轮换服务账户签名密钥,请在 Workload Identity Provider 配置中更新已上传的 JWKS。使用未在已配置 JWKS 中出现的密钥签名的令牌将被拒绝。如果 JWKS 包含多个活跃的公钥,请包含完整的 `keys` 数组。 -4. **仅当需要派生映射属性时,才添加属性转换。** 原始令牌声明,如 `sub`, `aud`,以及 `iss` 可以直接用于映射断言。如果你计划匹配转换后的属性而不是原始令牌声明,仪表板会自动应用 `openai.` 前缀;例如,输入 `workload_subject` 并使用表达式 `assertion.sub` 来创建 `openai.workload_subject`。已经以 `openai.` 开头的原始令牌声明将被忽略,用于 `openai.` 映射键,除非配置了匹配的转换。 +4. **仅在需要派生映射属性时才添加属性转换。** 原始令牌声明,例如 `sub`, `aud`、和 `iss` 可以直接在映射断言中使用。如果你计划基于转换后的属性(而非原始令牌声明)进行匹配,控制面板会自动应用 `openai.` 前缀;例如,输入 `workload_subject` 并附带表达式 `assertion.sub` 以创建 `openai.workload_subject`。已经以 `openai.` 开头的原始令牌声明会在 `openai.` 映射键时被忽略,除非配置了匹配的转换。 -### 设置服务账号映射 +### 设置服务账户映射 -1. **创建服务账号映射。** 将 **名称** 设置为工作负载身份提供程序中的唯一值,例如 `openai-mapping-kubernetes`。使用 **描述**,例如 `Workload Identity Provider Mapping for Kubernetes Workloads`,来说明哪些工作负载可以使用该映射。 +1. **创建服务账号映射。** 设置 **Name** 为 Workload Identity Provider 内的唯一值,例如 `openai-mapping-kubernetes`。使用 **Description**,例如 `Workload Identity Provider Mapping for Kubernetes Workloads`,以说明哪些工作负载可以使用该映射。 -2. **匹配 Kubernetes 服务账号主题。** 将 **键** 设置为 `sub` ,并将 **值** 设置为 `system:serviceaccount:default:openai-wif`。对于 Kubernetes 服务账号,主题格式为 `system:serviceaccount::`. +2. **匹配 Kubernetes 服务账号主体。** 设置 **Key** 为 `sub` , **Value** 为 `system:serviceaccount:default:openai-wif`。对于 Kubernetes 服务账号,主体格式为 `system:serviceaccount::`. -3. **选择 OpenAI 目标。** 将 **项目** 设置为拥有目标服务账号的 OpenAI 项目。将 **服务账号** 到 OpenAI 服务账号,Kubernetes 工作负载可以使用该账号,例如 `kubernetes-prod-openai-wif`。请查看 `Create a new service account in this project` 如果你希望为此映射创建新的服务账号,而非复用现有账号。 +3. **选择 OpenAI 目标。** 设置 **Project** 为拥有目标服务账号的 OpenAI 项目。将 **Service account** 设置为 Kubernetes 工作负载可以使用的 OpenAI 服务账号,例如 `kubernetes-prod-openai-wif`。勾选 `Create a new service account in this project` ,如果你希望为此映射新建一个服务账号,而不是复用现有账号。 -4. **如有需要,收窄 API 权限。** 选择合适的 **权限** ,例如 `api.model.request` 和 `api.vector_store.read` ,以进一步收窄从此映射铸造的访问令牌。将权限留空可避免添加 WIF 特定的作用域限制;该令牌仍会以映射的服务账号进行授权。 +4. **根据需要收窄 API 权限。** 选择合适的 **Permissions** ,例如 `api.model.request` , `api.vector_store.read` 以进一步收窄基于此映射签发的访问令牌。留空权限可避免添加特定于 WIF 的范围限制;该令牌仍会以映射的服务帐号身份授权。 -## 在代码中使用令牌 +## Using the token in code -配置你的 OpenAI SDK 客户端,读取投射的 Kubernetes 令牌,并将其换取为 OpenAI 签发的访问令牌。 +配置你的 OpenAI SDK 客户端,以读取已投射的 Kubernetes 令牌并将其交换为 OpenAI 颁发的访问令牌。 -使用已挂载的令牌路径,例如 `/var/run/secrets/tokens/token`,作为 SDK 工作负载身份联合提供者的主题令牌来源。SDK 将该 Kubernetes 令牌换为 OpenAI 签发的访问令牌,并使用该 OpenAI 令牌来认证 API 请求。 +将已挂载的令牌路径(例如 `/var/run/secrets/tokens/token`)用作 SDK 工作负载身份联合提供方的主体令牌来源。SDK 会将该 Kubernetes 令牌交换为 OpenAI 颁发的访问令牌,并使用该 OpenAI 令牌对 API 请求进行身份验证。 -以下示例使用自定义的主题令牌提供者初始化一个 OpenAI 客户端。该提供者从已挂载的文件路径读取投射的 Kubernetes 服务账户令牌,并将其用作工作负载身份联合的主题令牌。 +以下示例演示如何使用自定义主体令牌提供方初始化 OpenAI 客户端。该提供方从已挂载的文件路径读取已投射的 Kubernetes 服务账户令牌,并将其用作工作负载身份联合的主体令牌。 -从 Kubernetes 投射的服务账户令牌进行认证 +使用 Kubernetes 投射的服务账户令牌进行身份验证 ```javascript import { readFile } from "node:fs/promises"; @@ -429,10 +429,10 @@ puts(response.output_text) ## Kubernetes 最佳实践 -- 使用稳定的 OIDC 签发者。签发者 URL 必须与投射的服务账户令牌中的声明匹配 `iss` ,并且应在集群升级和维护操作期间保持稳定。 -- 谨慎保护签名密钥。任何能访问集群服务账户签名密钥的人都可以铸造可能被 OpenAI 接受的令牌。 -- 为 OpenAI 集成使用专用服务账户。避免复用也用于无关基础设施或应用访问的服务账户。 -- 保持上传的 JWKS 为最新。在本地 JWKS 模式下,OpenAI 使用配置的 JWKS 来验证工作负载身份令牌,因此在轮换到新的签名密钥之前,请更新 Workload Identity Provider。 -- 尽量降低自定义声明复杂度。优先匹配标准声明,如 `sub` 和 `aud`,或直接由这些声明推导出的转换属性。 -- 将命名空间所有权视为安全模型的一部分。如果命名空间管理员可以创建服务账户,请确保映射范围设置适当,以防止意外的权限提升。 -- 监控签发者和签名密钥变更。在未更新 Workload Identity Provider JWKS 的情况下轮换签名密钥会导致令牌交换失败。 \ No newline at end of file +- 使用稳定的 OIDC 颁发者。颁发者 URL 必须与预期的服务账号令牌 `iss` 声明匹配,并在集群升级和维护操作期间保持稳定。 +- 妥善保护签名密钥。任何能够访问集群服务账号签名密钥的人员都可以生成可能被 OpenAI 接受的令牌。 +- 为 OpenAI 集成使用专用的服务账号。避免重复使用同时用于无关基础设施或应用程序访问的服务账号。 +- 保持上传的 JWKS 为最新。OpenAI 使用配置的 JWKS 在本地 JWKS 模式下验证工作负载身份令牌,因此请在轮换到新签名密钥之前更新 Workload Identity Provider。 +- 尽量降低自定义声明的复杂性。建议匹配标准声明,例如 `sub` , `aud`,或直接由这些声明派生的转换后的属性。 +- 将命名空间所有权视为安全模型的一部分。如果命名空间管理员可以创建服务账号,请确保映射的作用范围设置恰当,以防止意外的权限提升。 +- 监控颁发者和签名密钥的更改。在不更新 Workload Identity Provider JWKS 的情况下轮换签名密钥可能导致令牌交换失败。 \ No newline at end of file diff --git a/docs/zh/api/docs/guides/workload-identity-federation/oracle-cloud.md b/docs/zh/api/docs/guides/workload-identity-federation/oracle-cloud.md index ee3ec8a..3933131 100644 --- a/docs/zh/api/docs/guides/workload-identity-federation/oracle-cloud.md +++ b/docs/zh/api/docs/guides/workload-identity-federation/oracle-cloud.md @@ -1,18 +1,18 @@ -# 为 Oracle Cloud Infrastructure 配置工作负载身份联合 +# 为 Oracle 云基础设施配置工作负载身份联合 -> 如需查看完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。在页面 URL 末尾追加 `.md` 即可获取文档页面的 Markdown 版本。 -使用 Oracle Cloud Infrastructure (OCI) 作为工作负载身份提供者,通过将 Oracle Identity Cloud Service (IDCS) 访问令牌交换为短期有效的 OpenAI 访问令牌。OCI 实例主体向同一租户中的身份域签署令牌交换请求。OpenAI 验证生成的令牌,并授权 OCI 工作负载以映射的 OpenAI 服务账户身份运行。 +使用 Oracle Cloud Infrastructure (OCI) 作为 Workload 身份提供方,将 Oracle Identity Cloud Service (IDCS) 访问令牌交换为短时效的 OpenAI 访问令牌。OCI 实例主体对同一租户内身份域的令牌交换请求进行签名。OpenAI 验证得到的令牌,并授权该 OCI 工作负载作为映射的 OpenAI 服务账号进行操作。 -对于 Codex,请使用此页面获取并检查 Oracle 令牌。然后 [配置 Codex 工作负载身份](https://developers.openai.com/codex/enterprise/workload-identity) 将令牌写入文件并将 Codex 指向该文件。此页面上的服务账户映射和 SDK 示例适用于 OpenAI API。 +对于 Codex,使用本页面获取并检查 Oracle 令牌。然后 [配置 Codex workload identity](https://developers.openai.com/codex/enterprise/workload-identity) 将该令牌写入文件并让 Codex 指向它。本页中的服务账号映射和 SDK 示例适用于 OpenAI API。 -此设置不需要 OpenAI API 密钥、自定义 Oracle OAuth 资源应用或对自定义应用的动态组授权。 +此设置不需要 OpenAI API 密钥、自定义 Oracle OAuth 资源应用,或授予自定义应用的动态组授权。 ## 设置 OCI 工作负载 -在带有实例主体的 OCI Compute 实例上运行你的工作负载。对于 Oracle Kubernetes Engine (OKE),请确认是哪个身份对请求进行签名:标准实例主体签名者通常识别的是工作节点,而非单个 Kubernetes pod。 +在 OCI Compute 实例上使用实例主体(instance principal)运行你的工作负载。对于 Oracle Kubernetes Engine (OKE),请确认哪个身份为请求签名:标准的实例主体签名者通常标识的是工作节点,而不是单个 Kubernetes Pod。 -签名者从 [OCI 实例元数据服务](https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/gettingmetadata.htm)。获取凭据。验证工作负载是否能访问链路本地元数据端点: +签名者从 [OCI 实例元数据服务](https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/gettingmetadata.htm)。获取凭证。请验证工作负载能够访问 link-local 元数据端点: ```bash curl --fail --silent \ @@ -22,9 +22,9 @@ curl --fail --silent \ 工作负载还必须能够向其租户中的身份域发起出站 HTTPS 请求。元数据端点本身不需要 NAT 网关或互联网连接。 -### 请求 Oracle 身份令牌 +### Request an Oracle identity token -使用 `InstancePrincipalsSecurityTokenSigner` 来自 OCI Python SDK 对向你的身份域发起的 OAuth 令牌交换请求进行签名: +使用 `InstancePrincipalsSecurityTokenSigner` OCI Python SDK 向你的身份域发起 OAuth 令牌交换请求的签名: ```text POST https:///oauth2/v1/token @@ -35,11 +35,11 @@ scope=urn:opc:idm:__myscopes__ requested_token_type=urn:ietf:params:oauth:token-type:access_token ``` -该 `urn:opc:idm:__myscopes__` 范围利用实例主体的现有授权。将返回的 IDCS 访问令牌用作 OpenAI 工作负载身份联合的主体令牌。不要将 Oracle 令牌受众替换为 `https://api.openai.com/v1`;配置 OpenAI 提供程序时,应使用实际 Oracle 令牌中出现的受众。 +该 `urn:opc:idm:__myscopes__` scope 使用实例主体的现有授权。将返回的 IDCS 访问令牌作为 subject token 用于 OpenAI 工作负载身份联合。请勿将 Oracle 令牌 audience 替换为 `https://api.openai.com/v1`;请将 OpenAI 提供方配置为使用实际 Oracle 令牌中出现的 audience。 ### 验证令牌 -set `TOKEN` 改为由实际 OCI 工作负载生成的访问令牌,然后使用现有的本地 JWT 解码器检查其声明: +Set `TOKEN` 将其设置为由实际的 OCI 工作负载生成的访问令牌,然后使用现有的本地 JWT 解码器来检查其声明: ```python import base64 @@ -52,9 +52,9 @@ print(json.dumps(json.loads(base64.urlsafe_b64decode(payload)), indent=2)) ``` -解码器检查令牌但不验证其签名。将原始令牌视为敏感信息,不要记录它们,也不要将生产令牌粘贴到第三方 JWT 解码器中。 +该解码器在检查令牌时不会验证其签名。请将原始令牌视为敏感信息,不要记录它们,也不要将生产环境中的令牌粘贴到第三方 JWT 解码器中。 -解码后的 Oracle 访问令牌可能包含以下声明: +一个解码后的 Oracle 访问令牌可以包含以下声明: ```json { @@ -74,51 +74,51 @@ print(json.dumps(json.loads(base64.urlsafe_b64decode(payload)), indent=2)) } ``` -使用你自己的身份域颁发的令牌作为权威来源。配置精确的 `iss` 值和令牌的 `aud` 值之一。授权工作负载时,优先使用不可变的 `ipst_instance`, `ipst_compartment`, `domain_id`,以及 `ca_ocid` 声明。 +使用你自己的身份域所颁发的令牌作为可信来源。配置精确的 `iss` 值以及令牌中的一个 `aud` 值。优先使用不可变的 `ipst_instance`, `ipst_compartment`, `domain_id`,以及 `ca_ocid` 声明来对工作负载进行授权。 -## 设置工作负载身份联合 +## 配置工作负载身份联合 -为你的 Oracle 身份域创建一个工作负载身份提供程序,然后为可以使用目标 OpenAI 服务账户的 OCI 实例或隔离专区添加映射。 +为你的 Oracle 身份域创建一个工作负载身份提供者,然后为可使用目标 OpenAI 服务账户的 OCI 实例或 compartment 添加映射。 -### 设置工作负载身份提供程序 +### 设置 Workload Identity Provider -1. **创建工作负载身份提供程序。** 将 **名称** 设置为唯一值,例如 `oracle-cloud-prod`。使用 **说明**,例如 `Production OCI instance principal`,以标识受信任的工作负载。 +1. **创建 Workload Identity Provider。** 设置 **Name** 为唯一值,例如 `oracle-cloud-prod`。使用 **Description**,例如 `Production OCI instance principal`,以标识受信的工作负载。 -2. **设置颁发者和受众。** 将 **OIDC 颁发者 URL** 设置为令牌的 `iss` 声明,例如 `https://identity.oraclecloud.com/`。将 **受众** 设置为同一令牌中的 `aud` 值之一。 +2. **设置 issuer 和 audience。** 设置 **OIDC Issuer URL** 为令牌的 `iss` claim,例如 `https://identity.oraclecloud.com/`。将 **Audience** 设置为同一令牌中某个 `aud` 值。 -3. **在可用时配置特定于租户的 OIDC 发现。** 如果 **为 OIDC 发现使用自定义 URL** 出现在 **高级**,启用它。设置 **自定义 OIDC 发现 URL** 为你特定租户的身份域,例如 `https://idcs-example.identity.oraclecloud.com`。 OpenAI 检索 `https://idcs-example.identity.oraclecloud.com/.well-known/openid-configuration`,然后使用发现文档的 `jwks_uri` 来获取租户的公共签名密钥。如果自定义发现选项不出现,启用 **使用上传的 JWKS 进行令牌验证** 并从以下位置上传公共 JWKS `https:///admin/v1/SigningCert/jwk` 代替。 +3. **在可用时配置租户专用的 OIDC 发现。** 如果 **Use custom URL for OIDC discovery** 出现在 **Advanced**,启用它。将 **Custom OIDC discovery URL** 设置为你的租户特定身份域,例如 `https://idcs-example.identity.oraclecloud.com`。OpenAI 会获取 `https://idcs-example.identity.oraclecloud.com/.well-known/openid-configuration`,然后使用发现文档的 `jwks_uri` 来获取该租户的公钥签名密钥。如果没有显示自定义发现选项,请启用 **Use uploaded JWKS for token verification** 并从 `https:///admin/v1/SigningCert/jwk` 上传公钥 JWKS。 -4. **只有在需要派生属性时才添加属性转换。** 你可以使用原始 Oracle 声明,例如 `ipst_instance`, `ipst_compartment`, `domain_id`,以及 `ca_ocid` 直接在服务账户映射断言中使用。对于显式派生的实例属性,请输入 `instance` 使用表达式 `assertion.ipst_instance` 来创建 `openai.instance`. +4. **仅当需要派生属性时,才添加属性转换。** 你可以在服务账号映射断言中直接使用原始 Oracle 声明,例如 `ipst_instance`, `ipst_compartment`, `domain_id`,和 `ca_ocid` 。对于显式派生的实例属性,请输入 `instance` 并附带表达式 `assertion.ipst_instance` 以创建 `openai.instance`. -Oracle 的 [OpenID Connect 发现参考](https://docs.oracle.com/en/cloud/paas/identity-cloud/idcsa/op-well-known-openid-configuration-get.html) 说明了为什么自定义发现很重要:发现文档可以声明全局签发者 `https://identity.oraclecloud.com/` 同时将令牌端点发布在 `jwks_uri` 租户特定的身份域上。请将全局签发者保留在 **OIDC 签发者 URL** 中,并使用租户域作为 **自定义 OIDC 发现 URL**. +Oracle 的 [OpenID Connect 发现参考](https://docs.oracle.com/en/cloud/paas/identity-cloud/idcsa/op-well-known-openid-configuration-get.html) 说明了为何自定义发现很重要:发现文档可以声明全局颁发者 `https://identity.oraclecloud.com/` 同时发布令牌端点和 `jwks_uri` 在租户专属身份域上。在 **OIDC Issuer URL** 中保留全局颁发者,并使用租户域作为 **Custom OIDC discovery URL**. -如果你的身份域在令牌签发者处发布发现元数据, - 请保持自定义发现禁用并使用标准 OIDC 发现。如果 OpenAI +如果你的身份域在令牌颁发者处发布发现元数据, + 请保持自定义发现禁用,并使用标准 OIDC 发现。如果 OpenAI 无法访问租户发现文档或签名密钥端点,请禁用 - 自定义发现,启用 **使用上传的 JWKS 进行令牌验证**,并 - 从 - `https:///admin/v1/SigningCert/jwk`。上传租户的公共 JWKS。自定义发现和 + 自定义发现,并启用 **Use uploaded JWKS for token verification**,以及 + 从以下位置上传租户的公共 JWKS: + `https:///admin/v1/SigningCert/jwk`。自定义发现与 上传的 JWKS 不能同时启用。当 Oracle 轮换其签名证书时,请更新上传的密钥。 -### 设置服务账户映射 +### 设置服务账号映射 -1. **创建服务账户映射。** 将 **名称** 设置为唯一值,例如 `oracle-instance-prod`,并添加一条描述,用于标识受信任的 OCI 工作负载。 +1. **创建服务账户映射。** 设置 **Name** 为唯一值,例如 `oracle-instance-prod`,并添加用于标识可信 OCI 工作负载的描述。 -2. **匹配最窄的稳定 OCI 身份。** 要授予对单个实例的访问权限,请将 **键** 设置为 `ipst_instance` 并将 **值** 设置为经验证令牌中的确切实例 OCID。要授予对某个隔离专区中所有实例的访问权限,请将 **键** 设置为 `ipst_compartment` 并将 **值** 设置为确切的隔离专区 OCID。 +2. **匹配最窄且稳定的 OCI 身份。** 若要授予对单个实例的访问权限,请将 **Key** 设置为 `ipst_instance` ,并将 **Value** 设置为已验证令牌中的确切实例 OCID。若要授予对同一 compartment 内多个实例的访问权限,请将 **Key** 设置为 `ipst_compartment` ,并将 **Value** 设置为确切的 compartment OCID。 -3. **根据需要添加域和租户边界。** 为以下项添加更多映射行: `domain_id` 或 `ca_ocid` 将工作负载限制到特定的 Oracle 身份域或租户。添加 `sub_type` 值为 `instance` 当令牌包含该声明且你要求实例主体时。所有映射行必须匹配。 +3. **根据需要添加 domain 和 tenancy 边界。** 添加进一步的映射行,针对 `domain_id` 或 `ca_ocid` 以将工作负载限制为特定的 Oracle 身份 domain 或 tenancy。添加 `sub_type` ,其值为 `instance` ,当令牌包含该声明并且你希望要求使用实例主体时使用。所有映射行都必须匹配。 -4. **选择 OpenAI 目标。** 设置 **Project** 为拥有服务账户的项目,然后选择 **Service account** 可信的 OCI 工作负载可以使用它。 +4. **选择 OpenAI 目标。** 设置 **Project** 为拥有该服务账户的项目,然后选择 **Service account** 以便受信任的 OCI 工作负载可以使用。 -5. **如有需要,缩小 API 权限范围。** 仅选择 **Permissions** 工作负载所需的。映射权限可以限制所选服务账户,但不能授予服务账户本身没有的权限。 +5. **根据需要收窄 API 权限。** 仅选择 **Permissions** 工作负载所需的权限。映射权限可以限制所选服务账号,但无法授予该服务账号原本没有的权限。 -使用标准实例主体签名器的 OKE 工作负载继承 - 工作节点身份。实例级映射授权的是该节点,而 - 不仅仅是某个 Pod。当你在共享同一工作节点的 Pod 之间需要隔离时, - 请使用更具体且受支持的 OCI 工作负载身份。 +使用标准实例主体签名者的 OKE 工作负载会继承 + 工作节点的身份。实例级映射授权的是该节点,而 + 不是单个 Pod。当你在共享同一工作节点的 Pod 之间需要隔离时, + 请使用更具体的、受支持的 OCI 工作负载身份。 -## 在代码中使用令牌 +## 在代码中使用该 token 安装 OpenAI、OCI 和 Requests Python 包: @@ -126,9 +126,9 @@ Oracle 的 [OpenID Connect 发现参考](https://docs.oracle.com/en/cloud/paas/i pip install openai oci requests ``` -将 `OCI_IDENTITY_DOMAIN_URL` 设置为与工作负载同一租户中身份域的基 URL。将 `OPENAI_IDENTITY_PROVIDER_ID` 和 `OPENAI_SERVICE_ACCOUNT_ID` 设置为来自你的 OpenAI 提供商和服务账户映射的 ID。 +Set `OCI_IDENTITY_DOMAIN_URL` 设置为同一租户中工作负载所在身份域的基础 URL。 `OPENAI_IDENTITY_PROVIDER_ID` 将 `OPENAI_SERVICE_ACCOUNT_ID` 设置为 OpenAI 提供方和服务账户映射中的 ID。 -以下示例使用 OCI 实例主体签署 Oracle 令牌交换请求,将 IDCS 访问令牌返回给 OpenAI SDK,并让 SDK 在需要时将其交换为短期 OpenAI 访问令牌: +以下示例使用 OCI 实例主体对 Oracle 令牌交换请求进行签名,将 IDCS 访问令牌返回给 OpenAI SDK,并允许该 SDK 在需要时将其交换为短期有效的 OpenAI 访问令牌: 使用 OCI 实例主体进行身份验证 @@ -189,14 +189,14 @@ print(response.output_text) ``` -当 OpenAI SDK 需要续订工作负载身份凭据时,主体令牌提供程序会请求新的 Oracle 令牌。切勿打印或持久化 Oracle 主体令牌或生成的 OpenAI 访问令牌。 +当 OpenAI SDK 需要续期工作负载身份凭据时,主体令牌提供方会请求一个新的 Oracle 令牌。切勿打印或持久化 Oracle 主体令牌以及由此获得的 OpenAI 访问令牌。 ## OCI 安全建议 -- 将单个实例映射到 `ipst_instance` 当只有一个工作负载应具有访问权限时。 -- 使用 `ipst_compartment` 仅当该 compartment 中的所有合格实例都应共享该映射时。 -- 添加 `domain_id` 或 `ca_ocid` 以强制执行身份域和租户边界。 -- 为每个应用程序和环境使用单独的 OpenAI 服务帐户。 -- 在依赖 pod 级隔离之前,验证 OKE token 是否代表工作节点。 -- 使用 Oracle 签发的 token 中存在的 audience,而不是假设 OpenAI 特定的 audience。 -- 如果你的身份域无法使用 OIDC 发现,请在 Oracle 轮换其签名密钥时轮换上传的公钥。 \ No newline at end of file +- 映射一个实例,使用 `ipst_instance` 当只有一个工作负载应具有访问权限时。 +- 使用 `ipst_compartment` 仅在该隔间中的每个符合条件的实例都应共享该映射时。 +- 添加 `domain_id` 或 `ca_ocid` 以强制实施身份域和租户边界。 +- 为每个应用程序和环境使用一个独立的 OpenAI 服务账户。 +- 在依赖 Pod 级别隔离之前,请验证 OKE 令牌是否代表工作节点。 +- 使用已签发的 Oracle 令牌中存在的受众,而不是假设一个 OpenAI 特定的受众。 +- 如果你的身份域无法使用 OIDC 发现,请在 Oracle 轮换其签名密钥时轮换已上传的公钥。 \ No newline at end of file diff --git a/docs/zh/api/docs/guides/workload-identity-federation/spiffe.md b/docs/zh/api/docs/guides/workload-identity-federation/spiffe.md index 129ab51..07f152a 100644 --- a/docs/zh/api/docs/guides/workload-identity-federation/spiffe.md +++ b/docs/zh/api/docs/guides/workload-identity-federation/spiffe.md @@ -1,34 +1,34 @@ # 为 SPIFFE 配置工作负载身份联合 -> 查看完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后添加 `.md` 来获取。 +> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。在页面 URL 末尾追加 `.md` 即可获取对应文档页面的 Markdown 版本。 -通过将 SPIFFE JWT-SVID 交换为短期 OpenAI 访问令牌,将 SPIFFE 用作工作负载身份提供程序。这允许由 SPIRE 或其他兼容 SPIFFE 的身份提供程序认证的工作负载调用 OpenAI API,而无需存储长期 API 密钥。 +使用 SPIFFE 作为工作负载身份提供方,通过交换 SPIFFE JWT-SVID 来获取短时OpenAI 访问令牌。这使得经 SPIRE 或其他兼容 SPIFFE 的身份提供方认证的工作负载能够调用 OpenAI API,而无需存储长期有效的 API 密钥。 -对于 Codex,使用此页面获取和检查 JWT-SVID。然后 [配置 Codex 工作负载身份](https://developers.openai.com/codex/enterprise/workload-identity) 将该令牌写入文件并将 Codex 指向它。此页面上的服务账户映射和 SDK 示例适用于 OpenAI API。 +对于 Codex,使用本页获取并检查 JWT-SVID。然后 [配置 Codex 工作负载身份](https://developers.openai.com/codex/enterprise/workload-identity) 以将该令牌写入文件并指向 Codex。本页中的服务账号映射和 SDK 示例同样适用于 OpenAI API。 -OpenAI 支持可验证为 JWT 主题令牌的 SPIFFE JWT-SVID,这些令牌包含签发者、受众、过期时间、签发时间和 JWKS 支持的签名。OpenAI 不支持将 SPIFFE X.509-SVID 作为工作负载身份联合主题令牌。 +OpenAI 支持可作为 JWT 主体令牌进行验证的 SPIFFE JWT-SVID,其包含 issuer、audience、expiration、issued-at 时间戳以及由 JWKS 支持的签名。OpenAI 不支持将 SPIFFE X.509-SVID 作为工作负载身份联合的主体令牌。 -JWT-SVID 规范要求 `sub`, `aud`,和 `exp` 声明。要将 JWT-SVID 与 OpenAI 一起使用,令牌还必须包含 `iss` 和 `iat` 声明以及 `kid` 头,以便 OpenAI 可以针对工作负载身份提供程序配置验证令牌。 +JWT-SVID 规范要求提供 `sub`, `aud`,以及 `exp` 声明。要将 JWT-SVID 用于 OpenAI,该令牌还必须包含 `iss` 和 `iat` 声明以及一个 `kid` 请求头,以便 OpenAI 能够根据工作负载身份提供方配置验证该令牌。 -JWT-SVID 不是 OpenID Connect ID 令牌。SPIRE OIDC 发现提供程序提供发现元数据和 JWKS 密钥,以便 OpenAI 可以验证 JWT-SVID;它不会改变令牌的 SPIFFE 语义,也不需要 OIDC 登录流程。 +JWT-SVID 不是 OpenID Connect ID token。SPIRE OIDC 发现服务提供发现元数据和 JWKS 密钥,使 OpenAI 能够验证 JWT-SVID;它不会改变令牌的 SPIFFE 语义,也不需要 OIDC 登录流程。 -有关 SPIFFE 术语和令牌要求,请参阅 SPIFFE [JWT-SVID 规范](https://spiffe.io/docs/latest/spiffe-specs/jwt-svid/) 和 [工作负载 API 规范](https://spiffe.io/docs/latest/spiffe-specs/spiffe_workload_api/). +有关 SPIFFE 术语和令牌要求,请参阅 SPIFFE [JWT-SVID 规范](https://spiffe.io/docs/latest/spiffe-specs/jwt-svid/) 和 [Workload API 规范](https://spiffe.io/docs/latest/spiffe-specs/spiffe_workload_api/). -## 设置 SPIFFE +## Setting up SPIFFE -配置你的 SPIFFE 提供程序,为需要调用 OpenAI API 的工作负载签发 JWT-SVID。这些说明使用 SPIRE 术语,但相同的 OpenAI 配置适用于任何与 SPIFFE 兼容的提供程序,只要其签发的 JWT-SVID 具有 OpenAI 能够验证的发行者和 JWKS 签名材料。 +将你的 SPIFFE 提供方配置为向需要调用 OpenAI API 的工作负载签发 JWT-SVID。这些说明使用了 SPIRE 术语,但相同的 OpenAI 配置同样适用于任何与 SPIFFE 兼容、且所签发的 JWT-SVID 带有 OpenAI 可验证的 issuer 和 JWKS 签名材料的提供方。 -你的 SPIFFE 设置必须提供: +你的 SPIFFE 配置必须提供: - 工作负载的稳定 SPIFFE ID,例如 `spiffe://example.org/ns/production/sa/openai-wif`. -- 专用于 OpenAI 访问的单个 JWT-SVID 受众,例如 `https://api.openai.com/v1` 或你选择的其他不透明值。 -- 出现在 JWT-SVID 中的 JWT 签发者 URL `iss` 声明,供 OpenAI 验证。 -- JWT-SVID 签名密钥的公共 JWKS,可通过 OIDC 发现或上传的 JWKS 获取。 -- 从 SPIFFE Workload API 获取新 JWT-SVID 的工作负载端方式。 +- 专用于 OpenAI 访问的单一 JWT-SVID 受众,例如 `https://api.openai.com/v1` 或你选择的其他不透明值。 +- JWT-SVID 中用于 OpenAI 验证的 JWT 颁发者 URL 声明 `iss` 。 +- JWT-SVID 签名密钥对应的公共 JWKS,可通过 OIDC 发现机制获取或上传 JWKS。 +- 在工作负载侧从 SPIFFE Workload API 获取最新 JWT-SVID 的方式。 -受众是一个精确匹配的标识符,不一定是要接收 JWT-SVID 的端点。你可以使用 `https://api.openai.com/v1` 或其他特定于服务的值,只要 SPIFFE Workload API 请求和 OpenAI 提供者配置匹配即可。 +audience 是一个精确匹配的标识符,不一定是接收 JWT-SVID 的端点。你可以使用 `https://api.openai.com/v1` 或其他特定于服务的值,只要 SPIFFE Workload API 请求和 OpenAI 提供方配置相匹配。 -如果可能,请通过你的 SPIRE OIDC Discovery Provider 暴露 SPIFFE 签发者。配置 SPIRE Server `jwt_issuer` 和 OIDC Discovery Provider `jwt_issuer` 使用同一个 HTTPS 签发者 URL,你将在此 URL 中配置 OpenAI。 +如果可能,请通过你的 SPIRE OIDC Discovery Provider 公开 SPIFFE 颁发者。配置 SPIRE Server `jwt_issuer` 和 OIDC Discovery Provider `jwt_issuer` 为同一个 HTTPS 颁发者 URL,你将在 OpenAI 中配置该 URL。 在 SPIRE Server 配置中: @@ -39,7 +39,7 @@ server { } ``` -在单独的 SPIRE OIDC Discovery Provider 配置中: +在独立的 SPIRE OIDC Discovery Provider 配置中: ```hcl # Relevant issuer fields only @@ -47,9 +47,9 @@ domains = ["spire-oidc.example.org"] jwt_issuer = "https://spire-oidc.example.org" ``` -OIDC Discovery Provider 配置还需要一个密钥材料源,例如 `server_api`, `workload_api`,或 `file`,以及一个提供机制,例如 ACME、TLS 证书或 Unix 套接字。请参阅 [SPIRE OIDC Discovery Provider 文档](https://github.com/spiffe/spire/tree/main/support/oidc-discovery-provider) 以获取完整的配置选项。 +OIDC Discovery Provider 配置还需要一个密钥材料来源,例如 `server_api`, `workload_api`,或 `file`,以及一个服务机制,例如 ACME、TLS 证书或 Unix 套接字。请参阅 [SPIRE OIDC Discovery Provider 文档](https://github.com/spiffe/spire/tree/main/support/oidc-discovery-provider) 了解完整的配置选项。 -SPIFFE 信任域和 JWT 签发者是不同的概念。在此示例中,JWT-SVID 主题是 `example.org` 信任域中的 SPIFFE ID,而签发者是 HTTPS 签发者 URL: +SPIFFE 信任域和 JWT 颁发者是不同的概念。在本示例中,JWT-SVID subject 是位于 `example.org` 信任域中的 SPIFFE ID,而颁发者是 HTTPS 颁发者 URL: ```json { @@ -58,13 +58,13 @@ SPIFFE 信任域和 JWT 签发者是不同的概念。在此示例中,JWT-SVID } ``` -SPIRE OIDC Discovery Provider 提供服务 OIDC 发现文档和 JWKS 端点,OpenAI 可以在以下情况下使用 **使用上传的 JWKS 进行令牌验证** 被禁用时。 +SPIRE OIDC Discovery Provider 提供 OIDC 发现文档和 JWKS 端点,OpenAI 可以在 **使用上传的 JWKS 进行令牌验证** 被禁用时使用它们。 -如果 OpenAI 无法访问你的签发者发现端点,请改用上传的 JWKS 模式。在该模式下,OpenAI 仍会将 Workload Identity Provider 签发者与 JWT-SVID `iss` 声明进行比较,但会根据你保存在 Workload Identity Provider 上的 JWKS JSON 验证签名。 +如果 OpenAI 无法访问你的颁发者发现端点,请改用上传的 JWKS 模式。在该模式下,OpenAI 仍会将 Workload Identity Provider 颁发者与 JWT-SVID `iss` claim 进行比较,但会根据你在 Workload Identity Provider 上保存的 JWKS JSON 来验证签名。 -> **注意:** SPIFFE JWT-SVID 规范使 JWT 头部 `kid` 成为可选,但 OpenAI 要求 JWT 主体令牌包含 `kid` 头部,以便从配置的 JWKS 中选择签名密钥。如果你的 SPIFFE 提供程序可以省略 `kid`,请配置它包含一个用于 OpenAI 工作负载身份联合。 +> **注意:** SPIFFE JWT-SVID 规范将 JWT 头部设为可选,但 `kid` OpenAI 要求 JWT subject 令牌必须包含 `kid` header,以便从已配置的 JWKS 中选择签名密钥。如果你的 SPIFFE 提供方可以省略 `kid`,将其配置为包含一个用于 OpenAI 工作负载身份联合的凭据。 -要检查能够调用 SPIFFE Workload API 的工作负载的 JWT-SVID,请为你在 OpenAI 中配置的同一受众请求一个。在与应用程序相同的工作负载上下文中运行此命令,因为 Workload API 授权取决于调用进程的身份。 +要从可以调用 SPIFFE Workload API 的工作负载中检查 JWT-SVID,请为将在 OpenAI 中配置的同一个 audience 请求一个 SVID。请在与应用程序相同的工作负载上下文中运行此命令,因为 Workload API 授权依赖于调用进程的身份。 ```bash TOKEN=$(spire-agent api fetch jwt \ @@ -73,7 +73,7 @@ TOKEN=$(spire-agent api fetch jwt \ export TOKEN ``` -如果你的工作负载有多个 SPIFFE ID,请请求特定身份: +如果你的工作负载具有多个 SPIFFE ID,请请求特定的身份: ```bash TOKEN=$(spire-agent api fetch jwt \ @@ -85,7 +85,7 @@ export TOKEN ## 验证令牌 -在配置工作负载身份联合之前,请将 JWT-SVID 导出为 `TOKEN`,然后在本地运行此脚本以检查其头部和声明: +在配置 workload identity federation 之前,将 JWT-SVID 导出为 `TOKEN`,然后在本地运行此脚本以检查其 header 和 claims: ```python import base64 @@ -109,9 +109,9 @@ print(json.dumps(decode(parts[1]), indent=2)) ``` -此命令解码 JWT 时不验证令牌签名。请对生产令牌使用本地解码器,并避免将生产令牌粘贴到第三方工具中。 +该命令在不验证令牌签名的情况下解码 JWT。在生产环境中请使用本地解码器,并避免将生产令牌粘贴到第三方工具中。 -解码后的 SPIFFE JWT-SVID 看起来类似于: +解码后的 SPIFFE JWT-SVID 看起来类似: ```json { @@ -130,45 +130,45 @@ print(json.dumps(decode(parts[1]), indent=2)) } ``` -在交换令牌之前,请使用解码后的令牌将收到的令牌与 OpenAI 配置进行比较。检查 `alg` 和 `kid` 在头部中,以及 `iss`, `aud`, `sub`, `iat`,并且 `exp` 在负载中。确切的 `alg` 值取决于你的 SPIRE Server JWT 签名密钥配置。 +在交换令牌之前,使用解码后的令牌将你收到的令牌与 OpenAI 配置进行比较。请检查 `alg` 和 `kid` header 中的相应字段,以及 `iss`, `aud`, `sub`, `iat`,以及 `exp` payload 中的相应字段。具体的 `alg` 值取决于你的 SPIRE Server JWT signing-key 配置。 ## 设置工作负载身份联合 -在 OpenAI 中为 SPIFFE JWT-SVID 颁发者创建一个工作负载身份提供者,然后添加一个与你信任的 SPIFFE ID 匹配的服务账户映射。 +在 OpenAI 中为 SPIFFE JWT-SVID 颁发者创建一个工作负载身份提供方(Workload Identity Provider),然后添加一个与你所信任的 SPIFFE ID 相匹配的服务账号映射。 -### 设置工作负载身份提供程序 +### 配置 Workload Identity Provider -1. **创建工作负载身份提供方。** 将 **名称** 设置为唯一值,例如 `spiffe-prod`。使用 **描述**,例如 `Production SPIFFE workloads`,以帮助管理员识别该提供方。 +1. **创建 Workload Identity Provider。** 将 **Name** 设置为唯一值,例如 `spiffe-prod`。使用 **Description**,例如 `Production SPIFFE workloads`,以帮助管理员识别该 Provider。 -2. **设置签发方和受众。** 将 **OIDC 签发方 URL** 设置为 JWT-SVID 的 `iss` 声明的确切值,例如 `https://spire-oidc.example.org`。将 **受众** 设置为从 SPIFFE Workload API 请求的受众值。在本示例中,该值为 `https://api.openai.com/v1`. +2. **设置 issuer 和 audience。** 将 **OIDC Issuer URL** 为 JWT-SVID 的 `iss` 声明的确切值,例如 `https://spire-oidc.example.org`。将 **Audience** 设置为 SPIFFE Workload API 所请求的 audience 值。在本示例中,该值为 `https://api.openai.com/v1`. -3. **选择 JWKS 来源。** 当 OpenAI 能够访问你的 SPIRE OIDC 发现提供方时,保持 **使用上传的 JWKS 进行令牌验证** 为禁用状态。OpenAI 使用 OIDC 发现及发现的 JWKS 来验证 JWT-SVID 签名。 +3. **选择 JWKS 来源。** 保留 **Use uploaded JWKS for token verification** 处于禁用状态当 OpenAI 可以访问你的 SPIRE OIDC Discovery Provider 时。OpenAI 使用 OIDC discovery 以及发现的 JWKS 来验证 JWT-SVID 签名。 - 如果令牌颁发者无法从 OpenAI 访问,请启用 **使用上传的 JWKS 进行令牌验证**,然后设置 **JWKS JSON** 为 JWT-SVID 签名密钥的公共密钥集。上传完整的公共 JWKS 对象,包括周围的 `keys` 数组。不要包含私钥材料。 + 如果 OpenAI 无法访问该 issuer,请启用 **Use uploaded JWKS for token verification**,然后将 **JWKS JSON** 设置为用于 JWT-SVID 签名的公钥集。上传完整的公钥 JWKS 对象,包括外层的 `keys` 数组。请勿包含私钥材料。 -4. **仅当你需要派生的映射属性时,才添加属性转换。** 直接从 `sub`。映射时,属性转换不是必需的。仅当你需要从一个或多个令牌声明中派生映射值时,才使用它们。有关转换行为,请参见 [主要工作负载身份联合指南](https://developers.openai.com/api/docs/guides/workload-identity-federation#transform-token-claims-with-cel) 。 +4. **仅在需要派生映射属性时添加属性转换。** 直接从 `sub`。进行映射时无需使用属性转换。仅当需要从一个或多个令牌声明派生映射值时才使用它们。参阅 [工作负载身份联合主指南](https://developers.openai.com/api/docs/guides/workload-identity-federation#transform-token-claims-with-cel) 了解转换行为。 -### 设置服务账号映射 +### 设置服务账户映射 -1. **创建服务账号映射。** 将 **名称** 设置为工作负载身份提供方内的唯一值,例如 `production-openai-wif`。使用 **描述**,例如 `Production SPIFFE workload for OpenAI API access`,以说明哪个工作负载可以使用该映射。 +1. **创建一个服务账号映射。** 将 **Name** 映射到 Workload Identity Provider 内的唯一值,例如 `production-openai-wif`。使用 **Description**,例如 `Production SPIFFE workload for OpenAI API access`,以说明哪些工作负载可以使用该映射。 -2. **匹配 SPIFFE ID。** 将 **键** 设置为 `sub` 并将 **值** 设置为工作负载的 SPIFFE ID,例如 `spiffe://example.org/ns/production/sa/openai-wif`. +2. **匹配 SPIFFE ID。** 将 **Key** 为 `sub` ,Value **为** 工作负载的 SPIFFE ID,例如 `spiffe://example.org/ns/production/sa/openai-wif`. - 对于特权工作负载,建议使用精确的 SPIFFE ID 匹配。仅当该前缀下的每个 SPIFFE ID 都应能够铸造 OpenAI 访问令牌时,才使用尾部通配符。例如, `spiffe://example.org/ns/production/sa/*` 允许任何匹配的生产服务账号路径。 + 对于特权工作负载,应优先使用精确 SPIFFE ID 匹配。仅在该前缀下的每个 SPIFFE ID 都应能够生成 OpenAI 访问令牌时,才使用尾部通配符。例如, `spiffe://example.org/ns/production/sa/*` 允许任何匹配的生产环境服务账号路径。 -3. **选择 OpenAI 目标。** 将 **项目** 到拥有目标服务账号的OpenAI项目。设置 **Service account** 为SPIFFE工作负载可以使用的OpenAI服务账号,例如 `spiffe-prod-openai-wif`. 检查 `Create a new service account in this project` 如果你希望为此映射创建新的服务账号,而不是复用现有账号。 +3. **选择 OpenAI 目标。** 将 **Project** 设置为拥有目标服务账号的 OpenAI 项目;将 **Service account** 设置为 SPIFFE 工作负载可以使用的 OpenAI 服务账号,例如 `spiffe-prod-openai-wif`。勾选 `Create a new service account in this project` 可为此映射新建一个服务账号,而不是复用现有服务账号。 -4. **如需,则收紧API权限。** 选择合适的 **Permissions** ,例如 `api.model.request` 和 `api.vector_store.read` ,以进一步缩小由此映射铸造的访问令牌范围。将权限留空以避免添加WIF特定的范围限制;令牌仍然以映射服务账号的身份授权。 +4. **根据需要收窄 API 权限。** 选择适当的 **Permissions** such as `api.model.request` ,Value `api.vector_store.read` 以进一步收窄从此映射生成的访问令牌。保持权限留空可避免添加 WIF 专属的范围限制;该令牌仍会以所映射服务账号的身份授权。 -## 在代码中使用令牌 +## 在代码中使用 token -配置你的 OpenAI SDK 客户端,将新的 SPIFFE JWT-SVID 交换为 OpenAI 签发的访问令牌。 +配置你的 OpenAI SDK 客户端,使用新的 SPIFFE JWT-SVID 换取 OpenAI 颁发的访问令牌。 -下面的 SDK 示例假设你的 SPIFFE 集成会刷新 JWT-SVID 并将其写入 `/var/run/spiffe/openai.jwt`。保持该文件仅对工作负载可读。由于 JWT-SVID 是短期的,请在令牌过期前刷新文件。或者,尽可能在主题令牌提供程序中使用特定语言的 SPIFFE 库直接从 SPIFFE Workload API 获取 JWT-SVID,以避免令牌文件过期。 +下面的 SDK 示例假设你的 SPIFFE 集成会刷新 JWT-SVID 并将其写入 `/var/run/spiffe/openai.jwt`。请将该文件设为仅对工作负载可读。由于 JWT-SVID 生命周期较短,请在令牌过期前刷新该文件。或者,尽可能在 subject token provider 中使用特定语言的 SPIFFE 库直接从 SPIFFE Workload API 获取 JWT-SVID,以避免令牌文件过期。 -设置 `OPENAI_IDENTITY_PROVIDER_ID` 和 `OPENAI_SERVICE_ACCOUNT_ID` 在工作负载环境中。令牌文件包含外部主体令牌。 `OPENAI_IDENTITY_PROVIDER_ID` 标识 OpenAI Workload Identity Provider,且 `OPENAI_SERVICE_ACCOUNT_ID` 标识目标 OpenAI 服务账号。OpenAI 然后根据令牌声明为该提供程序和服务账号查找匹配的映射。 +在 `OPENAI_IDENTITY_PROVIDER_ID` 和 `OPENAI_SERVICE_ACCOUNT_ID` 中设置。工作负载环境中的令牌文件包含外部 subject token。 `OPENAI_IDENTITY_PROVIDER_ID` 标识 OpenAI 工作负载身份提供方,而 `OPENAI_SERVICE_ACCOUNT_ID` 标识目标 OpenAI 服务账号。OpenAI 然后会根据令牌声明为该提供方和服务账号查找匹配的映射。 -从 SPIFFE JWT-SVID 进行身份验证 +使用 SPIFFE JWT-SVID 进行身份验证 ```javascript import { readFile } from "node:fs/promises"; @@ -455,12 +455,12 @@ puts(response.output_text) ## SPIFFE 最佳实践 -- 使用 JWT-SVID 进行 OpenAI 工作负载身份联合。X.509-SVID 适用于双向 TLS,但 OpenAI 令牌交换端点不接受它们。 -- 为 OpenAI 访问使用单一专用受众。避免使用过宽的受众,如整个信任域或环境名称。 -- 尽可能匹配精确的 SPIFFE ID。仅对有意共享的信任边界使用通配符映射。 -- 保持 JWT-SVID 生命周期短以减少承载令牌重放风险。OpenAI 访问令牌永远不会超过用于交换的外部主体令牌。 -- 谨慎轮换签名密钥。在轮换窗口期间通过 OIDC 发现发布新旧公钥,或在使用新密钥签发 JWT-SVID 之前更新上传的公钥 JWKS `kid`. -- 保持 SPIRE Server 和工作负载时钟同步。显著的时钟偏差可能导致原本有效的 JWT-SVID 被拒绝,因为尚未生效、过期或已失效。 -- 保护 SPIFFE 工作负载 API 套接字。能够获取工作负载 JWT-SVID 的进程可能会尝试将其交换为 OpenAI 访问权限。 -- 使 OpenAI 服务账户边界与你的应用程序和环境权限边界对齐。不要在无关的 SPIFFE 工作负载之间共享高权限服务账户。 -- 监控令牌交换失败,以及颁发者、受众、签名密钥和映射不匹配。 \ No newline at end of file +- 使用 JWT-SVID 进行 OpenAI 工作负载身份联邦。X.509-SVID 适用于双向 TLS,但不被 OpenAI 令牌交换端点接受。 +- 为 OpenAI 访问使用单一专用受众。避免使用诸如整个信任域或环境名称之类的宽泛受众。 +- 尽可能匹配精确的 SPIFFE ID。仅在有意共享的信任边界中使用通配符映射。 +- 保持较短的 JWT-SVID 生命周期,以降低持有者令牌重放风险。OpenAI 访问令牌的生命周期永远不会超过用于交换的外部主体令牌。 +- 谨慎轮换签名密钥。在轮换窗口期内通过 OIDC 发现同时发布新旧公钥,或在用新密钥签发 JWT-SVID 之前更新已上传的公钥 JWKS `kid`. +- 保持 SPIRE Server 与工作负载时钟同步。显著的时钟偏差可能导致原本有效的 JWT-SVID 被视为尚未生效、过旧或已过期而被拒绝。 +- 保护 SPIFFE Workload API 套接字。能够获取某个工作负载 JWT-SVID 的进程可以尝试将其交换为 OpenAI 访问权限。 +- 将 OpenAI 服务账号边界与你的应用和环境权限边界对齐。不要在无关的 SPIFFE 工作负载之间共享高权限服务账号。 +- 监控发行方、受众、签名密钥以及映射不匹配导致的令牌交换失败。 \ No newline at end of file diff --git a/docs/zh/api/docs/guides/workload-identity-federation/x509.md b/docs/zh/api/docs/guides/workload-identity-federation/x509.md index 83b3104..07cf7ed 100644 --- a/docs/zh/api/docs/guides/workload-identity-federation/x509.md +++ b/docs/zh/api/docs/guides/workload-identity-federation/x509.md @@ -1,62 +1,62 @@ # 使用 X.509 证书配置工作负载身份联合 -> 有关完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。在页面 URL 末尾附加 `.md` 即可获取该页面的 Markdown 版本。 -X.509 工作负载身份联合允许工作负载将 TLS 客户端证书中的身份交换为短期 OpenAI 访问令牌。然后,工作负载使用访问令牌和已接受的客户端证书调用 OpenAI API。此流程取代了 API 密钥,而非客户端证书。 +X.509 工作负载身份联合让工作负载能够将 TLS 客户端证书中的身份交换为短期 OpenAI 访问令牌。然后,工作负载会同时携带该访问令牌和一份已接受的客户端证书调用 OpenAI API。此流程替代的是 API 密钥,而不是客户端证书。 -X.509 工作负载身份联合可用于 OpenAI API。Codex 确实 - 不支持它。对于 Codex,请使用 OIDC 令牌或 SPIFFE JWT-SVID,并遵循 +X.509 工作负载身份联合可用于 OpenAI API。Codex 不支持该功能。 + 对于 Codex,请改用 OIDC 令牌或 SPIFFE JWT-SVID,并参考 [Codex 工作负载身份指南](https://developers.openai.com/codex/enterprise/workload-identity). -有关令牌交换请求和响应的详细信息,请参阅 [工作负载身份令牌交换参考](https://developers.openai.com/api/reference/workload-identity-federation#exchange-an-x509-certificate)。有关 Mutual TLS 权限、证书要求、激活、mTLS 主机和轮换,请参阅 [Mutual TLS 指南](https://developers.openai.com/api/docs/guides/mutual-tls). +如需了解令牌交换的请求和响应详情,请参阅 [工作负载身份令牌交换参考](https://developers.openai.com/api/reference/workload-identity-federation#exchange-an-x509-certificate)。关于 Mutual TLS 权限、证书要求、激活方式、mTLS 主机以及证书轮换,请参阅 [Mutual TLS 指南](https://developers.openai.com/api/docs/guides/mutual-tls). ## 工作原理 X.509 工作负载身份交换包含五个部分: -1. 你的组织在现有的 Mutual TLS 设置中上传并激活一个受信任的根证书。 -2. 一个 X.509 Workload Identity Provider 从 `openai.*` 已验证的客户端证书中派生属性。它必须派生一个非空的 `openai.subject` 值。 -3. 一个服务账号映射授权派生的身份在项目内使用一个 OpenAI 服务账号。 -4. 工作负载向 `mtls.auth.openai.com` 上的 X.509 令牌端点展示其证书,并请求一个短期 bearer 令牌。证书来自 TLS 连接;请求体不包含 `subject_token`. -5. 工作负载向 `mtls.api.openai.com` 上的 API 路由展示 bearer 令牌和客户端证书,用于 API 授权。 +1. 你的组织在其现有的 Mutual TLS 设置中上传并激活一个受信根证书。 +2. X.509 工作负载身份提供方从已验证的客户端证书中派生 `openai.*` 属性。它必须派生出一个非空的 `openai.subject` 值。 +3. 服务账号映射会在一个项目中授予派生身份使用一个 OpenAI 服务账号的权限。 +4. 工作负载向 X.509 令牌端点出示其证书, `mtls.auth.openai.com` 并请求一个短期 bearer 令牌。证书来自 TLS 连接;请求体中不包含 `subject_token`. +5. 工作负载将 bearer 令牌和客户端证书出示给 API 路由上的 `mtls.api.openai.com` 用于 API 授权。 -承载令牌和证书在 API 请求中是独立授权的。仅凭证书并不能授权 OpenAI API 调用。 +Bearer 令牌和证书会在 API 请求中独立进行授权。仅凭证书无法授权对 OpenAI API 的调用。 -## 开始之前 +## 准备工作 你需要: -- 管理你的组织的 Mutual TLS 证书和工作负载身份提供者的权限。 -- 工作负载的项目和服务账户。 -- 客户端证书、其私钥,以及构建到你的受信任根证书路径所需的任何中间证书。 -- 在组织或项目级别的有效受信任根证书。 +- 管理组织 Mutual TLS 证书和工作负载身份提供商的权限。 +- 工作负载对应的项目和服务账号。 +- 客户端证书、其私钥,以及构建到受信根证书的证书链所需的任何中间证书。 +- 在组织或项目级别处于生效状态的受信根证书。 -将私钥保存在源代码管理之外,并限制对使用它们的负载的访问。不要记录私钥、证书内容或返回的访问令牌。 +将私钥排除在源代码控制之外,并限制能访问这些私钥的工作负载的权限。不要记录私钥、证书内容或返回的访问令牌。 -## 配置双向 TLS 证书信任 +## 配置 Mutual TLS 证书信任 -X.509 工作负载身份提供商复用你组织现有的 Mutual TLS 证书配置。它们不上传证书,也不维护单独的证书信任库。 +X.509 Workload Identity Providers 会复用你组织现有的 Mutual TLS 证书配置。它们不会上传证书,也不会维护单独的证书信任库。 -按照 [Mutual TLS 指南](https://developers.openai.com/api/docs/guides/mutual-tls) 查看证书 +请按照 [Mutual TLS 指南](https://developers.openai.com/api/docs/guides/mutual-tls) 查阅证书 要求、mTLS 主机、证书激活行为、CEL 过滤器以及 -客户端配置。然后打开 [组织设置 > 安全 > Mutual -TLS](https://platform.openai.com/settings/organization/security/mtls),上传 -PEM 格式的受信任证书,并为其组织或 -每个将使用 X.509 工作负载身份联合的项目激活。 +客户端配置。然后打开 [Organization settings > Security > Mutual +TLS](https://platform.openai.com/settings/organization/security/mtls),上传 +PEM 格式的可信证书,并为该组织或 +每个将使用 X.509 workload identity federation 的项目激活该证书。 -如果你的客户端证书通过中间证书链接,请配置稳定的信任锚,并在 TLS 握手期间先呈现叶子证书,再呈现当前的中间证书。OpenAI 使用请求提供的中间证书,不会从证书 URL 检索缺失的中间证书。 +如果你的客户端证书通过中间证书进行链式信任,请配置稳定的信任锚点,并在 TLS 握手期间按顺序出示叶证书和当前的中间证书。OpenAI 使用请求中提供的中间证书,不会从证书 URL 中检索缺失的中间证书。 -## 配置 X.509 提供商 +## 配置 X.509 提供方 -要配置 X.509 提供商: +配置 X.509 提供程序的步骤如下: -1. 打开 [组织设置 > 安全 > 工作负载身份提供方](https://platform.openai.com/settings/organization/security/workload-identity-provider),然后选择 **创建身份提供方**. -2. 选择 **X.509** 作为 **提供方类型**,然后输入名称和可选描述。X.509 提供方不使用 OIDC 发行者、受众、发现或 JWKS 设置。创建后无法更改提供方类型。 -3. 在 **高级**,下,可选择添加 **属性条件** CEL 表达式,以在映射解析前拒绝证书。 -4. 在 **属性转换**,为必填的 `openai.subject` 转换输入非空表达式。仪表板在选择 X.509 时添加 `subject` 行,并显示和应用 `openai.` 前缀。选择可稳定标识工作负载的证书事实。 -5. 可选择添加带有其他唯一 `openai.*` 名称,然后选择 **创建**. +1. 打开 [Organization settings > Security > Workload Identity Provider](https://platform.openai.com/settings/organization/security/workload-identity-provider),然后选择 **Create identity provider**. +2. 选择 **X.509** 作为 **Provider type**,然后输入名称和可选的描述。X.509 提供方不使用 OIDC 颁发者、受众、发现或 JWKS 设置。创建后无法更改提供方类型。 +3. 在 **Advanced**,下,可选择添加一个 **Attribute conditions** CEL 表达式,以在映射解析之前拒绝证书。 +4. 在 **Attribute transformations**,为所需的转换输入一个非空表达式。当你在 `openai.subject` 转换时选择 X.509,控制台会自动添加 `subject` 行,并显示和应用该 `openai.` 前缀。请选择一个用于标识工作负载的稳定证书事实。 +5. 可选择使用其他唯一 `openai.*` 名称,然后选择 **创建**. -例如,此配置使用证书通用名称作为规范主体,并将组织单位公开为附加映射属性: +例如,以下配置将证书公用名用作规范主体,并将组织单位作为附加映射属性公开: ```json [ @@ -71,7 +71,7 @@ PEM 格式的受信任证书,并为其组织或 ] ``` -证书事实可于 `assertion.subject` 和 `assertion.subject_alt_names`。下获取。用于映射的转换结果必须是标量值。附加转换必须具有唯一的 `openai.*` 名称。 +证书事实可在 `assertion.subject` 和 `assertion.subject_alt_names`。中找到。用于映射的转换结果必须是标量值。额外的转换必须具有唯一的 `openai.*` 名称。 例如,一个 **属性条件** 表达式可以将提供程序限制为生产证书: @@ -81,24 +81,24 @@ assertion.subject.organizational_unit == "Production" ## 创建服务账号映射 -1. 在 X.509 提供商详情页面,选择 **创建映射**. -2. 选择目标项目和服务账号,仅授予工作负载所需的 API 权限。 -3. 在 **键** 和 **值** 字段中,要求精确的 `openai.subject` 值。X.509 映射支持无断言(表示为空对象 (`{}`)),或键以 `openai.`. +1. 在 X.509 提供方详情页中,选择 **创建映射**. +2. 选择目标项目和API,并仅授予该工作负载所需的接口权限。 +3. 在 **Key** 和 **Value** 字段中,需要精确的 `openai.subject` 值。X.509 映射支持不使用断言(表示为空对象(`{}`),或使用键以 `openai.`. 4. 选择 **创建**. 例如: -| 键 | 值 | +| Key | Value | | ---------------- | ----------------------- | | `openai.subject` | `payments-service-prod` | -X.509 映射使用派生 `openai.*` 属性。它们不匹配原始 JWT 声明,例如 `sub`, `iss`,或 `aud`. +X.509 映射使用的是派生 `openai.*` 属性,它们不会匹配原始 JWT 声明,例如 `sub`, `iss`,或 `aud`. -提供者列表显示提供者 ID,映射详情显示所选服务账户及其服务账户 ID。记录这两个标识符;工作负载会在令牌交换期间发送它们。 +提供商列表会显示提供商 ID,映射详情会显示所选的服务账号及其服务账号 ID。请同时记录这两个标识符,工作负载会在令牌交换时使用它们。 ## 将证书兑换为访问令牌 -为证书链、私钥、提供商和服务账号设置环境变量: +为证书链、私钥、提供方和服务账号设置环境变量: ```bash export OPENAI_MTLS_CERT_CHAIN="/path/to/client-chain.pem" @@ -107,7 +107,7 @@ export OPENAI_IDENTITY_PROVIDER_ID="idp_example" export OPENAI_SERVICE_ACCOUNT_ID="svc_acct_example" ``` -证书链文件应首先包含叶子证书,然后是任何中间证书。不要在请求正文中包含证书材料或 `subject_token` 。 +证书链文件应先包含叶证书,后跟所有中间证书。不要在请求体中包含证书材料或 a `subject_token` 。 ```bash curl --cert "$OPENAI_MTLS_CERT_CHAIN" \ @@ -124,7 +124,7 @@ curl --cert "$OPENAI_MTLS_CERT_CHAIN" \ JSON ``` -成功的交换会返回一个普通的短期不记名令牌: +成功交换后会返回一个普通的短期 bearer 令牌: ```json { @@ -136,15 +136,15 @@ JSON } ``` -该 `scope` 只有当匹配的服务账号映射具有权限时,才会返回该属性。 +该 `scope` property 仅当匹配的服务账号映射具有相应权限时才会返回。 -该 `expires_in` 的值 `3600` 仅为示例。当经验证的客户端证书更早过期时,返回的生存期可能更短。 +该 `expires_in` 的 value 仅为示例值。当已验证的客户端证书更早到期时,返回的 lifetime 可能更短。 `3600` 仅为示意。当已验证的客户端证书更早到期时,返回的 lifetime 可能更短。 -读取 `access_token` 成功响应中的值到你的应用程序的凭据存储或环境变量中,如 `OPENAI_WIF_ACCESS_TOKEN`。将其视为机密,不要打印、记录或提交。 +将 successful response 中的 `access_token` 值读入应用的凭据存储或类似的环境变量中。 `OPENAI_WIF_ACCESS_TOKEN`。请将其视为密钥,不要打印、记录或提交它。 ## 调用 OpenAI API -设置 `OPENAI_MODEL` 为 `gpt-5.6`,这是当前的默认值,或目标项目可用的另一个模型。然后将令牌和已接受的客户端证书发送到 API mTLS 端点: +将模型设为 `OPENAI_MODEL` 为 `gpt-5.6`,即当前默认模型,或目标项目可用的其他模型。然后将持有者令牌和已接受的客户端证书发送到 API mTLS 端点: ```bash curl --request POST \ @@ -156,34 +156,34 @@ curl --request POST \ "https://mtls.api.openai.com/v1/responses" ``` -使用令牌代替 API 密钥,并在 API 请求上继续出示已接受的客户端证书。 +请使用持有者令牌而非 API 密钥,并在 API 请求中继续提供已接受的客户端证书。 -令牌在加密上与证书没有绑定。为 API 请求复用交换证书是最直接的配置,但 API 请求可以使用另一张证书,只要它独立满足相同的当前 API mTLS 策略。 +持有者令牌并未以加密方式绑定到证书。将交换证书复用于 API 请求是最直接的配置,但 API 请求可以使用另一张同样独立满足当前 API mTLS 策略的证书。 -## 令牌生命周期与续期 +## Token 生命周期与续期 -X.509 工作负载身份令牌最多一小时后过期,且绝不会超过已验证客户端证书的有效期。该交换不返回刷新令牌。重复证书交换以获取另一个访问令牌。 +X.509 工作负载身份令牌最多在一小时后过期,并且永远不会超过已验证的客户端证书的有效期。该交换不返回刷新令牌。请重复证书交换以获取新的访问令牌。 轮换中间证书不需要更改已配置的根证书。在后续交换和 API 请求中提供新的完整证书链。 -## 解决令牌交换问题 +## 排查令牌兑换问题 -X.509 令牌交换返回通用的 OAuth 错误,不暴露证书、根、提供商或映射详情。 +X.509 token 交换返回通用的 OAuth 错误,并且不会暴露证书、根、provider 或映射等详细信息。 -| 结果 | 典型原因 | +| 结果 | 常见原因 | | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| HTTP `403` | 请求使用了非精确的 `POST /oauth/token` on `mtls.auth.openai.com`. | -| `invalid_subject_token` | TLS 客户端证书缺失或无效,所提供的证书链无法到达有效的根证书,证书超出其有效期,或 Mutual TLS 证书准入规则拒绝该证书。 | -| `invalid_grant` | 提供方或映射无效或已禁用,提供方的 **Attribute conditions** 表达式拒绝了该身份,没有适用的根证书处于活动状态,或没有映射匹配。 | -| 服务器错误 | OpenAI 返回了临时服务器错误。请根据你常规的瞬时错误策略进行重试。 | +| HTTP `403` | 请求使用了与精确不匹配的方法或路径 `POST /oauth/token` on `mtls.auth.openai.com`. | +| `invalid_subject_token` | TLS 客户端证书缺失或无效、提供的证书链无法到达有效的根证书、证书已超出有效期,或被某条 Mutual TLS 证书准入规则拒绝。 | +| `invalid_grant` | 提供方或映射无效或已被禁用,某个提供方 **属性条件** 表达式拒绝了该身份,没有适用的根处于有效状态,或没有匹配的映射。 | +| 服务器错误 | OpenAI 返回了临时性服务器错误。请按照你既定的瞬态错误重试策略进行重试。 | -X.509 交换永远不会回退到 OIDC 或普通 OAuth 流程。 +X.509 交换绝不会回退为 OIDC 或普通的 OAuth 流程。 ## 限制 -- X.509 工作负载身份提供程序不维护单独的证书信任存储。 -- 持有者令牌不绑定证书,也不使用 DPoP 或 `cnf` 声明。 -- 证书交换不仅仅是证书 API 授权。API 请求仍然需要持有者令牌和可接受的客户端证书。 -- OpenAI 不会从 AIA URL 获取缺失的中间证书。在 TLS 协商期间提供完整的证书链。 -- OpenAI 在此流程中不执行证书吊销列表(CRL)或 OCSP 检查。围绕 Mutual TLS 根、提供程序和映射控制以及所颁发令牌的短生命周期来规划证书事件响应。 -- 此流程不支持 SPIFFE X.509-SVID。 [SPIFFE 指南](https://developers.openai.com/api/docs/guides/workload-identity-federation/spiffe) 继续使用 JWT-SVID。 \ No newline at end of file +- X.509 Workload Identity Providers 不维护单独的证书信任存储。 +- Bearer 令牌并未绑定证书,也不使用 DPoP 或 `cnf` 声明。 +- 证书交换并非仅通过证书进行 API 授权。API 请求仍然需要 bearer 令牌以及一个被接受的客户端证书。 +- OpenAI 不会从 AIA URL 获取缺失的中间证书。请在 TLS 协商期间提供完整的证书链。 +- OpenAI 在此流程中不会执行证书吊销列表 (CRL) 或 OCSP 检查。请围绕 Mutual TLS 根证书、Provider 和映射控制以及所颁发令牌较短的生命周期来规划证书事件响应。 +- 此流程不增加对 SPIFFE X.509-SVID 的支持。 [SPIFFE 指南](https://developers.openai.com/api/docs/guides/workload-identity-federation/spiffe) 继续使用 JWT-SVID。 \ No newline at end of file diff --git a/docs/zh/api/docs/models/all.md b/docs/zh/api/docs/models/all.md index 99f6bfa..f625a1d 100644 --- a/docs/zh/api/docs/models/all.md +++ b/docs/zh/api/docs/models/all.md @@ -1,118 +1,118 @@ # 模型 -> 如需查看完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 末尾追加 `.md` 获取。 -> 探索 OpenAI API 上可用的模型。 +> 浏览 OpenAI API 上可用的模型。 -如果你不确定从哪里开始,请使用 [GPT-5.6 Sol](/api/docs/models/gpt-5.6-sol),这是我们用于复杂推理和编码的旗舰模型。选择 [GPT-5.6 Terra](/api/docs/models/gpt-5.6-terra) 来平衡智能和成本,或 [GPT-5.6 Luna](/api/docs/models/gpt-5.6-luna) 用于对成本敏感的大容量工作负载。 +如果你不确定从何入手,可以使用 [GPT-5.6 Sol](/api/docs/models/gpt-5.6-sol),这是我们面向复杂推理和编码的旗舰模型。选择 [GPT-5.6 Terra](/api/docs/models/gpt-5.6-terra) 以兼顾智能与成本,或选择 [GPT-5.6 Luna](/api/docs/models/gpt-5.6-luna) 以应对成本敏感、高吞吐量的工作负载。 -所有最新的OpenAI模型都支持文本和图像输入、文本输出、多语言能力和视觉。模型可通过 [Responses API](/api/reference/resources/responses/methods/create) 以及我们的 [客户端SDK](/api/docs/libraries). +所有最新的 OpenAI 模型都支持文本和图像输入、文本输出、多语言能力以及视觉理解。可通过 [Responses API](/api/reference/resources/responses/methods/create) 以及我们的 [客户端 SDK](/api/docs/libraries). ## 推荐模型 -- [GPT-5.6 Sol](/api/docs/models/gpt-5.6-sol.md):从复杂推理和编程场景开始使用。 -- [GPT-5.6 Terra](/api/docs/models/gpt-5.6-terra.md):在智能与成本之间取得平衡。 -- [GPT-5.6 Luna](/api/docs/models/gpt-5.6-luna.md):优化成本敏感型、高吞吐量的工作负载。 +- [GPT-5.6 Sol](/api/docs/models/gpt-5.6-sol.md): 适合复杂推理与编码任务的起点。 +- [GPT-5.6 Terra](/api/docs/models/gpt-5.6-terra.md): 在智能与成本之间取得平衡。 +- [GPT-5.6 Luna](/api/docs/models/gpt-5.6-luna.md): 为成本敏感的高并发工作负载而优化。 ## 浏览我们的完整模型目录 -适用于多种任务的多样化模型 +面向多种任务的多样化模型 -查看 [OpenAI如何使用你的数据](/api/docs/guides/your-data.md) 并了解 [已弃用的模型](/api/docs/deprecations.md). +了解 [OpenAI 如何使用你的数据](/api/docs/guides/your-data.md) 并查看 [已弃用的模型](/api/docs/deprecations.md). -- [babbage-002](/api/docs/models/babbage-002.md):GPT-3 ada 和 babbage 基础模型的替代品 -- [Chat 最新版](/api/docs/models/chat-latest.md):用于 ChatGPT 的最新即时模型 -- [ChatGPT-4o](/api/docs/models/chatgpt-4o-latest.md):用于 ChatGPT 的 GPT-4o 模型 -- [chatgpt-image-latest](/api/docs/models/chatgpt-image-latest.md):以前用于 ChatGPT 的图像模型。 -- [codex-mini-latest](/api/docs/models/codex-mini-latest.md):为 Codex CLI 优化的快速推理模型 -- [computer-use-preview](/api/docs/models/computer-use-preview.md):用于计算机使用工具的专业模型 -- [davinci-002](/api/docs/models/davinci-002.md):GPT-3 curie 和 davinci 基础模型的替代品 -- [Daybreak Blue](/api/docs/models/daybreak-blue-latest.md):具有防御性网络安全工作保障的前沿通用模型的别名。 -- [Daybreak Red](/api/docs/models/daybreak-red-latest.md):用于授权漏洞研究和安全测试的高级网络安全模型的别名。 -- [GPT-3.5 Turbo](/api/docs/models/gpt-3.5-turbo.md):用于更便宜的聊天和非聊天任务的旧版 GPT 模型 -- [GPT-4](/api/docs/models/gpt-4.md):较旧的高智能 GPT 模型 -- [GPT-4 Turbo](/api/docs/models/gpt-4-turbo.md):较旧的高智能 GPT 模型 -- [GPT-4 Turbo Preview](/api/docs/models/gpt-4-turbo-preview.md):较旧的快速 GPT 模型 +- [babbage-002](/api/docs/models/babbage-002.md): GPT-3 ada 和 babbage 基础模型的替代 +- [Chat Latest](/api/docs/models/chat-latest.md): ChatGPT 中使用的最新 Instant 模型 +- [ChatGPT-4o](/api/docs/models/chatgpt-4o-latest.md): ChatGPT 中使用的 GPT-4o 模型 +- [chatgpt-image-latest](/api/docs/models/chatgpt-image-latest.md): ChatGPT 此前使用的图像模型。 +- [codex-mini-latest](/api/docs/models/codex-mini-latest.md): 为 Codex CLI 优化的快速推理模型 +- [computer-use-preview](/api/docs/models/computer-use-preview.md): 专用于 computer use 工具的模型 +- [davinci-002](/api/docs/models/davinci-002.md): GPT-3 curie 和 davinci 基础模型的替代 +- [Daybreak Blue](/api/docs/models/daybreak-blue-latest.md): 面向防御性网络安全工作的、具备安全保障的前沿通用模型别名。 +- [Daybreak Red](/api/docs/models/daybreak-red-latest.md): 面向已获授权的漏洞研究与安全测试的高级网络安全模型别名。 +- [GPT-3.5 Turbo](/api/docs/models/gpt-3.5-turbo.md): 用于低成本聊天和非聊天任务的旧版 GPT 模型 +- [GPT-4](/api/docs/models/gpt-4.md):较早期的高智能 GPT 模型 +- [GPT-4 Turbo](/api/docs/models/gpt-4-turbo.md):较早期的高智能 GPT 模型 +- [GPT-4 Turbo Preview](/api/docs/models/gpt-4-turbo-preview.md):较早期的快速 GPT 模型 - [GPT-4.1](/api/docs/models/gpt-4.1.md):最智能的非推理模型 -- [GPT-4.1 Mini](/api/docs/models/gpt-4.1-mini.md):GPT-4.1 的更小、更快版本 -- [GPT-4.1 nano](/api/docs/models/gpt-4.1-nano.md):GPT-4.1 的最快、最具成本效益的版本 +- [GPT-4.1 Mini](/api/docs/models/gpt-4.1-mini.md):更小、更快的 GPT-4.1 版本 +- [GPT-4.1 nano](/api/docs/models/gpt-4.1-nano.md):最快且性价比最高的 GPT-4.1 版本 - [GPT-4.5 Preview](/api/docs/models/gpt-4.5-preview.md):已弃用的大型模型。 -- [GPT-4o](/api/docs/models/gpt-4o.md):快速、智能、灵活的 GPT 模型 +- [GPT-4o](/api/docs/models/gpt-4o.md):快速、智能且灵活的 GPT 模型 - [GPT-4o Audio](/api/docs/models/gpt-4o-audio-preview.md):支持音频输入和输出的 GPT-4o 模型 -- [GPT-4o Mini](/api/docs/models/gpt-4o-mini.md):适用于专注任务的快速、经济实惠的小型模型 -- [GPT-4o Mini Audio](/api/docs/models/gpt-4o-mini-audio-preview.md):支持音频输入和输出的较小模型 -- [GPT-4o Mini Realtime](/api/docs/models/gpt-4o-mini-realtime-preview.md):用于文本和音频输入输出的较小时时模型 -- [GPT-4o Mini Search Preview](/api/docs/models/gpt-4o-mini-search-preview.md):用于网页搜索的快速、经济的小型模型 -- [GPT-4o Mini Transcribe](/api/docs/models/gpt-4o-mini-transcribe.md):由 GPT-4o Mini 驱动的语音转文本模型 -- [GPT-4o Mini TTS](/api/docs/models/gpt-4o-mini-tts.md):由 GPT-4o Mini 驱动的文本转语音模型 -- [GPT-4o Realtime](/api/docs/models/gpt-4o-realtime-preview.md):支持实时文本和音频输入输出的模型 -- [GPT-4o Search Preview](/api/docs/models/gpt-4o-search-preview.md):用于 Chat Completions 中网页搜索的 GPT 模型 -- [GPT-4o Transcribe](/api/docs/models/gpt-4o-transcribe.md):由 GPT-4o 驱动的语音转文本模型 -- [GPT-4o Transcribe Diarize](/api/docs/models/gpt-4o-transcribe-diarize.md):可识别说话者的转录模型 -- [GPT-5](/api/docs/models/gpt-5.md):用于编码和智能体任务的前代智能推理模型,支持可配置的推理力度 -- [GPT-5 Chat](/api/docs/models/gpt-5-chat-latest.md):用于 ChatGPT 的 GPT-5 模型 -- [GPT-5 Mini](/api/docs/models/gpt-5-mini.md):面向成本敏感、低延迟、高吞吐量工作负载的近前沿智能 -- [GPT-5 nano](/api/docs/models/gpt-5-nano.md):GPT-5 最快、最具成本效益的版本 -- [GPT-5 Pro](/api/docs/models/gpt-5-pro.md):能够产生更智能、更精确响应的 GPT-5 版本 -- [GPT-5-Codex](/api/docs/models/gpt-5-codex.md):针对 Codex 中的智能体编码优化的 GPT-5 版本 -- [GPT-5.1](/api/docs/models/gpt-5.1.md):具有可配置推理能力的最佳编码和智能体任务模型 -- [GPT-5.1 Chat](/api/docs/models/gpt-5.1-chat-latest.md):用于 ChatGPT 的 GPT-5.1 模型 -- [GPT-5.1-Codex](/api/docs/models/gpt-5.1-codex.md):针对 Codex 中的智能体编码优化的 GPT-5.1 版本。 -- [GPT-5.1-Codex Mini](/api/docs/models/gpt-5.1-codex-mini.md):较小、更具成本效益、能力较弱的 GPT-5.1-Codex 版本 -- [GPT-5.1-Codex-Max](/api/docs/models/gpt-5.1-codex-max.md):针对长时间运行任务优化的 GPT-5.1-codex 版本。 -- [GPT-5.2](/api/docs/models/gpt-5.2.md): 此前用于专业工作的前沿模型,支持可配置的推理投入 -- [GPT-5.2 Chat](/api/docs/models/gpt-5.2-chat-latest.md):用于 ChatGPT 的 GPT-5.2 模型 -- [GPT-5.2 Pro](/api/docs/models/gpt-5.2-pro.md):此前的专业工作高级模型,能够生成更智能、更精确的响应。 -- [GPT-5.2-Codex](/api/docs/models/gpt-5.2-codex.md):我们最智能的编码模型,专为长周期、智能体编码任务优化。 -- [GPT-5.3 Chat](/api/docs/models/gpt-5.3-chat-latest.md):用于 ChatGPT 的 GPT-5.3 Instant 模型 -- [GPT-5.3-Codex](/api/docs/models/gpt-5.3-codex.md):迄今为止能力最强的智能体编码模型。 -- [GPT-5.4](/api/docs/models/gpt-5.4.md):更经济实惠的编码与专业工作模型。 -- [GPT-5.4 Mini](/api/docs/models/gpt-5.4-mini.md):我们迄今最强的 Mini 模型,适用于编码、计算机使用和子智能体 -- [GPT-5.4 nano](/api/docs/models/gpt-5.4-nano.md):我们最便宜的 GPT-5.4 级别模型,适用于简单的高吞吐任务 -- [GPT-5.4 Pro](/api/docs/models/gpt-5.4-pro.md):能够生成更智能、更精确响应的 GPT-5.4 版本。 -- [GPT-5.5](/api/docs/models/gpt-5.5.md):面向编码和专业工作的新一代智能。 -- [GPT-5.5 Pro](/api/docs/models/gpt-5.5-pro.md):GPT-5.5 的版本,生成更智能、更精确的响应。 -- [GPT-5.6 Cyber](/api/docs/models/gpt-5.6-cyber.md):我们最先进的网络安全模型,用于授权漏洞研究和安全测试。 -- [GPT-5.6 Luna](/api/docs/models/gpt-5.6-luna.md):针对成本敏感工作负载优化的 GPT-5.6 模型 -- [GPT-5.6 Sol](/api/docs/models/gpt-5.6-sol.md):适用于复杂专业工作的前沿模型 -- [GPT-5.6 Terra](/api/docs/models/gpt-5.6-terra.md):平衡智能与成本的 GPT-5.6 模型 -- [GPT-Audio](/api/docs/models/gpt-audio.md):用于 Chat Completions API 的音频输入和输出 -- [GPT-Audio Mini](/api/docs/models/gpt-audio-mini.md):GPT Audio 的经济高效版本 -- [GPT-Audio-1.5](/api/docs/models/gpt-audio-1.5.md):适用于 Chat Completions 中音频输入、音频输出的最佳语音模型。 -- [GPT-Image-1](/api/docs/models/gpt-image-1.md):我们之前的图像生成模型 -- [GPT-Image-1 Mini](/api/docs/models/gpt-image-1-mini.md):GPT Image 1 的经济高效版本 -- [GPT-Image-1.5](/api/docs/models/gpt-image-1.5.md):我们之前的图像生成模型 -- [GPT-Image-2](/api/docs/models/gpt-image-2.md):最先进的图像生成模型 -- [GPT-Live-Transcribe](/api/docs/models/gpt-live-transcribe.md):用于实时转录的低延迟语音转文本模型 -- [gpt-oss-120b](/api/docs/models/gpt-oss-120b.md):最强大的开放权重模型,可适配至 H100 GPU -- [gpt-oss-20b](/api/docs/models/gpt-oss-20b.md):适用于低延迟场景的中型开放权重模型 -- [GPT-Realtime](/api/docs/models/gpt-realtime.md):支持实时文本和音频输入输出的模型 -- [GPT-Realtime Mini](/api/docs/models/gpt-realtime-mini.md):GPT-Realtime 的经济高效版本 -- [GPT-Realtime-1.5](/api/docs/models/gpt-realtime-1.5.md):音频输入、音频输出的最佳语音模型 -- [GPT-Realtime-2](/api/docs/models/gpt-realtime-2.md):支持工具使用的推理模型 -- [GPT-Realtime-2.1](/api/docs/models/gpt-realtime-2.1.md):支持工具使用的推理模型 -- [GPT-Realtime-2.1 Mini](/api/docs/models/gpt-realtime-2.1-mini.md):支持工具使用的推理模型 -- [GPT-Realtime-Translate](/api/docs/models/gpt-realtime-translate.md):流式语音到语音翻译模型 -- [GPT-Realtime-Whisper](/api/docs/models/gpt-realtime-whisper.md):用于实时转录的流式语音转文本模型 -- [GPT-Transcribe](/api/docs/models/gpt-transcribe.md):用于文件和 Realtime 输入转录的高精度语音转文本模型 -- [o1](/api/docs/models/o1.md):之前的完整 o 系列推理模型 -- [o1 Preview](/api/docs/models/o1-preview.md):我们首个 o 系列推理模型的预览版 -- [o1-mini](/api/docs/models/o1-mini.md):o1 的小型模型替代方案 -- [o1-pro](/api/docs/models/o1-pro.md):o1 的计算量更大的版本,可提供更好的响应 -- [o3](/api/docs/models/o3.md):用于复杂任务的推理模型,已被 GPT-5 取代 -- [o3-deep-research](/api/docs/models/o3-deep-research.md):我们最强大的深度研究模型 -- [o3-mini](/api/docs/models/o3-mini.md):o3 的小型模型替代方案 -- [o3-pro](/api/docs/models/o3-pro.md):o3 的计算量更大的版本,可提供更好的响应 -- [o4-mini](/api/docs/models/o4-mini.md):快速、经济高效的推理模型,已被 GPT-5 Mini 取代 -- [o4-mini-deep-research](/api/docs/models/o4-mini-deep-research.md):更快、更经济的深度研究模型 -- [omni-moderation](/api/docs/models/omni-moderation-latest.md):识别文本和图像中的潜在有害内容 -- [Sora 2](/api/docs/models/sora-2.md):旗舰级视频生成,支持同步音频 -- [Sora 2 Pro](/api/docs/models/sora-2-pro.md):最先进的同步音频视频生成 -- [text-embedding-3-large](/api/docs/models/text-embedding-3-large.md):能力最强的嵌入模型 -- [text-embedding-3-small](/api/docs/models/text-embedding-3-small.md):小型嵌入模型 -- [text-embedding-ada-002](/api/docs/models/text-embedding-ada-002.md):较旧的嵌入模型 -- [text-moderation](/api/docs/models/text-moderation-latest.md):上一代纯文本审核模型 -- [text-moderation-stable](/api/docs/models/text-moderation-stable.md):上一代纯文本审核模型 -- [TTS-1](/api/docs/models/tts-1.md):针对速度优化的文本转语音模型 -- [TTS-1 HD](/api/docs/models/tts-1-hd.md):为质量优化的文本转语音模型 -- [Whisper](/api/docs/models/whisper-1.md):通用语音识别模型 +- [GPT-4o Mini](/api/docs/models/gpt-4o-mini.md):面向聚焦任务的快速、经济的小型模型 +- [GPT-4o Mini Audio](/api/docs/models/gpt-4o-mini-audio-preview.md): 支持音频输入和输出的较小模型 +- [GPT-4o Mini Realtime](/api/docs/models/gpt-4o-mini-realtime-preview.md): 用于文本和音频输入输出的较小实时模型 +- [GPT-4o Mini Search Preview](/api/docs/models/gpt-4o-mini-search-preview.md): 面向网页搜索的快速、经济的小型模型 +- [GPT-4o Mini Transcribe](/api/docs/models/gpt-4o-mini-transcribe.md): 由 GPT-4o Mini 提供支持的语音转文本模型 +- [GPT-4o Mini TTS](/api/docs/models/gpt-4o-mini-tts.md): 由 GPT-4o Mini 提供支持的文本转语音模型 +- [GPT-4o Realtime](/api/docs/models/gpt-4o-realtime-preview.md): 支持实时文本和音频输入输出的模型 +- [GPT-4o Search Preview](/api/docs/models/gpt-4o-search-preview.md): 在 Chat Completions 中用于网页搜索的 GPT 模型 +- [GPT-4o Transcribe](/api/docs/models/gpt-4o-transcribe.md): 由 GPT-4o 提供支持的语音转文本模型 +- [GPT-4o Transcribe Diarize](/api/docs/models/gpt-4o-transcribe-diarize.md): 可识别说话人的转录模型 +- [GPT-5](/api/docs/models/gpt-5.md): 此前用于编程和智能体任务的智能推理模型,支持可配置的推理力度 +- [GPT-5 Chat](/api/docs/models/gpt-5-chat-latest.md): ChatGPT 中使用的 GPT-5 模型 +- [GPT-5 Mini](/api/docs/models/gpt-5-mini.md): 面向成本敏感、低延迟、高吞吐量工作负载的近前沿智能 +- [GPT-5 nano](/api/docs/models/gpt-5-nano.md): 速度最快、成本效益最高的 GPT-5 版本 +- [GPT-5 Pro](/api/docs/models/gpt-5-pro.md): 生成更智能、更精确回答的 GPT-5 版本 +- [GPT-5-Codex](/api/docs/models/gpt-5-codex.md): 针对 Codex 中智能体编程优化的 GPT-5 版本 +- [GPT-5.1](/api/docs/models/gpt-5.1.md): 适用于编程与智能体任务的最佳模型,支持可配置的推理力度 +- [GPT-5.1 Chat](/api/docs/models/gpt-5.1-chat-latest.md): ChatGPT 中使用的 GPT-5.1 模型 +- [GPT-5.1-Codex](/api/docs/models/gpt-5.1-codex.md): 针对 Codex 中智能体编程优化的 GPT-5.1 版本。 +- [GPT-5.1-Codex Mini](/api/docs/models/gpt-5.1-codex-mini.md): 体积更小、成本效益更高、能力较弱的 GPT-5.1-Codex 版本 +- [GPT-5.1-Codex-Max](/api/docs/models/gpt-5.1-codex-max.md): 针对长时间运行任务优化的 GPT-5.1-codex 版本。 +- [GPT-5.2](/api/docs/models/gpt-5.2.md): 面向专业工作的上一代前沿模型,具有可配置的推理投入度 +- [GPT-5.2 Chat](/api/docs/models/gpt-5.2-chat-latest.md): 在 ChatGPT 中使用的 GPT-5.2 模型 +- [GPT-5.2 Pro](/api/docs/models/gpt-5.2-pro.md): 面向专业工作的上一代 pro 模型,能够产生更智能、更精确的响应。 +- [GPT-5.2-Codex](/api/docs/models/gpt-5.2-codex.md): 我们最智能的编码模型,专为长期、智能体驱动的编码任务进行了优化。 +- [GPT-5.3 Chat](/api/docs/models/gpt-5.3-chat-latest.md): 在 ChatGPT 中使用的 GPT-5.3 Instant 模型 +- [GPT-5.3-Codex](/api/docs/models/gpt-5.3-codex.md): 迄今为止能力最强的智能体驱动编码模型。 +- [GPT-5.4](/api/docs/models/gpt-5.4.md): 用于编码和专业工作的更具性价比的模型。 +- [GPT-5.4 Mini](/api/docs/models/gpt-5.4-mini.md): 我们迄今最强的 mini 模型,适用于编码、计算机使用和子智能体 +- [GPT-5.4 nano](/api/docs/models/gpt-5.4-nano.md): 我们最便宜的 GPT-5.4 级别模型,适用于简单的高吞吐量任务 +- [GPT-5.4 Pro](/api/docs/models/gpt-5.4-pro.md): GPT-5.4 的版本,能够产生更智能、更精确的响应。 +- [GPT-5.5](/api/docs/models/gpt-5.5.md): 用于编码和专业知识工作的全新智能等级。 +- [GPT-5.5 Pro](/api/docs/models/gpt-5.5-pro.md): 产生更智能、更精确回答的 GPT-5.5 版本。 +- [GPT-5.6 Cyber](/api/docs/models/gpt-5.6-cyber.md): 用于授权漏洞研究和安全测试的最先进网络安全模型。 +- [GPT-5.6 Luna](/api/docs/models/gpt-5.6-luna.md): 针对成本敏感型工作负载优化的 GPT-5.6 模型 +- [GPT-5.6 Sol](/api/docs/models/gpt-5.6-sol.md): 用于复杂专业知识工作的前沿模型 +- [GPT-5.6 Terra](/api/docs/models/gpt-5.6-terra.md): 在智能与成本之间取得平衡的 GPT-5.6 模型 +- [GPT-Audio](/api/docs/models/gpt-audio.md): 用于通过 Chat Completions API 进行音频输入和输出 +- [GPT-Audio Mini](/api/docs/models/gpt-audio-mini.md): GPT Audio 的高性价比版本 +- [GPT-Audio-1.5](/api/docs/models/gpt-audio-1.5.md): 通过 Chat Completions 进行音频输入和音频输出的最佳语音模型。 +- [GPT-Image-1](/api/docs/models/gpt-image-1.md): 我们此前的图像生成模型 +- [GPT-Image-1 Mini](/api/docs/models/gpt-image-1-mini.md): GPT Image 1 的高性价比版本 +- [GPT-Image-1.5](/api/docs/models/gpt-image-1.5.md): 我们此前的图像生成模型 +- [GPT-Image-2](/api/docs/models/gpt-image-2.md): 最先进的图像生成模型 +- [GPT-Live-Transcribe](/api/docs/models/gpt-live-transcribe.md): 用于实时转录的低延迟语音转文本模型 +- [gpt-oss-120b](/api/docs/models/gpt-oss-120b.md): 最强大的开放权重模型,可放入单个 H100 GPU +- [gpt-oss-20b](/api/docs/models/gpt-oss-20b.md): 面向低延迟的中等规模开放权重模型 +- [GPT-Realtime](/api/docs/models/gpt-realtime.md): 支持实时文本和音频输入输出的模型 +- [GPT-Realtime Mini](/api/docs/models/gpt-realtime-mini.md): GPT-Realtime 的高性价比版本 +- [GPT-Realtime-1.5](/api/docs/models/gpt-realtime-1.5.md): 最出色的语音输入、语音输出模型 +- [GPT-Realtime-2](/api/docs/models/gpt-realtime-2.md): 支持工具使用的推理模型 +- [GPT-Realtime-2.1](/api/docs/models/gpt-realtime-2.1.md): 支持工具使用的推理模型 +- [GPT-Realtime-2.1 Mini](/api/docs/models/gpt-realtime-2.1-mini.md): 支持工具使用的推理模型 +- [GPT-Realtime-Translate](/api/docs/models/gpt-realtime-translate.md): 流式语音转语音翻译模型 +- [GPT-Realtime-Whisper](/api/docs/models/gpt-realtime-whisper.md): 用于实时转录的流式语音转文本模型 +- [GPT-Transcribe](/api/docs/models/gpt-transcribe.md): 用于文件和实时输入转写的高精度语音转文本模型 +- [o1](/api/docs/models/o1.md): 上一代完整 o 系列推理模型 +- [o1 Preview](/api/docs/models/o1-preview.md): 我们首个 o 系列推理模型的预览版 +- [o1-mini](/api/docs/models/o1-mini.md): 替代 o1 的小模型方案 +- [o1-pro](/api/docs/models/o1-pro.md): 配备更多算力以提供更优响应的 o1 版本 +- [o3](/api/docs/models/o3.md): 面向复杂任务的推理模型,已被 GPT-5 取代 +- [o3-deep-research](/api/docs/models/o3-deep-research.md): 我们最强大的深度研究模型 +- [o3-mini](/api/docs/models/o3-mini.md): 替代 o3 的小模型方案 +- [o3-pro](/api/docs/models/o3-pro.md): 配备更多算力以提供更优响应的 o3 版本 +- [o4-mini](/api/docs/models/o4-mini.md): 快速且高性价比的推理模型,已被 GPT-5 Mini 取代 +- [o4-mini-deep-research](/api/docs/models/o4-mini-deep-research.md): 更快速、更经济实惠的深度研究模型 +- [omni-moderation](/api/docs/models/omni-moderation-latest.md): 识别文本和图像中潜在有害的内容 +- [Sora 2](/api/docs/models/sora-2.md): 旗舰级视频生成,支持同步音频 +- [Sora 2 Pro](/api/docs/models/sora-2-pro.md): 最先进的同步音频视频生成 +- [text-embedding-3-large](/api/docs/models/text-embedding-3-large.md): 能力最强的嵌入模型 +- [text-embedding-3-small](/api/docs/models/text-embedding-3-small.md): 小型嵌入模型 +- [text-embedding-ada-002](/api/docs/models/text-embedding-ada-002.md): 旧版嵌入模型 +- [text-moderation](/api/docs/models/text-moderation-latest.md): 上一代纯文本审核模型 +- [text-moderation-stable](/api/docs/models/text-moderation-stable.md): 上一代纯文本审核模型 +- [TTS-1](/api/docs/models/tts-1.md): 针对速度优化的文本转语音模型 +- [TTS-1 HD](/api/docs/models/tts-1-hd.md): 专为高质量场景优化的文本转语音模型 +- [Whisper](/api/docs/models/whisper-1.md): 通用语音识别模型 diff --git a/docs/zh/api/docs/models/compare.md b/docs/zh/api/docs/models/compare.md index b650cac..f75c724 100644 --- a/docs/zh/api/docs/models/compare.md +++ b/docs/zh/api/docs/models/compare.md @@ -1,12 +1,12 @@ # 比较模型 -> 如需完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在 `.md` 后附加到页面 URL 来获取。 +> 完整文档索引请参阅 [llms.txt](/llms.txt). 文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获取。 -> 比较当前模型的能力、上下文窗口和 token 定价。 +> 比较当前模型的能力、上下文窗口和 token 价格。 -| 模型 | 上下文窗口 | 最大输出 | 支持的端点 | +| Model | 上下文窗口 | 最大输出 | 支持的端点 | | --- | ---: | ---: | --- | -| [GPT-5.6 Sol](/api/docs/models/gpt-5.6-sol.md) | 1,050,000 | 128,000 | Chat Completions、Responses、Batch | -| [GPT-5.6 Terra](/api/docs/models/gpt-5.6-terra.md) | 1,050,000 | 128,000 | Chat Completions、Responses、Batch | -| [GPT-5.6 Luna](/api/docs/models/gpt-5.6-luna.md) | 1,050,000 | 128,000 | Chat Completions、Responses、Batch | -| [GPT-5.5](/api/docs/models/gpt-5.5.md) | 1,050,000 | 128,000 | Chat Completions、Responses、Batch | +| [GPT-5.6 Sol](/api/docs/models/gpt-5.6-sol.md) | 1,050,000 | 128,000 | Chat Completions, Responses, Batch | +| [GPT-5.6 Terra](/api/docs/models/gpt-5.6-terra.md) | 1,050,000 | 128,000 | Chat Completions, Responses, Batch | +| [GPT-5.6 Luna](/api/docs/models/gpt-5.6-luna.md) | 1,050,000 | 128,000 | Chat Completions, Responses, Batch | +| [GPT-5.5](/api/docs/models/gpt-5.5.md) | 1,050,000 | 128,000 | Chat Completions, Responses, Batch | diff --git a/docs/zh/api/docs/supported-countries.md b/docs/zh/api/docs/supported-countries.md index 76d8aeb..c4c413c 100644 --- a/docs/zh/api/docs/supported-countries.md +++ b/docs/zh/api/docs/supported-countries.md @@ -1,8 +1,8 @@ # 支持的国家和地区 -> 完整文档索引请参阅 [llms.txt](/llms.txt). 文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获取。 +> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。在页面 URL 后追加 `.md` 即可获取文档页面的 Markdown 版本。 -在下方列出的国家和地区之外访问或提供对我们服务的访问,可能导致你的账户被封锁或暂停。 +在下列国家及地区之外访问或提供对我们服务的访问,可能会导致你的账户被封禁或暂停。 - 阿尔巴尼亚 - 阿尔及利亚 @@ -61,7 +61,7 @@ - 赤道几内亚 - 厄立特里亚 - 爱沙尼亚 -- 斯威士兰(史瓦帝尼) +- 斯威士兰 - 埃塞俄比亚 - 法罗群岛 - 斐济 @@ -84,7 +84,7 @@ - 几内亚比绍 - 圭亚那 - 海地 -- 梵蒂冈(罗马教廷) +- 梵蒂冈(教廷) - 洪都拉斯 - 匈牙利 - 冰岛 @@ -187,11 +187,11 @@ - 瑞士 - 苏丹 - 斯瓦尔巴和扬马延 -- 台湾 +- 中国台湾 - 塔吉克斯坦 - 坦桑尼亚 - 泰国 -- 东帝汶(帝汶岛) +- 东帝汶 - 多哥 - 汤加 - 特立尼达和多巴哥 @@ -200,10 +200,10 @@ - 土库曼斯坦 - 图瓦卢 - 乌干达 -- 乌克兰(某些例外情况除外) -- 阿拉伯联合酋长国 +- 乌克兰(有特定例外) +- 阿联酋 - 英国 -- 美国 +- 美利坚合众国 - 乌拉圭 - 乌兹别克斯坦 - 瓦努阿图 diff --git a/docs/zh/api/docs/tutorials/meeting-minutes.md b/docs/zh/api/docs/tutorials/meeting-minutes.md index d82326c..ad86d99 100644 --- a/docs/zh/api/docs/tutorials/meeting-minutes.md +++ b/docs/zh/api/docs/tutorials/meeting-minutes.md @@ -1,14 +1,14 @@ # 会议纪要 -> 关于完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来访问。 +> 完整文档索引请参阅 [llms.txt](/llms.txt). 文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 -在本教程中,我们将利用 OpenAI 的 Whisper 和 GPT 模型开发一个自动会议纪要生成器。该应用会转录会议音频,提供讨论摘要,提取关键点和行动项,并进行情感分析。 +在本教程中,我们将利用 OpenAI 的 Whisper 和 GPT 模型开发一个自动化的会议纪要生成器。该应用会转写会议音频,提供讨论摘要,提取关键要点和行动项,并进行情感分析。 -## 开始使用 +## 入门指南 -本教程假定你对 Python 有基本了解,并且已经拥有 [OpenAI API 密钥](https://platform.openai.com/settings/organization/api-keys)。你可以使用本教程提供的音频文件,也可以使用自己的。 +本教程假定你具备 Python 的基础知识,并且拥有 [OpenAI API 密钥](https://platform.openai.com/settings/organization/api-keys)。你可以使用本教程提供的音频文件,也可以使用自己的音频文件。 -此外,你还需要安装 [python-docx](https://python-docx.readthedocs.io/en/latest/) 和 [OpenAI](https://developers.openai.com/api/docs/libraries) 库。你可以使用以下命令创建新的 Python 环境并安装所需的包: +此外,你还需要安装 [python-docx](https://python-docx.readthedocs.io/en/latest/) 和 [OpenAI](https://developers.openai.com/api/docs/libraries) 库。你可以使用以下命令创建一个新的 Python 环境并安装所需的包: ```bash python -m venv env @@ -54,8 +54,8 @@ pip install python-docx -接下来,我们导入所需的包并定义一个函数,该函数使用 Whisper 模型接收音频文件并 -进行转录: +接下来,我们导入所需的包,并定义一个使用 Whisper 模型接收音频文件并 +对其进行转录的函数: ```python from docx import Document @@ -74,15 +74,15 @@ def transcribe_audio(audio_file_path): ``` -在这个函数中, `audio_file_path` 是你要转录的音频文件的路径。该函数打开此文件并将其传递给 Whisper ASR 模型(`whisper-1`)进行转录。结果以原始文本形式返回。需要注意的是, `openai.Audio.transcribe` 该函数要求传入实际的音频文件,而不仅仅是本地或远程服务器上的文件路径。这意味着,如果你在服务器上运行此代码,而音频文件可能不存储在该服务器上,你需要有一个预处理步骤,首先将音频文件下载到该设备上。 +在这个函数中, `audio_file_path` 是你要转录的音频文件的路径。该函数会打开此文件并将其传递给 Whisper ASR 模型(`whisper-1`)进行转录。结果以原始文本形式返回。需要注意的是, `openai.Audio.transcribe` 函数需要传入实际的音频文件,而不仅仅是本地或远程服务器上的文件路径。这意味着,如果你在某个服务器上运行此代码,而该服务器上并未存储音频文件,则需要一个预处理步骤,先将音频文件下载到该设备上。 -## 使用 GPT 模型总结和分析转录文本 +## 使用 GPT 模型对转录文本进行摘要和分析 -获得转录文本后,我们现在通过 [Chat Completions API](https://developers.openai.com/api/reference/resources/chat)。将其传递给 GPT 模型。下面的代码片段使用一个经过测试的模型来生成摘要、提取关键点、行动项并进行情感分析。对于新项目,从 [`gpt-5.6`](https://developers.openai.com/api/docs/models/gpt-5.6-sol). +获得转录文本后,我们现在通过以下方式将其传递给 GPT 模型: [Chat Completions API](https://developers.openai.com/api/reference/resources/chat)。下面的代码片段使用一个经过测试的模型来生成摘要、提取要点、行动项,并执行情感分析。对于新项目,请从 [`gpt-5.6`](https://developers.openai.com/api/docs/models/gpt-5.6-sol). -本教程为希望模型执行的每项任务使用不同的函数。这不是完成此任务的最有效方式——你可以将这些指令放入一个函数中,然而,将它们拆分可以带来更高质量的摘要。 +本教程为每个希望模型执行的任务使用了不同的函数。这并不是执行此任务最高效的方式——你可以将这些指令放在一个函数中,不过,将它们拆分开通常能获得更高质量的摘要。 -为了拆分任务,我们定义了 `meeting_minutes` 函数,该函数将作为此应用程序的主函数: +为了拆分这些任务,我们定义 `meeting_minutes` 函数,它将作为本应用的主函数: ```python def meeting_minutes(transcription): @@ -99,13 +99,13 @@ def meeting_minutes(transcription): ``` -在此函数中, `transcription` 是我们从 Whisper 获得的文本。转录文本可以传递给另外四个函数,每个函数旨在执行特定任务: `abstract_summary_extraction` 生成会议摘要, `key_points_extraction` 提取关键点, `action_item_extraction` 识别行动项,以及 `sentiment_analysis performs` 进行情感分析。如果你有其他想要的功能,也可以使用上面所示的相同框架添加。 +在这个函数中, `transcription` 是从 Whisper 获得的文本。该转录内容可以传递给其他四个函数,每个函数都被设计用于执行特定任务: `abstract_summary_extraction` 生成会议摘要, `key_points_extraction` 提取主要要点, `action_item_extraction` 识别行动项,以及 `sentiment_analysis performs` 进行情感分析。如果还需要其他能力,你也可以使用上面展示的同一框架将它们添加进来。 -以下是这些函数各自的工作方式: +下面是这些函数各自的工作方式: ### 摘要提取 -该 `abstract_summary_extraction` 函数获取转录内容并将其总结为一段简洁的摘要,旨在保留最重要的要点,同时避免不必要的细节或无关的话题。实现此过程的主要机制是系统消息,如下所示。通过通常称为提示工程的流程,有许多不同的方法可以达到类似的结果。你可以阅读我们的 [提示工程指南](https://developers.openai.com/api/docs/guides/prompt-engineering) ,其中提供了关于如何最有效地进行此操作的深入建议。 +该 `abstract_summary_extraction` 函数接收转录内容并将其总结为一段简洁的摘要,目标是保留最重要的要点,同时避免不必要的细节或离题内容。启用此过程的主要机制是如下所示的系统消息。通过通常称为提示工程的过程,可以有许多不同的方式来实现类似的结果。你可以阅读我们的 [提示工程指南](https://developers.openai.com/api/docs/guides/prompt-engineering) ,其中就如何最有效地进行此操作提供了深入的指导建议。 ```python def abstract_summary_extraction(transcription): @@ -125,7 +125,7 @@ def abstract_summary_extraction(transcription): ### 要点提取 -该 `key_points_extraction` 函数识别并列出会议中讨论的主要观点。这些观点应代表对讨论本质至关重要的最重要想法、发现或主题。同样,控制这些观点识别方式的主要机制是系统消息。你可能需要在此处添加一些关于你的项目或公司运作方式的额外背景,例如“我们是一家向消费者销售赛车的公司。我们以 XYZ 为目标开展 XYZ 业务”。这些额外背景可以显著提高模型提取相关信息的能力。 +该 `key_points_extraction` 函数用于识别并列出会议中讨论的要点。这些要点应代表讨论中最核心的重要观点、发现或话题。同样,控制这些要点识别方式的主要机制是系统消息。你可能希望在此处补充一些关于你的项目或公司运作方式的额外上下文,例如“我们是一家向消费者销售赛车的公司。我们做 XYZ,目标是 XYZ”。这些额外的上下文可以显著提升模型提取相关信息的能力。 ```python def key_points_extraction(transcription): @@ -143,9 +143,9 @@ def key_points_extraction(transcription): ``` -### 操作项提取 +### 行动项提取 -该 `action_item_extraction` 函数识别会议期间商定或提及的任务、分配事项或行动。这些可以是分配给特定个人的任务,也可以是团队决定采取的总体行动。虽然本教程不涉及,但Chat Completions API提供了 [函数调用能力](https://developers.openai.com/api/docs/guides/function-calling) ,使您能够构建功能,自动在任务管理软件中创建任务并分配给相关人员。 +该 `action_item_extraction` function 用于识别会议中达成一致或被提及的任务、待办事项或行动。这些任务可以是指派给特定人员的,也可以是小组决定采取的通用行动。虽然本教程不涉及这部分内容,但 Chat Completions API 提供了一个 [函数调用功能](https://developers.openai.com/api/docs/guides/function-calling) ,借助它你可以自动在你的任务管理软件中创建任务并分派给相关人员。 ```python def action_item_extraction(transcription): @@ -165,7 +165,7 @@ def action_item_extraction(transcription): ### 情感分析 -该 `sentiment_analysis` 函数分析整个讨论的总体情感。它会考虑语气、所用语言传达的情绪以及词语和短语使用的语境。对于较简单的任务,也值得尝试 [`gpt-5.6-terra`](https://developers.openai.com/api/docs/models/gpt-5.6-terra) ,看看是否能以更低的成本和延迟获得相似的性能水平。尝试将 `sentiment_analysis` 函数的结果传递给其他函数,以观察对话情感如何影响其他属性,这可能会很有用。 +该 `sentiment_analysis` 函数分析讨论的整体情感。它会考虑语气、语言所传达的情绪,以及词语和短语使用的上下文。对于不太复杂的任务,还可以尝试 [`gpt-5.6-terra`](https://developers.openai.com/api/docs/models/gpt-5.6-terra) 看看能否在更低的成本和延迟下获得相近的性能。同样值得尝试的是,将 `sentiment_analysis` 函数的结果传递给其他函数,看看对话的情感如何影响其他属性。 ```python def sentiment_analysis(transcription): @@ -221,9 +221,9 @@ def save_as_docx(minutes, filename): ``` -在这个函数中,minutes 是一个包含会议摘要、关键点、行动项和情感分析的字典。Filename 是要创建的 Word 文档文件的名称。该函数创建一个新的 Word 文档,为会议记录的每个部分添加标题和内容,然后将文档保存到当前工作目录。 +在这个函数中,minutes 是一个字典,包含会议的摘要总结、关键要点、行动项和情感分析。Filename 是要创建的 Word 文档文件名。该函数会创建一个新的 Word 文档,为 minutes 的每个部分添加标题和内容,然后将文档保存到当前工作目录。 -最后,你可以将所有内容组合起来,从音频文件生成会议记录: +最后,你可以将所有内容整合起来,从一个音频文件生成会议纪要: ```python audio_file_path = "Earningscall.wav" @@ -235,6 +235,6 @@ save_as_docx(minutes, "meeting_minutes.docx") ``` -这段代码将转录音频文件 `Earningscall.wav`,生成会议记录,打印它们,然后将其保存到名为 `meeting_minutes.docx`. +这段代码会转录音频文件 `Earningscall.wav`,生成会议纪要,将其打印出来,然后保存到一个名为 `meeting_minutes.docx`. -现在你已经有了基本的会议记录处理设置,可以考虑尝试通过 [提示工程](https://developers.openai.com/api/docs/guides/prompt-engineering) 来优化性能,或使用原生 [函数调用](https://developers.openai.com/api/docs/guides/function-calling). \ No newline at end of file +现在你已经有了基本的会议纪要处理流程,可以尝试通过 [提示工程](https://developers.openai.com/api/docs/guides/prompt-engineering) 来优化性能,或者使用原生 [函数调用](https://developers.openai.com/api/docs/guides/function-calling). \ No newline at end of file diff --git a/docs/zh/api/reference/administration/overview.md b/docs/zh/api/reference/administration/overview.md index 81e6421..e2c8bd4 100644 --- a/docs/zh/api/reference/administration/overview.md +++ b/docs/zh/api/reference/administration/overview.md @@ -1,11 +1,11 @@ -# 管理概览 +# 管理概述 -> 如需查看完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获取。 +> 完整的文档索引请参见 [llms.txt](/llms.txt)。可通过在页面 URL 末尾追加 `.md` 来获取文档页面的 Markdown 版本。 -使用管理 API 来管理组织资源,如用户、邀请、项目、API 密钥和审计日志。 -要访问这些端点, [创建管理 API 密钥](https://platform.openai.com/settings/organization/admin-keys). 管理 API 密钥不能用于非管理端点。 +使用 Administration API 管理组织资源,例如用户、邀请、项目、API 密钥和审计日志。 +要访问这些端点, [请创建一个 Admin API 密钥](https://platform.openai.com/settings/organization/admin-keys)。Admin API 密钥不能用于非管理类端点。 相关指南: -- [设置组织的推荐做法](https://developers.openai.com/api/docs/guides/production-best-practices#setting-up-your-organization) -- [使用管理API](https://developers.openai.com/api/docs/guides/admin-apis). \ No newline at end of file +- [设置组织的最佳实践](https://developers.openai.com/api/docs/guides/production-best-practices#setting-up-your-organization) +- [使用 Admin APIs](https://developers.openai.com/api/docs/guides/admin-apis). \ No newline at end of file diff --git a/docs/zh/api/reference/realtime-beta/overview.md b/docs/zh/api/reference/realtime-beta/overview.md index 335c506..839d556 100644 --- a/docs/zh/api/reference/realtime-beta/overview.md +++ b/docs/zh/api/reference/realtime-beta/overview.md @@ -1,6 +1,6 @@ # Realtime Beta 概述 -> 关于完整的文档索引,请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 后追加 `.md` 来获取文档页面的 Markdown 版本。 +> 如需完整的文档索引,请参阅 [llms.txt](/llms.txt)。通过在页面 URL 后追加 `.md` 可获取文档页面的 Markdown 版本。 -通过 WebRTC、WebSocket 和 SIP 等低延迟接口与多模态模型实时通信。原生支持语音到语音以及文本、图像和音频的输入和输出。 +通过 WebRTC、WebSocket 和 SIP 等低延迟接口,与多模态模型进行实时通信。原生支持语音到语音,以及文本、图像和音频输入与输出。 [详细了解 Realtime API](https://developers.openai.com/docs/guides/realtime). \ No newline at end of file diff --git a/docs/zh/api/reference/resources/audio/subresources/speech/methods/create.md b/docs/zh/api/reference/resources/audio/subresources/speech/methods/create.md index 3ae2ad3..3807dec 100644 --- a/docs/zh/api/reference/resources/audio/subresources/speech/methods/create.md +++ b/docs/zh/api/reference/resources/audio/subresources/speech/methods/create.md @@ -1,6 +1,6 @@ -> 完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 后追加以下内容获取文档页面的 Markdown 版本: `.md` 。 -## 创建语音 +## Create speech **post** `/audio/speech` @@ -8,15 +8,15 @@ 返回音频文件内容,或音频事件流。 -### 请求体参数 +### Body Parameters - `input: string` - 要生成音频的文本。最大长度为 4096 个字符。 + 用于生成音频的文本。最大长度为 4096 个字符。 - `model: string or SpeechModel` - 可用的 [TTS 模型](/docs/models#tts): `tts-1`, `tts-1-hd`, `gpt-4o-mini-tts`,之一, `gpt-4o-mini-tts-2025-12-15`. + 以下可用的 [TTS 模型](/docs/models#tts): `tts-1`, `tts-1-hd`, `gpt-4o-mini-tts`,之一,或 `gpt-4o-mini-tts-2025-12-15`. - `string` @@ -32,7 +32,7 @@ - `voice: string or "alloy" or "ash" or "ballad" or 7 more or object { id }` - 生成音频时使用的语音。支持的内置语音为 `alloy`, `ash`, `ballad`, `coral`, `echo`, `fable`, `onyx`, `nova`, `sage`, `shimmer`, `verse`, `marin`,以及 `cedar`。你也可以提供带有 `id`,的自定义语音对象,例如 `{ "id": "voice_1234" }`。语音预览可在 [文本转语音指南](/docs/guides/text-to-speech#voice-options). + 生成音频时使用的语音。支持的内置语音包括 `alloy`, `ash`, `ballad`, `coral`, `echo`, `fable`, `onyx`, `nova`, `sage`, `shimmer`, `verse`, `marin`,以及 `cedar`。你也可以提供一个包含 `id`,的自定义语音对象,例如 `{ "id": "voice_1234" }`。语音试听可在 [文本转语音指南](/docs/guides/text-to-speech#voice-options). - `string` @@ -68,11 +68,11 @@ - `instructions: optional string` - 通过附加指令控制生成的音频语音。不适用于 `tts-1` 或 `tts-1-hd`. + 使用附加指令控制生成音频的语音。不适用于 `tts-1` 或 `tts-1-hd`. - `response_format: optional "mp3" or "opus" or "aac" or 3 more` - 音频的格式。支持的格式为 `mp3`, `opus`, `aac`, `flac`, `wav`,以及 `pcm`. + 音频的格式。支持格式包括 `mp3`, `opus`, `aac`, `flac`, `wav`,以及 `pcm`. - `"mp3"` @@ -88,11 +88,11 @@ - `speed: optional number` - 生成音频的速度。从 `0.25` 到 `4.0`. `1.0` 中选择一个值,默认值为。 + 生成音频的速度。选择介于 `0.25` 至 `4.0`. `1.0` 之间的值,默认值为 1.0。 - `stream_format: optional "sse" or "audio"` - 流式传输音频的格式。支持的格式为 `sse` 和 `audio`. `sse` 不受支持用于 `tts-1` 或 `tts-1-hd`. + 流式传输音频的格式。支持格式包括 `sse` 和 `audio`. `sse` 不受支持 `tts-1` 或 `tts-1-hd`. - `"sse"` diff --git a/docs/zh/api/reference/resources/audio/subresources/translations/methods/create.md b/docs/zh/api/reference/resources/audio/subresources/translations/methods/create.md index e619e6a..f1ee3b0 100644 --- a/docs/zh/api/reference/resources/audio/subresources/translations/methods/create.md +++ b/docs/zh/api/reference/resources/audio/subresources/translations/methods/create.md @@ -1,10 +1,10 @@ -> 如需完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获得。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获取。 ## 创建翻译 **post** `/audio/translations` -将音频翻译为英文。 +将音频翻译为英语。 ### 返回 @@ -16,11 +16,11 @@ - `duration: number` - 输入音频的时长。 + 输入音频的持续时长。 - `language: string` - 输出翻译的语言(始终 `english`). + 输出翻译所使用的语言(始终为 `english`). - `text: string` @@ -32,43 +32,43 @@ - `id: number` - 片段的唯一标识符。 + 该片段的唯一标识符。 - `avg_logprob: number` - 片段的平均对数概率。如果值低于 -1,则认为对数概率失败。 + 该片段的平均 logprob。若该值低于 -1,则视为 logprobs 失败。 - `compression_ratio: number` - 片段的压缩比。如果值大于 2.4,则认为压缩失败。 + 该片段的压缩率。若该值大于 2.4,则视为压缩失败。 - `end: number` - 片段的结束时间(秒)。 + 该片段的结束时间(单位为秒)。 - `no_speech_prob: number` - 片段中无语音的概率。如果值高于 1.0 且 `avg_logprob` 低于 -1,则认为该片段为静音。 + 该片段中无语音的概率。若该值高于 1.0,且 `avg_logprob` 低于 -1,则视为该片段为静音。 - `seek: number` - 片段的起始偏移量。 + 该片段的 seek 偏移量。 - `start: number` - 片段的开始时间(秒)。 + 该片段的开始时间(单位为秒)。 - `temperature: number` - 用于生成片段的温度参数。 + 用于生成该片段的 temperature 参数。 - `text: string` - 片段的文本内容。 + 该片段的文本内容。 - `tokens: array of number` - 文本内容的 token ID 数组。 + 该文本内容对应的 token ID 数组。 ### 示例 @@ -80,7 +80,7 @@ curl https://api.openai.com/v1/audio/translations \ -F model=whisper-1 ``` -#### 响应 +#### Response ```json { @@ -98,7 +98,7 @@ curl https://api.openai.com/v1/audio/translations \ -F model="whisper-1" ``` -#### 响应 +#### Response ```json { diff --git a/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/create.md b/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/create.md index 1ff60d8..d61b672 100644 --- a/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/create.md +++ b/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/create.md @@ -1,20 +1,20 @@ -> 有关完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获得。 +> 如需完整文档索引,请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾追加 `.md` 获取文档页面的 Markdown 版本。 -## 创建语音同意 +## Create voice consent **post** `/audio/voice_consents` -上传一段语音同意录音。 +上传语音同意录制文件。 -### 返回 +### 返回值 - `id: string` - 同意录音标识符。 + 同意录制标识符。 - `created_at: number` - 同意录音创建时的 Unix 时间戳(以秒为单位)。 + 同意录制创建时的 Unix 时间戳(以秒为单位)。 - `language: string` @@ -22,7 +22,7 @@ - `name: string` - 上传同意录音时提供的标签。 + 上传同意录制时提供的标签。 - `object: "audio.voice_consent"` diff --git a/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/delete.md b/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/delete.md index a4eec57..63d9f77 100644 --- a/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/delete.md +++ b/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/delete.md @@ -1,4 +1,4 @@ -> 如需查看完整的文档索引,请参阅 [llms.txt](/llms.txt)。若需文档页面的 Markdown 版本,可在页面 URL 后追加 `.md` 以获取。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾追加 `.md` 获取文档页面的 Markdown 版本。 ## 删除语音同意 @@ -10,7 +10,7 @@ - `consent_id: string` -### 返回 +### 返回值 - `id: string` diff --git a/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/list.md b/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/list.md index 1bb2f29..1297ab0 100644 --- a/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/list.md +++ b/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/list.md @@ -1,6 +1,6 @@ -> 关于完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获取。 -## 列出语音同意记录 +## 列出语音同意书 **get** `/audio/voice_consents` @@ -10,23 +10,23 @@ - `after: optional string` - 用于分页的游标。 `after` 是一个对象 ID,用于定义你在列表中的位置。例如,如果你发起列表请求并收到 100 个对象,以 obj_foo 结尾,那么你的后续调用可以包含 after=obj_foo 以获取列表的下一页。 + 用于分页查询的游标。 `after` 是一个对象 ID,用于标识你在列表中的位置。例如,如果你发起一次列表请求并收到 100 个对象,最后一个对象是 obj_foo,那么你可以在下一次调用时传入 after=obj_foo 以获取列表的下一页内容。 - `limit: optional number` - 对返回对象数量的限制。限制范围可以为 1 到 100,默认值为 20。 + 返回对象数量的上限。范围在 1 到 100 之间,默认值为 20。 -### 返回 +### 返回值 - `data: array of object { id, created_at, language, 2 more }` - `id: string` - 同意录音标识符。 + 同意录制记录的标识符。 - `created_at: number` - 同意录音创建时的 Unix 时间戳(秒)。 + 创建同意录制记录的 Unix 时间戳(单位为秒)。 - `language: string` @@ -34,7 +34,7 @@ - `name: string` - 上传同意录音时提供的标签。 + 上传同意录制记录时提供的标签。 - `object: "audio.voice_consent"` diff --git a/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/retrieve.md b/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/retrieve.md index 602b7a8..9fb6560 100644 --- a/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/retrieve.md +++ b/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/retrieve.md @@ -1,10 +1,10 @@ -> 关于完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后附加 `.md` 来获取。 +> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾追加 `.md` 来获取文档页面的 Markdown 版本。 ## 获取语音同意 -**获取** `/audio/voice_consents/{consent_id}` +**get** `/audio/voice_consents/{consent_id}` -检索一段语音同意录音。 +获取一条语音同意录音。 ### 路径参数 diff --git a/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/update.md b/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/update.md index 348cb13..d4980b3 100644 --- a/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/update.md +++ b/docs/zh/api/reference/resources/audio/subresources/voice_consents/methods/update.md @@ -1,10 +1,10 @@ -> 有关完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获得。 +> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾追加 `.md` 来获取文档页面的 Markdown 版本。 ## 更新语音同意 **post** `/audio/voice_consents/{consent_id}` -更新语音同意录音(仅限元数据)。 +更新语音同意录制(仅元数据)。 ### 路径参数 @@ -14,17 +14,17 @@ - `name: string` - 此同意记录更新后的标签。 + 此同意记录的更新后的标签。 ### 返回 - `id: string` - 同意记录的标识符。 + 同意录制标识符。 - `created_at: number` - 创建同意记录时的 Unix 时间戳(秒)。 + 同意录制创建时的 Unix 时间戳(以秒为单位)。 - `language: string` @@ -32,7 +32,7 @@ - `name: string` - 上传同意记录时提供的标签。 + 上传同意录制时提供的标签。 - `object: "audio.voice_consent"` diff --git a/docs/zh/api/reference/resources/audio/subresources/voices/methods/create.md b/docs/zh/api/reference/resources/audio/subresources/voices/methods/create.md index 3aaa95e..e44764b 100644 --- a/docs/zh/api/reference/resources/audio/subresources/voices/methods/create.md +++ b/docs/zh/api/reference/resources/audio/subresources/voices/methods/create.md @@ -1,16 +1,16 @@ -> 如需完整文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾追加 `.md` 来获取文档页面的 Markdown 版本。 -## 创建语音 +## Create voice **post** `/audio/voices` 创建自定义语音。 -### 返回 +### 返回值 - `id: string` - 语音标识符,可在 API 端点中引用。 + 可在 API 端点中引用的语音标识符。 - `created_at: number` diff --git a/docs/zh/api/reference/resources/batches/methods/cancel.md b/docs/zh/api/reference/resources/batches/methods/cancel.md index 2689d9f..c314a57 100644 --- a/docs/zh/api/reference/resources/batches/methods/cancel.md +++ b/docs/zh/api/reference/resources/batches/methods/cancel.md @@ -1,16 +1,16 @@ -> 关于完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾添加 `.md` 获取文档页面的 Markdown 版本。 -## 取消批次 +## 取消批处理 **post** `/batches/{batch_id}/cancel` -取消进行中的批次。该批次将保持 status 为 `cancelling` 最多 10 分钟,然后变更为 `cancelled`,此时如果有部分结果,将在输出文件中提供。 +取消进行中的批次。该批次将处于 `cancelling` 状态最多 10 分钟,之后变为 `cancelled`,届时输出文件中将包含部分结果(如果有)。 ### 路径参数 - `batch_id: string` -### 返回 +### 返回值 - `Batch object { id, completion_window, created_at, 19 more }` @@ -18,7 +18,7 @@ - `completion_window: string` - 批次应被处理的时间范围。 + 批次应在此时间范围内完成。 - `created_at: number` @@ -72,7 +72,7 @@ - `error_file_id: optional string` - 包含出错请求输出的文件的 ID。 + 包含出错请求输出内容的文件 ID。 - `errors: optional object { data, object }` @@ -80,19 +80,19 @@ - `code: optional string` - 标识错误类型的错误代码。 + 用于标识错误类型的错误代码。 - `line: optional number or null` - 如果适用,错误发生时输入文件的行号。 + 发生错误的输入文件所在行号(若适用)。 - `message: optional string` - 提供错误更多详细信息的人类可读消息。 + 提供更多错误详情的人类可读消息。 - `param: optional string or null` - 如果适用,导致错误的参数名称。 + 导致错误的参数名称(若适用)。 - `object: optional string` @@ -112,7 +112,7 @@ - `finalizing_at: optional number` - 批次开始定稿时的 Unix 时间戳(以秒为单位)。 + 批次开始完成(finalizing)时的 Unix 时间戳(以秒为单位)。 - `in_progress_at: optional number` @@ -120,27 +120,27 @@ - `metadata: optional Metadata or null` - 最多可附加到对象上的 16 个键值对集合。这可用于 - 以结构化格式存储有关对象的附加信息,并通过 - API 或仪表板查询对象。 + 可附加到对象的 16 组键值对。可用于 + 用于以结构化方式存储有关对象的附加信息, + 格式,以及通过 API 或控制台查询对象。 键是字符串,最大长度为 64 个字符。值是字符串 - ,最大长度为 512 个字符。 + 最大长度为 512 个字符。 - `model: optional string` - 用于处理批次的模型 ID,如 `gpt-5-2025-08-07`。 OpenAI + 用于处理该批次的模型 ID,例如 `gpt-5-2025-08-07`。OpenAI 提供多种具有不同能力、性能 - 特性和价格点的模型。请参阅 [模型 - 指南](/docs/models) 以浏览和比较可用模型。 + 特征和价位的模型。请参阅 [模型 + 指南](/docs/models) 浏览和比较可用的模型。 - `output_file_id: optional string` - 包含成功执行请求输出的文件 ID。 + 包含已成功执行请求输出内容的文件 ID。 - `request_counts: optional BatchRequestCounts` - 批次内不同状态的请求计数。 + 该批次中不同状态的请求计数。 - `completed: number` @@ -148,17 +148,17 @@ - `failed: number` - 失败的请求数量。 + 已失败的请求数量。 - `total: number` - 批次中的请求总数。 + 该批次中的请求总数。 - `usage: optional BatchUsage` - 表示令牌使用详情,包括输入令牌、输出令牌、输出令牌的 - 细分以及使用的总令牌数。仅在 - 2025 年 9 月 7 日后创建的批次中填充。 + 表示 token 使用详情,包括输入 token、输出 token、输出 + token 的细分以及所使用的 token 总数。仅在 + 2025 年 9 月 7 日之后创建的批次中填充。 - `input_tokens: number` @@ -166,28 +166,28 @@ - `input_tokens_details: object { cached_tokens }` - 输入 token 的详细分解。 + 输入令牌的详细分解。 - `cached_tokens: number` - 从缓存中检索到的 token 数量。 [更多关于 - 提示缓存](/docs/guides/prompt-caching). + 从缓存中检索到的令牌数量。 [了解更多 + 提示词缓存](/docs/guides/prompt-caching). - `output_tokens: number` - 输出 token 的数量。 + 输出令牌的数量。 - `output_tokens_details: object { reasoning_tokens }` - 输出 token 的详细分解。 + 输出令牌的详细分解。 - `reasoning_tokens: number` - 推理 token 的数量。 + 推理令牌的数量。 - `total_tokens: number` - 使用的 token 总数。 + 使用的令牌总数。 ### 示例 diff --git a/docs/zh/api/reference/resources/batches/methods/create.md b/docs/zh/api/reference/resources/batches/methods/create.md index 7f1841a..fdb8056 100644 --- a/docs/zh/api/reference/resources/batches/methods/create.md +++ b/docs/zh/api/reference/resources/batches/methods/create.md @@ -1,22 +1,22 @@ -> 完整的文档索引,请参见 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾添加 `.md` 来获取该页面的 Markdown 版本。 -## 创建批次 +## Create batch **post** `/batches` -根据上传的请求文件创建并执行一个批次 +根据已上传的请求文件创建并执行批次 -### 正文参数 +### 请求体参数 - `completion_window: "24h"` - 批次应处理的时间范围。目前仅支持 `24h` 。 + 批量任务应在此时间窗口内被处理。目前仅支持 `24h` 。 - `"24h"` - `endpoint: "/v1/responses" or "/v1/chat/completions" or "/v1/embeddings" or 5 more` - 批次中所有请求使用的端点。目前支持 `/v1/responses`, `/v1/chat/completions`, `/v1/embeddings`, `/v1/completions`, `/v1/moderations`, `/v1/images/generations`, `/v1/images/edits`,和 `/v1/videos` 。请注意, `/v1/embeddings` 批次在所有请求中还限制为最多 50,000 个嵌入输入。 + 批量中所有请求所使用的端点。目前支持 `/v1/responses`, `/v1/chat/completions`, `/v1/embeddings`, `/v1/completions`, `/v1/moderations`, `/v1/images/generations`, `/v1/images/edits`,和 `/v1/videos` 。请注意, `/v1/embeddings` 批量还限制批量中所有请求的嵌入输入总数不得超过 50,000 个。 - `"/v1/responses"` @@ -36,36 +36,36 @@ - `input_file_id: string` - 包含新批次请求的上传文件的 ID。 + 已上传文件的 ID,其中包含新批量的请求。 - 参见 [上传文件](/docs/api-reference/files/create) 了解如何上传文件。 + 请参阅 [上传文件](/docs/api-reference/files/create) 了解如何上传文件。 - 你的输入文件必须格式化为 [JSONL 文件](/docs/api-reference/batch/request-input),并且必须以上传目的 `batch`。上传。文件最多可包含 50,000 个请求,且大小可达 200 MB。 + 你的输入文件必须以 [JSONL 文件](/docs/api-reference/batch/request-input),格式进行格式化,并且必须以用途 `batch`。进行上传。该文件最多可包含 50,000 个请求,文件大小可达 200 MB。 - `metadata: optional Metadata or null` - 可附加到对象上的 16 组键值对。这可用于 - 以结构化格式存储有关对象的额外信息, - 并通过 API 或仪表板查询对象。 + 可附加到对象的 16 个键值对集合。这可用于 + 以结构化格式存储对象的附加信息,并通过 API 或仪表板查询对象。 + 格式,以及通过 接口 或仪表板查询对象。 - 键为字符串,最大长度为 64 个字符。值为字符串, - 最大长度为 512 个字符。 + 键为字符串,最大长度为 64 个字符。值为字符串 + ,最大长度为 512 个字符。 - `output_expires_after: optional object { anchor, seconds }` - 批次生成的输出文件和/或错误文件的过期策略。 + 为批量生成的输出文件和/或错误文件的过期策略。 - `anchor: "created_at"` - 过期策略开始生效的锚点时间戳。支持的锚点: `created_at`。请注意,锚点是文件创建时间,而非批次创建时间。 + 过期策略所基于的锚点时间戳。支持以下锚点: `created_at`。请注意,该锚点是文件创建时间,而不是批处理任务的创建时间。 - `"created_at"` - `seconds: number` - 锚点时间之后文件过期的秒数。必须在 3600(1 小时)到 2592000(30 天)之间。 + 锚点时间之后文件过期的秒数。必须介于 3600(1 小时)到 2592000(30 天)之间。 -### 返回值 +### Returns - `Batch object { id, completion_window, created_at, 19 more }` @@ -73,19 +73,19 @@ - `completion_window: string` - 批处理应处理的时间范围。 + 批量应在此时间范围内被处理。 - `created_at: number` - 批处理创建时的 Unix 时间戳(秒)。 + 批量创建时的 Unix 时间戳(以秒为单位)。 - `endpoint: string` - 批处理使用的OpenAI API端点。 + 该批量所使用的 OpenAI API 端点。 - `input_file_id: string` - 批处理的输入文件 ID。 + 该批量的输入文件 ID。 - `object: "batch"` @@ -95,7 +95,7 @@ - `status: "validating" or "failed" or "in_progress" or 5 more` - 批处理的当前状态。 + 该批量的当前状态。 - `"validating"` @@ -115,15 +115,15 @@ - `cancelled_at: optional number` - 批处理取消时的 Unix 时间戳(秒)。 + 批量被取消时的 Unix 时间戳(以秒为单位)。 - `cancelling_at: optional number` - 批处理开始取消时的 Unix 时间戳(秒)。 + 批量开始取消时的 Unix 时间戳(以秒为单位)。 - `completed_at: optional number` - 批处理完成时的 Unix 时间戳(秒)。 + 批量已完成时的 Unix 时间戳(以秒为单位)。 - `error_file_id: optional string` @@ -135,19 +135,19 @@ - `code: optional string` - 标识错误类型的错误代码。 + 用于标识错误类型的错误代码。 - `line: optional number or null` - 错误发生时输入文件的行号(如适用)。 + 如适用,错误发生时输入文件中的行号。 - `message: optional string` - 提供错误更多详细信息的人类可读消息。 + 提供有关错误更多详情的人工可读消息。 - `param: optional string or null` - 导致错误的参数名称(如适用)。 + 如适用,导致该错误的参数名称。 - `object: optional string` @@ -155,86 +155,86 @@ - `expired_at: optional number` - 批处理过期时的 Unix 时间戳(秒)。 + 批量已过期时的 Unix 时间戳(以秒为单位)。 - `expires_at: optional number` - 批处理将过期时的 Unix 时间戳(秒)。 + 批量将过期时的 Unix 时间戳(以秒为单位)。 - `failed_at: optional number` - 批处理失败时的 Unix 时间戳(秒)。 + 批量失败时的 Unix 时间戳(以秒为单位)。 - `finalizing_at: optional number` - 批处理开始定稿时的 Unix 时间戳(秒)。 + 批量开始完成时的 Unix 时间戳(以秒为单位)。 - `in_progress_at: optional number` - 批处理开始处理时的 Unix 时间戳(秒)。 + 批量开始处理时的 Unix 时间戳(以秒为单位)。 - `metadata: optional Metadata or null` - 一组最多 16 个键值对,可附加到对象上。这可以 - 用于以结构化格式存储有关该对象的额外信息, - 并通过 API 或仪表板查询对象。 + 可附加到对象的 16 个键值对集合。这可用于 + 以结构化格式存储对象的附加信息,并通过 API 或仪表板查询对象。 + 格式,以及通过 接口 或仪表板查询对象。 - 键为字符串,最大长度为 64 个字符。值为字符串, - 最大长度为 512 个字符。 + 键为字符串,最大长度为 64 个字符。值为字符串 + ,最大长度为 512 个字符。 - `model: optional string` - 用于处理批次的模型 ID,例如 `gpt-5-2025-08-07`。OpenAI - 提供多种具有不同能力、性能 - 特性和价格点的模型。请参阅 [模型 + 用于处理该批量的模型 ID,例如 `gpt-5-2025-08-07`。OpenAI + 提供多种不同能力、性能 + 特性和价位的模型。请参阅 [模型 指南](/docs/models) 以浏览和比较可用的模型。 - `output_file_id: optional string` - 包含成功执行请求输出的文件 ID。 + 包含已成功执行请求输出内容的文件 ID。 - `request_counts: optional BatchRequestCounts` - 批处理中不同状态的请求计数。 + 该批次中不同状态的请求计数。 - `completed: number` - 已成功完成的请求数。 + 已成功完成的请求数量。 - `failed: number` - 失败的请求数。 + 已失败的请求数量。 - `total: number` - 批处理中的请求总数。 + 该批次中的请求总数。 - `usage: optional BatchUsage` - 表示令牌使用详情,包括输入令牌、输出令牌、输出令牌的 - 明细以及使用的总令牌数。仅在 - 2025 年 9 月 7 日之后创建的批次中填充。 + 表示令牌使用详情,包括输入令牌、输出令牌、 + 输出令牌的细分以及使用的令牌总数。仅在 + 2025 年 9 月 7 日之后创建的批次上填充。 - `input_tokens: number` - 输入 token 的数量。 + 输入令牌的数量。 - `input_tokens_details: object { cached_tokens }` - 输入 token 的详细细分。 + 输入令牌的详细细分。 - `cached_tokens: number` - 从缓存中检索到的 token 数量。 [更多信息见 + 从缓存中检索到的令牌数量。 [详细了解 提示缓存](/docs/guides/prompt-caching). - `output_tokens: number` - 输出 token 的数量。 + 输出令牌的数量。 - `output_tokens_details: object { reasoning_tokens }` - 输出 token 的详细细分。 + 输出 token 的详细明细。 - `reasoning_tokens: number` diff --git a/docs/zh/api/reference/resources/batches/methods/list.md b/docs/zh/api/reference/resources/batches/methods/list.md index 7934896..a1c6a19 100644 --- a/docs/zh/api/reference/resources/batches/methods/list.md +++ b/docs/zh/api/reference/resources/batches/methods/list.md @@ -1,22 +1,22 @@ -> 有关完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获得。 +> 如需完整文档索引,请参阅 [llms.txt](/llms.txt)。在页面 URL 后追加 `.md` 即可获取该页面的 Markdown 版本。 ## 列出批次 **get** `/batches` -列出你的组织的批次。 +列出你所在组织的批次。 ### 查询参数 - `after: optional string` - 用于分页的游标。 `after` 这是一个对象 ID,用于定义你在列表中的位置。例如,如果你发起一个列表请求并收到 100 个对象,以 obj_foo 结尾,那么你的后续调用可以包含 after=obj_foo 以获取列表的下一页。 + 用于分页游标的对象 ID。 `after` 是一个对象 ID,用于定义你在列表中的位置。例如,如果你发起一次列表请求并收到 100 个对象,以 obj_foo 结尾,那么你的下一次调用可以在 after 参数中传入 obj_foo,以获取列表的下一页。 - `limit: optional number` - 对要返回的对象数量的限制。限制范围在 1 到 100 之间,默认值为 20。 + 返回对象数量的上限。范围为 1 到 100,默认值为 20。 -### 返回 +### Returns - `data: array of Batch` @@ -24,19 +24,19 @@ - `completion_window: string` - 批次应处理的时间范围。 + 批处理应在该时间范围内完成。 - `created_at: number` - 批次创建时的 Unix 时间戳(秒)。 + 批处理创建时的 Unix 时间戳(单位:秒)。 - `endpoint: string` - 批次使用的 OpenAI API 端点。 + 批处理所使用的 OpenAI API 端点。 - `input_file_id: string` - 批次输入文件的 ID。 + 批处理输入文件的 ID。 - `object: "batch"` @@ -46,7 +46,7 @@ - `status: "validating" or "failed" or "in_progress" or 5 more` - 批次的当前状态。 + 批处理的当前状态。 - `"validating"` @@ -66,19 +66,19 @@ - `cancelled_at: optional number` - 批次被取消时的 Unix 时间戳(秒)。 + 批处理被取消时的 Unix 时间戳(单位:秒)。 - `cancelling_at: optional number` - 批次开始取消时的 Unix 时间戳(秒)。 + 批处理开始取消时的 Unix 时间戳(单位:秒)。 - `completed_at: optional number` - 批次完成时的 Unix 时间戳(秒)。 + 批处理完成时的 Unix 时间戳(单位:秒)。 - `error_file_id: optional string` - 包含错误请求输出的文件 ID。 + 包含出错请求输出内容的文件 ID。 - `errors: optional object { data, object }` @@ -86,19 +86,19 @@ - `code: optional string` - 标识错误类型的错误代码。 + 用于标识错误类型的错误代码。 - `line: optional number or null` - 错误发生的输入文件行号(如适用)。 + 发生错误的输入文件行号(如果适用)。 - `message: optional string` - 提供错误更多详细信息的人类可读消息。 + 提供更多错误详情的人类可读消息。 - `param: optional string or null` - 导致错误的参数名称(如适用)。 + 导致错误的参数名称(如果适用)。 - `object: optional string` @@ -106,94 +106,94 @@ - `expired_at: optional number` - 批次过期时的 Unix 时间戳(秒)。 + 批处理过期时的 Unix 时间戳(单位:秒)。 - `expires_at: optional number` - 批次将过期时的 Unix 时间戳(秒)。 + 批处理将要过期的 Unix 时间戳(单位:秒)。 - `failed_at: optional number` - 批次失败时的 Unix 时间戳(秒)。 + 批处理失败时的 Unix 时间戳(单位:秒)。 - `finalizing_at: optional number` - 批次开始定稿时的 Unix 时间戳(秒)。 + 批处理开始进入终态时的 Unix 时间戳(单位:秒)。 - `in_progress_at: optional number` - 批次开始处理时的 Unix 时间戳(秒)。 + 批处理开始处理时的 Unix 时间戳(单位:秒)。 - `metadata: optional Metadata or null` - 可附加到对象上的 16 个键值对集合。这可以 - 用于以结构化格式存储有关对象的附加信息, - 并通过 API 或仪表盘查询对象。 + 可附加到对象的 16 组键值对。可用于 + 用于以结构化方式存储有关对象的附加信息, + 并通过 API 或仪表板查询对象。 - 键是字符串,最大长度为 64 个字符。值是字符串, + 键为字符串,最大长度为 64 个字符。值为字符串 最大长度为 512 个字符。 - `model: optional string` - 用于处理批次的模型 ID,例如 `gpt-5-2025-08-07`. OpenAI - 提供各种具有不同功能、性能 - 特性和价格点的模型。请参阅 [模型 - 指南](/docs/models) 以浏览和比较可用模型。 + 用于处理该批次的模型 ID,例如 `gpt-5-2025-08-07`。OpenAI + 提供多种具有不同能力、性能 + 特性和价格的模型。请参阅 [模型 + 指南](/docs/models) 以浏览和比较可用的模型。 - `output_file_id: optional string` - 包含成功执行请求输出的文件的 ID。 + 包含成功执行的请求输出内容的文件 ID。 - `request_counts: optional BatchRequestCounts` - 批处理中不同状态的请求计数。 + 该批次中不同状态的请求计数。 - `completed: number` - 已成功完成的请求数。 + 已成功完成的请求数量。 - `failed: number` - 已失败的请求数。 + 已失败的请求数量。 - `total: number` - 批处理中的请求总数。 + 该批次中的请求总数。 - `usage: optional BatchUsage` - 表示令牌使用详情,包括输入令牌、输出令牌、输出令牌的 - 细分以及使用的令牌总数。仅在 - 2025 年 9 月 7 日之后创建的批次中填充。 + 表示令牌使用详情,包括输入令牌、输出令牌、 + 输出令牌的细分以及所使用的总令牌。仅在 + 2025-09-07 之后创建的批次上填充。 - `input_tokens: number` - 输入 token 的数量。 + 输入令牌的数量。 - `input_tokens_details: object { cached_tokens }` - 输入 token 的详细分解。 + 输入令牌的详细分类统计。 - `cached_tokens: number` - 从缓存中检索到的 token 数量。 [更多关于 - prompt caching](/docs/guides/prompt-caching). + 从缓存中检索到的令牌数量。 [了解更多 + 提示缓存](/docs/guides/prompt-caching). - `output_tokens: number` - 输出 token 的数量。 + 输出令牌的数量。 - `output_tokens_details: object { reasoning_tokens }` - 输出 token 的详细分解。 + 输出令牌的详细分类统计。 - `reasoning_tokens: number` - 推理 token 的数量。 + 推理令牌的数量。 - `total_tokens: number` - 使用的 token 总数。 + 使用的令牌总数。 - `has_more: boolean` @@ -212,7 +212,7 @@ curl https://api.openai.com/v1/batches \ -H "Authorization: Bearer $OPENAI_API_KEY" ``` -#### 响应 +#### Response ```json { @@ -283,7 +283,7 @@ curl https://api.openai.com/v1/batches?limit=2 \ -H "Content-Type: application/json" ``` -#### 响应 +#### Response ```json { diff --git a/docs/zh/api/reference/resources/batches/methods/retrieve.md b/docs/zh/api/reference/resources/batches/methods/retrieve.md index 5aefa02..a1ce8ab 100644 --- a/docs/zh/api/reference/resources/batches/methods/retrieve.md +++ b/docs/zh/api/reference/resources/batches/methods/retrieve.md @@ -1,10 +1,10 @@ -> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获取。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾追加 `.md` 来获取文档页面的 Markdown 版本。 ## 检索批次 -**获取** `/batches/{batch_id}` +**get** `/batches/{batch_id}` -检索一个批次。 +检索一个批量任务。 ### 路径参数 @@ -18,19 +18,19 @@ - `completion_window: string` - 批处理应被处理的时间范围。 + 批量任务应在此时间范围内完成处理。 - `created_at: number` - 批处理创建时的 Unix 时间戳(以秒为单位)。 + 批量任务创建时的 Unix 时间戳(以秒为单位)。 - `endpoint: string` - 批处理使用的 OpenAI API 端点。 + 批量任务所使用的 OpenAI API 端点。 - `input_file_id: string` - 批处理的输入文件 ID。 + 批量任务的输入文件 ID。 - `object: "batch"` @@ -40,7 +40,7 @@ - `status: "validating" or "failed" or "in_progress" or 5 more` - 批处理的当前状态。 + 批量任务的当前状态。 - `"validating"` @@ -60,19 +60,19 @@ - `cancelled_at: optional number` - 批处理被取消时的 Unix 时间戳(以秒为单位)。 + 批量任务被取消时的 Unix 时间戳(以秒为单位)。 - `cancelling_at: optional number` - 批处理开始取消时的 Unix 时间戳(以秒为单位)。 + 批量任务开始取消时的 Unix 时间戳(以秒为单位)。 - `completed_at: optional number` - 批处理完成时的 Unix 时间戳(以秒为单位)。 + 批量任务完成时的 Unix 时间戳(以秒为单位)。 - `error_file_id: optional string` - 包含出错请求输出的文件 ID。 + 包含请求出错输出的文件 ID。 - `errors: optional object { data, object }` @@ -80,19 +80,19 @@ - `code: optional string` - 标识错误类型的错误代码。 + 用于标识错误类型的错误代码。 - `line: optional number or null` - 如果适用,输入文件中发生错误的行号。 + 错误发生所在的输入文件行号(如果适用)。 - `message: optional string` - 提供错误更多详情的人类可读消息。 + 提供更多错误详情的人类可读消息。 - `param: optional string or null` - 如果适用,导致错误的参数名称。 + 导致错误的参数名称(如果适用)。 - `object: optional string` @@ -100,47 +100,47 @@ - `expired_at: optional number` - 批处理过期时的 Unix 时间戳(以秒为单位)。 + 批量任务过期时的 Unix 时间戳(以秒为单位)。 - `expires_at: optional number` - 批处理将过期时的 Unix 时间戳(以秒为单位)。 + 批量任务将要过期的 Unix 时间戳(以秒为单位)。 - `failed_at: optional number` - 批处理失败时的 Unix 时间戳(以秒为单位)。 + 批量任务失败时的 Unix 时间戳(以秒为单位)。 - `finalizing_at: optional number` - 批处理开始最终确定时的 Unix 时间戳(以秒为单位)。 + 批量任务开始进入最终处理阶段的 Unix 时间戳(以秒为单位)。 - `in_progress_at: optional number` - 批处理开始处理时的 Unix 时间戳(以秒为单位)。 + 批量任务开始处理时的 Unix 时间戳(以秒为单位)。 - `metadata: optional Metadata or null` - 一组最多 16 个键值对,可附加到对象上。这可以 - 用于以结构化格式存储关于该对象的额外信息, - 并可通过 API 或仪表盘查询对象。 + 可附加到对象的 16 组键值对。可用于 + 可用于以结构化 + 格式存储对象的附加信息,并通过 API 或控制台查询对象。 - 键为字符串,最大长度为 64 个字符。值为字符串, + 键为字符串,最大长度为 64 个字符。值为字符串 最大长度为 512 个字符。 - `model: optional string` - 用于处理批次(batch)的模型 ID,例如 `gpt-5-2025-08-07`。OpenAI - 提供了多种具有不同能力、性能特性和价格点的模型。 - 请参阅 [模型 - 指南](/docs/models) 以浏览并比较可用模型。 + 用于处理该批次的模型 ID,例如 `gpt-5-2025-08-07`。OpenAI + 提供多种不同能力、性能 + 特性和价位的模型。请参阅 [模型 + 指南](/docs/models) 以浏览和比较可用模型。 - `output_file_id: optional string` - 包含成功执行的请求输出的文件 ID。 + 包含已成功执行请求的输出文件的 ID。 - `request_counts: optional BatchRequestCounts` - 批次中不同状态的请求计数。 + 该批次中不同状态的请求计数。 - `completed: number` @@ -148,17 +148,17 @@ - `failed: number` - 失败的请求数量。 + 已失败的请求数量。 - `total: number` - 批次中的请求总数。 + 该批次中的请求总数。 - `usage: optional BatchUsage` 表示令牌使用详情,包括输入令牌、输出令牌、 - 输出令牌的细分以及所使用的令牌总数。仅在 - 2025 年 9 月 7 日之后创建的批次中填充。 + 输出令牌的细分以及使用的令牌总数。仅在 + 2025 年 9 月 7 日之后创建的批次上填充。 - `input_tokens: number` @@ -166,12 +166,12 @@ - `input_tokens_details: object { cached_tokens }` - 输入令牌的详细分解。 + 输入令牌的详细明细。 - `cached_tokens: number` - 从缓存中检索到的令牌数量。 [更多关于 - 提示缓存](/docs/guides/prompt-caching). + 从缓存中检索到的令牌数量。 [了解更多 + 提示词缓存](/docs/guides/prompt-caching). - `output_tokens: number` @@ -179,7 +179,7 @@ - `output_tokens_details: object { reasoning_tokens }` - 输出令牌的详细分解。 + 输出令牌的详细明细。 - `reasoning_tokens: number` diff --git a/docs/zh/api/reference/resources/beta/subresources/assistants/methods/delete.md b/docs/zh/api/reference/resources/beta/subresources/assistants/methods/delete.md index e3a6c13..4e0f5f2 100644 --- a/docs/zh/api/reference/resources/beta/subresources/assistants/methods/delete.md +++ b/docs/zh/api/reference/resources/beta/subresources/assistants/methods/delete.md @@ -1,10 +1,10 @@ -> 关于完整的文档索引,请参阅 [llms.txt](/llms.txt)。通过追加 `.md` 到页面 URL,可获得文档页面的 Markdown 版本。 +> 如需完整文档索引,请参阅 [llms.txt](/llms.txt)。在页面 URL 末尾追加 `.md` 即可获得该页面的 Markdown 版本。 -## 删除助手 +## 删除 assistant -**删除** `/assistants/{assistant_id}` +**delete** `/assistants/{assistant_id}` -删除一个助手。 +删除一个智能体。 ### 路径参数 diff --git a/docs/zh/api/reference/resources/beta/subresources/assistants/methods/list.md b/docs/zh/api/reference/resources/beta/subresources/assistants/methods/list.md index 76b41f8..8825297 100644 --- a/docs/zh/api/reference/resources/beta/subresources/assistants/methods/list.md +++ b/docs/zh/api/reference/resources/beta/subresources/assistants/methods/list.md @@ -1,34 +1,34 @@ -> 有关完整的文档索引,请参阅 [llms.txt](/llms.txt)。各文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 如需完整文档索引,请参阅 [llms.txt](/llms.txt)。在页面 URL 末尾追加 `.md` 即可获取文档页面的 Markdown 版本。 -## 列出智能体 +## 列出 assistants **get** `/assistants` -返回助手列表。 +返回智能体列表。 ### 查询参数 - `after: optional string` - 用于分页的游标。 `after` 是一个对象 ID,用于定义你在列表中的位置。例如,如果你发出列表请求并收到 100 个对象,以 obj_foo 结尾,那么你随后的调用可以包含 after=obj_foo 以获取列表的下一页。 + 用于分页游标。 `after` 是一个对象 ID,用于定义你在列表中的位置。例如,如果你发起一个列表请求并收到 100 个对象,以 obj_foo 结束,那么你后续的调用可以包含 after=obj_foo,以便获取列表的下一页。 - `before: optional string` - 用于分页的游标。 `before` 是一个对象 ID,用于定义你在列表中的位置。例如,如果你发出列表请求并收到 100 个对象,以 obj_foo 开头,那么你随后的调用可以包含 before=obj_foo 以获取列表的上一页。 + 用于分页游标。 `before` 是一个对象 ID,用于定义你在列表中的位置。例如,如果你发起一个列表请求并收到 100 个对象,以 obj_foo 开头,那么你后续的调用可以包含 before=obj_foo,以便获取列表的上一页。 - `limit: optional number` - 返回对象数量的限制。限制范围可以在 1 到 100 之间,默认值为 20。 + 返回对象数量的上限。范围介于 1 到 100 之间,默认值为 20。 - `order: optional "asc" or "desc"` - 按对象的 `created_at` 时间戳排序。 `asc` 用于升序, `desc` 用于降序。 + 按对象的 `created_at` 时间戳排序。 `asc` 表示升序, `desc` 表示降序。 - `"asc"` - `"desc"` -### 返回 +### 返回值 - `data: array of Assistant` @@ -38,7 +38,7 @@ - `created_at: number` - 创建助手时的 Unix 时间戳(以秒为单位)。 + 助手创建时的 Unix 时间戳(以秒为单位)。 - `description: string or null` @@ -50,16 +50,16 @@ - `metadata: Metadata or null` - 可附加到对象的一组 16 个键值对。这可用于 - 以结构化格式存储有关对象的额外信息, - 并通过 API 或仪表板查询对象。 + 可以附加到对象的 16 组键值对。可用于 + 以结构化格式存储对象的附加信息,并通过 API 或仪表板查询对象。 + 以结构化格式存储对象的附加信息,并通过 接口 或仪表板查询对象。 - 键是字符串,最大长度为 64 个字符。值是字符串, + 键为字符串,最大长度为 64 个字符。值为字符串, 最大长度为 512 个字符。 - `model: string` - 要使用的模型 ID。你可以使用 [列出模型](/docs/api-reference/models/list) API 查看所有可用模型,或查看我们的 [模型概述](/docs/models) 了解它们的描述。 + 要使用的模型 ID。你可以调用 [列出模型](/docs/api-reference/models/list) API 查看所有可用模型,或参阅我们的 [模型概述](/docs/models) 了解相关描述。 - `name: string or null` @@ -73,13 +73,13 @@ - `tools: array of CodeInterpreterTool or FileSearchTool or FunctionTool` - 助手启用的工具列表。每个助手最多可有 128 个工具。工具类型可为 `code_interpreter`, `file_search`,或 `function`. + 助手上启用的工具列表。每个助手最多可启用 128 个工具。工具可以是以下类型: `code_interpreter`, `file_search`,或 `function`. - `CodeInterpreterTool object { type }` - `type: "code_interpreter"` - 正在定义的工具类型: `code_interpreter` + 所定义的工具类型: `code_interpreter` - `"code_interpreter"` @@ -87,29 +87,29 @@ - `type: "file_search"` - 正在定义的工具类型: `file_search` + 所定义的工具类型: `file_search` - `"file_search"` - `file_search: optional object { max_num_results, ranking_options }` - 文件搜索工具的覆盖设置。 + 文件搜索 工具的覆盖项。 - `max_num_results: optional number` - 文件搜索工具应输出的最大结果数。默认值为20, `gpt-4*` 模型为5, `gpt-3.5-turbo`。此数字应在1到50之间(含)。 + 文件搜索工具应输出的最大结果数量。对于 `gpt-4*` 模型,默认值为 20,对于 `gpt-3.5-turbo`。模型,默认值为 5。该值应介于 1 到 50 之间(含两端)。 - 请注意,文件搜索工具可能输出的结果少于 `max_num_results` 。请参阅 [文件搜索工具文档](/docs/assistants/tools/file-search#customizing-file-search-settings) 以了解更多信息。 + 注意,文件搜索工具实际输出的结果数可能少于 `max_num_results` 个结果。请参阅 [文件搜索工具文档](/docs/assistants/tools/file-search#customizing-file-search-settings) 了解更多信息。 - `ranking_options: optional object { score_threshold, ranker }` - 文件搜索的排序选项。如果未指定,文件搜索工具将使用 `auto` 排序器,且score_threshold为0。 + 文件搜索的排序选项。如果未指定,文件搜索工具将使用 `auto` 排序器,并将 score_threshold 设为 0。 - 请参阅 [文件搜索工具文档](/docs/assistants/tools/file-search#customizing-file-search-settings) 以了解更多信息。 + 请参阅 [文件搜索工具文档](/docs/assistants/tools/file-search#customizing-file-search-settings) 了解更多信息。 - `score_threshold: number` - 文件搜索的分数阈值。所有值必须是0到1之间的浮点数。 + 文件搜索的分数阈值。所有值必须是介于 0 到 1 之间的浮点数。 - `ranker: optional "auto" or "default_2024_08_21"` @@ -125,25 +125,25 @@ - `name: string` - 要调用的函数名称。必须为a-z、A-Z、0-9,或包含下划线和短划线,最大长度为64。 + 要调用的函数名称。必须由 a-z、A-Z、0-9 组成,或包含下划线和短横线,最大长度为 64。 - `description: optional string` - 函数功能的描述,模型用于选择何时以及如何调用该函数。 + 函数功能的描述,供模型用于判断何时以及如何调用该函数。 - `parameters: optional FunctionParameters` - 函数接受的参数,以JSON Schema对象形式描述。请参阅 [指南](/docs/guides/function-calling) 有关示例,请参阅 [JSON Schema 参考](https://json-schema.org/understanding-json-schema/) ,了解该格式的文档。 + 函数接受的参数,以 JSON Schema 对象形式描述。请参阅 [指南](/docs/guides/function-calling) 中的示例,以及 [JSON Schema 参考](https://json-schema.org/understanding-json-schema/) 中有关格式的文档。 - 省略 `parameters` 定义了一个具有空参数列表的函数。 + 省略 `parameters` 定义一个参数列表为空的函数。 - `strict: optional boolean or null` - 是否在生成函数调用时启用严格模式以遵循 Schema。如果设为 true,模型将遵循 `parameters` 字段中定义的确切 Schema。仅支持 JSON Schema 的子集,当 `strict` 为 `true`。时。在 [函数调用指南](/docs/guides/function-calling). + 是否在生成函数调用时启用严格的 schema 遵从。如果设置为 true,模型将遵循在 `parameters` 字段中定义的确切 schema。当 `strict` 为 `true`。时,仅支持 JSON Schema 的一个子集。在 [function calling guide](/docs/guides/function-calling). - `type: "function"` - 正在定义的工具类型: `function` + 所定义的工具类型: `function` - `"function"` @@ -151,11 +151,11 @@ 指定模型必须输出的格式。兼容 [GPT-4o](/docs/models#gpt-4o), [GPT-4 Turbo](/docs/models#gpt-4-turbo-and-gpt-4),以及自 `gpt-3.5-turbo-1106`. - 以来的所有 GPT-3.5 Turbo 模型。设置为 `{ "type": "json_schema", "json_schema": {...} }` 可启用结构化输出,确保模型匹配你提供的 JSON Schema。更多信息请参阅 [结构化输出指南](/docs/guides/structured-outputs). + 以来的所有 GPT-3.5 Turbo 模型。设置为 `{ "type": "json_schema", "json_schema": {...} }` 可启用 Structured Outputs,确保模型匹配你提供的 JSON schema。在 [Structured Outputs guide](/docs/guides/structured-outputs). - 设置为 `{ "type": "json_object" }` 可启用 JSON 模式,确保模型生成的消息是有效的 JSON。 + 以来的所有 GPT-3.5 Turbo 模型。设置为 `{ "type": "json_object" }` 启用 JSON 模式,这能确保模型生成的消息是合法的 JSON。 - **重要:** 使用 JSON 模式时,你 **必须** 通过系统或用户消息自行指示模型生成 JSON。否则,模型可能会生成无休止的空格,直到生成达到 Token 限制,导致请求长时间运行并看似“卡住”。另请注意,如果消息内容可能被部分截断 `finish_reason="length"`,这表示生成超过了 `max_tokens` 或对话超过了最大上下文长度。 + **Important:** 使用 JSON 模式时,你 **必须** 还要自行通过系统消息或用户消息指示模型生成 JSON。否则,模型可能会生成无尽的空白流,直到生成达到 token 限制,导致请求长时间运行并看似“卡住”。另请注意,如果 `finish_reason="length"`,则表明生成超过了 `max_tokens` 或者对话超出了最大上下文长度。 - `"auto"` @@ -169,26 +169,26 @@ - `type: "text"` - 所定义的响应格式的类型。始终为 `text`. + 正在定义的响应格式类型。始终为 `text`. - `"text"` - `ResponseFormatJSONObject object { type }` JSON 对象响应格式。一种较旧的生成 JSON 响应的方法。 - 对于支持它的模型,建议使用 `json_schema` 。请注意, + 使用 `json_schema` 推荐支持它的模型。请注意,该 模型在没有系统或用户消息指示的情况下不会生成 JSON - 。 + 这样做。 - `type: "json_object"` - 所定义的响应格式的类型。始终为 `json_object`. + 正在定义的响应格式类型。始终为 `json_object`. - `"json_object"` - `ResponseFormatJSONSchema object { json_schema, type }` - JSON Schema 响应格式。用于生成结构化 JSON 响应。 + JSON Schema 响应格式。用于生成结构化的 JSON 响应。 了解更多关于 [结构化输出](/docs/guides/structured-outputs). - `json_schema: object { name, description, schema, strict }` @@ -197,58 +197,58 @@ - `name: string` - 响应格式的名称。必须为 a-z、A-Z、0-9 或包含 + 响应格式的名称。必须为 a-z、A-Z、0-9,或包含 下划线和短横线,最大长度为 64。 - `description: optional string` - 响应格式用途的描述,模型使用它来 - 决定如何以该格式进行响应。 + 响应格式用途的描述,由模型用于 + 决定如何按该格式进行响应。 - `schema: optional map[unknown]` - 响应格式的架构,描述为 JSON Schema 对象。 + 响应格式的架构,以 JSON Schema 对象形式描述。 了解如何构建 JSON 架构 [此处](https://json-schema.org/). - `strict: optional boolean or null` - 是否在生成输出时启用严格架构遵循。 - 如果设为 true,模型将始终遵循 - 字段中定义的 `schema` 精确架构。当 - `strict` 为 `true`。时,仅支持 JSON Schema 的子集。如需了解更多,请阅读 [结构化输出 + 是否在生成输出时启用严格的模式遵循。 + 如果设置为 true,模型将始终遵循所定义的确切模式 + 中的 `schema` 字段中定义的确切 schema。当 + `strict` 为 `true`。要了解更多信息,请参阅 [结构化输出 指南](/docs/guides/structured-outputs). - `type: "json_schema"` - 所定义的响应格式类型。始终为 `json_schema`. + 正在定义的响应格式类型。始终为 `json_schema`. - `"json_schema"` - `temperature: optional number or null` - 使用的采样温度,介于 0 和 2 之间。较高的值(如 0.8)会使输出更加随机,而较低的值(如 0.2)会使输出更加集中和确定性。 + 使用的采样温度,介于 0 和 2 之间。较高的值(如 0.8)会使输出更随机,而较低的值(如 0.2)会使其更专注和确定性更强。 - `tool_resources: optional object { code_interpreter, file_search } or null` - 助手工具使用的一组资源。这些资源特定于工具类型。例如, `code_interpreter` 工具需要文件 ID 列表,而 `file_search` 工具需要向量存储 ID 列表。 + 由助手工具使用的一组资源。这些资源特定于工具的类型。例如, `code_interpreter` 工具需要一个文件 ID 列表,而 `file_search` 工具需要一个向量存储 ID 列表。 - `code_interpreter: optional object { file_ids }` - `file_ids: optional array of string` - 一个 [file](/docs/api-reference/files) 提供给 `code_interpreter`` 工具的 ID。最多可以有 20 个文件与该工具关联。 + 一个 [文件](/docs/api-reference/files) 提供给 `code_interpreter`` 工具使用的 ID 列表。每个工具最多可以关联 20 个文件。 - `file_search: optional object { vector_store_ids }` - `vector_store_ids: optional array of string` - 附加到此助手的 [向量存储](/docs/api-reference/vector-stores/object) 的 ID。最多可以有 1 个向量存储附加到该助手。 + 附加到此助手的 [向量存储](/docs/api-reference/vector-stores/object) 的 ID。每个助手最多可以附加 1 个向量存储。 - `top_p: optional number or null` - 温度采样的替代方法,称为核采样,模型考虑具有 top_p 概率质量的令牌结果。因此 0.1 意味着只考虑构成前 10% 概率质量的令牌。 + 一种替代采样的温度采样方法,称为核采样,其中模型考虑具有 top_p 概率质量的标记的结果。因此 0.1 表示仅考虑组成前 10% 概率质量的标记。 - 我们通常建议更改此参数或温度,但不要同时更改两者。 + 我们通常建议更改此项或 temperature,但不要同时更改两者。 - `first_id: string` @@ -266,7 +266,7 @@ curl https://api.openai.com/v1/assistants \ -H "Authorization: Bearer $OPENAI_API_KEY" ``` -#### 响应 +#### Response ```json { @@ -320,7 +320,7 @@ curl "https://api.openai.com/v1/assistants?order=desc&limit=20" \ -H "OpenAI-Beta: assistants=v2" ``` -#### 响应 +#### Response ```json { diff --git a/docs/zh/api/reference/resources/beta/subresources/assistants/methods/retrieve.md b/docs/zh/api/reference/resources/beta/subresources/assistants/methods/retrieve.md index 82f73c8..ffb0381 100644 --- a/docs/zh/api/reference/resources/beta/subresources/assistants/methods/retrieve.md +++ b/docs/zh/api/reference/resources/beta/subresources/assistants/methods/retrieve.md @@ -1,4 +1,4 @@ -> 如需查看完整的文档索引,请参阅 [llms.txt](/llms.txt). 各文档页面的 Markdown 版本可通过在网址末尾追加 `.md` 获得。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。在页面 URL 后追加 `.md` 即可获取文档页面的 Markdown 版本。 ## 检索助手 @@ -18,36 +18,36 @@ - `id: string` - 标识符,可在 API 端点中引用。 + 标识符,可以在 API 端点中引用。 - `created_at: number` - 创建助手时的 Unix 时间戳(秒)。 + 助理创建时的 Unix 时间戳(以秒为单位)。 - `description: string or null` - 助手的描述。最大长度为 512 个字符。 + 助理的描述。最大长度为 512 个字符。 - `instructions: string or null` - 助手使用的系统指令。最大长度为 256,000 个字符。 + 助理使用的系统指令。最大长度为 256,000 个字符。 - `metadata: Metadata or null` - 可附加到对象上的 16 个键值对集合。这可用于 - 以结构化格式存储有关对象的附加信息, - 并通过 API 或仪表盘查询对象。 + 可以附加到对象的 16 组键值对。可用于 + 以结构化格式存储有关对象的附加信息,并通过 + API 或控制台查询对象。 键为字符串,最大长度为 64 个字符。值为字符串, 最大长度为 512 个字符。 - `model: string` - 要使用的模型 ID。你可以使用 [List models](/docs/api-reference/models/list) API 查看所有可用模型,或查看我们的 [Model overview](/docs/models) 了解模型的描述。 + 要使用的模型 ID。你可以使用 [列出模型](/docs/api-reference/models/list) API 查看所有可用模型,或参阅我们的 [模型概述](/docs/models) 了解相关描述。 - `name: string or null` - 助手的名称。最大长度为 256 个字符。 + 助理的名称。最大长度为 256 个字符。 - `object: "assistant"` @@ -57,7 +57,7 @@ - `tools: array of CodeInterpreterTool or FileSearchTool or FunctionTool` - 助手启用的工具列表。每个助手最多可有 128 个工具。工具类型可为 `code_interpreter`, `file_search`,或 `function`. + 助理上启用的工具列表。每个助理最多可以启用 128 个工具。工具可以是以下类型 `code_interpreter`, `file_search`,或 `function`. - `CodeInterpreterTool object { type }` @@ -77,27 +77,27 @@ - `file_search: optional object { max_num_results, ranking_options }` - 文件搜索工具的覆盖设置。 + 文件搜索 工具的覆盖项。 - `max_num_results: optional number` - 文件搜索工具应输出的最大结果数。默认值为20,适用于 `gpt-4*` 模型和5,适用于 `gpt-3.5-turbo`。此数字应介于1和50之间(含边界值)。 + 文件搜索 工具应输出的最大结果数。 `gpt-4*` 模型默认为 20, `gpt-3.5-turbo`。默认为 5。该数值应介于 1 到 50 之间(含端点)。 - 请注意,文件搜索工具可能输出少于 `max_num_results` 结果。请参阅 [文件搜索工具文档](/docs/assistants/tools/file-search#customizing-file-search-settings) 了解更多信息。 + 请注意,文件搜索 工具可能输出的结果数少于 `max_num_results` 个结果。参见 [文件搜索 工具文档](/docs/assistants/tools/file-search#customizing-file-search-settings) 了解更多信息。 - `ranking_options: optional object { score_threshold, ranker }` - 文件搜索的排序选项。如果未指定,文件搜索工具将使用 `auto` 排序器,并将score_threshold设置为0。 + 文件搜索 的排序选项。如果未指定,文件搜索 工具将使用 `auto` 排序器,并将 score_threshold 设为 0。 - 请参阅 [文件搜索工具文档](/docs/assistants/tools/file-search#customizing-file-search-settings) 了解更多信息。 + 参见 [文件搜索 工具文档](/docs/assistants/tools/file-search#customizing-file-search-settings) 了解更多信息。 - `score_threshold: number` - 文件搜索的分数阈值。所有值必须是介于0和1之间的浮点数。 + 文件搜索 的分数阈值。所有取值必须是介于 0 到 1 之间的浮点数。 - `ranker: optional "auto" or "default_2024_08_21"` - 用于文件搜索的排序器。如果未指定,将使用 `auto` 排序器。 + 文件搜索 使用的排序器。如果未指定,将使用 `auto` 排序器。 - `"auto"` @@ -109,37 +109,37 @@ - `name: string` - 要调用的函数名称。必须为a-z、A-Z、0-9,或包含下划线和短划线,最大长度为64。 + 要调用的函数名称。必须为 a-z、A-Z、0-9,或包含下划线和连字符,最大长度为 64。 - `description: optional string` - 函数功能的描述,模型将根据此描述决定何时以及如何调用该函数。 + 函数功能的描述,供模型用于选择何时以及如何调用该函数。 - `parameters: optional FunctionParameters` - 函数接受的参数,以 JSON Schema 对象描述。参见 [指南](/docs/guides/function-calling) 中的示例,以及 [JSON Schema 参考](https://json-schema.org/understanding-json-schema/) 获取关于该格式的文档。 + 函数接受的参数,以 JSON Schema 对象描述。参见 [指南](/docs/guides/function-calling) 中的示例,以及 [JSON Schema 参考](https://json-schema.org/understanding-json-schema/) 文档中关于格式的说明。 - 省略 `parameters` 定义了一个参数列表为空的函数。 + 省略 `parameters` 用于定义一个参数列表为空的函数。 - `strict: optional boolean or null` - 是否在生成函数调用时启用严格的模式遵守。如果设置为 true,模型将遵循 `parameters` 字段中定义的精确模式。当 `strict` 为 `true`。时,仅支持 JSON Schema 的一个子集。在 [函数调用指南](/docs/guides/function-calling). + 是否在生成函数调用时启用严格模式以遵循模式定义。如果设为 true,模型将遵循 `parameters` 字段中定义的精确模式。当 strict 为 true 时,仅支持 JSON Schema 的一个子集。 `strict` 为 `true`。时,可支持的 JSON Schema 子集详情请参阅 [函数调用指南](/docs/guides/function-calling). - `type: "function"` - 要定义的工具类型: `function` + 正在定义的工具类型: `function` - `"function"` - `response_format: optional AssistantResponseFormatOption or null` - 指定模型必须输出的格式。兼容 [GPT-4o](/docs/models#gpt-4o), [GPT-4 Turbo](/docs/models#gpt-4-turbo-and-gpt-4),以及所有自 `gpt-3.5-turbo-1106`. + 指定模型必须输出的格式。兼容 [GPT-4o](/docs/models#gpt-4o), [GPT-4 Turbo](/docs/models#gpt-4-turbo-and-gpt-4),以及自 `gpt-3.5-turbo-1106`. - 以来 `{ "type": "json_schema", "json_schema": {...} }` 的 GPT-3.5 Turbo 模型。设置为 [结构化输出指南](/docs/guides/structured-outputs). + 设置参数为 `{ "type": "json_schema", "json_schema": {...} }` 启用结构化输出,确保模型输出与你提供的 JSON schema 完全匹配。更多信息请参阅 [结构化输出指南](/docs/guides/structured-outputs). - 设置为 `{ "type": "json_object" }` 可启用 JSON 模式,该模式确保模型生成的消息是有效的 JSON。 + 设置参数为 `{ "type": "json_object" }` 启用 JSON 模式,确保模型生成的消息是合法 JSON。 - **重要提示:** 使用 JSON 模式时,你 **必须** 通过系统或用户消息自行指示模型生成 JSON。否则,模型可能会生成无休止的空白字符,直到达到令牌限制,导致请求长时间运行且看似“卡住”。另请注意,如果 `finish_reason="length"`,表示生成结果超出 `max_tokens` 或对话超出最大上下文长度,消息内容可能会被部分截断。 + **重要提示:** 使用 JSON 模式时,你 **必须** 也可以通过系统或用户消息自行指示模型输出 JSON。否则,模型可能会生成无止境的空白字符,直到生成达到 token 限制,从而导致请求长时间运行并看似“卡住”。另请注意,如果 `finish_reason="length"`,则表示生成超出 `max_tokens` 或对话超出最大上下文长度。 - `"auto"` @@ -153,86 +153,86 @@ - `type: "text"` - 所定义响应格式的类型。始终为 `text`. + 正在定义的响应格式类型。始终为 `text`. - `"text"` - `ResponseFormatJSONObject object { type }` JSON 对象响应格式。一种较旧的生成 JSON 响应的方法。 - 对于支持该格式的模型,建议使用 `json_schema` 。请注意,没有指示其生成 JSON 的系统或用户消息时, - 模型将不会生成 JSON - 。 + 使用 `json_schema` 推荐用于支持它的模型。请注意, + 模型在没有系统或用户消息指示的情况下不会生成 JSON + 来这样做。 - `type: "json_object"` - 所定义响应格式的类型。始终为 `json_object`. + 正在定义的响应格式类型。始终为 `json_object`. - `"json_object"` - `ResponseFormatJSONSchema object { json_schema, type }` - JSON Schema 响应格式。用于生成结构化 JSON 响应。 - 了解更多关于 [Structured Outputs](/docs/guides/structured-outputs). + JSON Schema 响应格式。用于生成结构化的 JSON 响应。 + 详细了解 [结构化输出](/docs/guides/structured-outputs). - `json_schema: object { name, description, schema, strict }` - 结构化输出配置选项,包括 JSON Schema。 + 结构化输出配置选项,包括一个 JSON Schema。 - `name: string` 响应格式的名称。必须为 a-z、A-Z、0-9,或包含 - 下划线和短划线,最大长度为 64。 + 下划线和短横线,最大长度为 64。 - `description: optional string` - 关于响应格式用途的描述,模型会据此 + 对响应格式用途的描述,模型据此 决定如何以该格式进行响应。 - `schema: optional map[unknown]` 响应格式的架构,以 JSON Schema 对象形式描述。 - 了解如何构建 JSON 架构 [此处](https://json-schema.org/). + 了解如何构建 JSON schema [请参阅此处](https://json-schema.org/). - `strict: optional boolean or null` - 是否在生成输出时启用严格架构遵循。 - 若设为 true,模型将始终遵循定义的精确架构, - 见 `schema` 字段。当 - `strict` 为 `true`。时,仅支持 JSON Schema 的一个子集。要了解更多信息,请阅读 [Structured Outputs + 是否在生成输出时启用严格的 schema 遵循。 + 如果设置为 true,模型将始终遵循所定义的确切 schema + ,如需进一步了解,请阅读 `schema` 字段中定义的精确模式。当 strict 为 true 时,仅支持 JSON Schema 的一个子集。 + `strict` 为 `true`。要了解更多信息,请参阅 [结构化输出 指南](/docs/guides/structured-outputs). - `type: "json_schema"` - 所定义响应格式的类型。始终 `json_schema`. + 正在定义的响应格式类型。始终为 `json_schema`. - `"json_schema"` - `temperature: optional number or null` - 使用什么采样温度,范围在 0 和 2 之间。较高的值如 0.8 会使输出更随机,而较低的值如 0.2 会使输出更集中和确定。 + 使用的采样温度,取值范围为 0 到 2。较高的值(例如 0.8)会使输出更加随机,而较低的值(例如 0.2)会使输出更加集中和确定。 - `tool_resources: optional object { code_interpreter, file_search } or null` - 一组由助手工具使用的资源。这些资源特定于工具类型。例如, `code_interpreter` 工具需要文件 ID 列表,而 `file_search` 工具需要一个向量存储 ID 列表。 + 助手工具所使用的一组资源。这些资源因工具类型而异。例如, `code_interpreter` 工具需要一个 file ID 列表,而 `file_search` 工具需要一个 vector store ID 列表。 - `code_interpreter: optional object { file_ids }` - `file_ids: optional array of string` - 一个 [文件](/docs/api-reference/files) ID 列表,可供 `code_interpreter`` 工具使用。最多可有 20 个文件与该工具关联。 + 一个 [file](/docs/api-reference/files) ID 列表,这些 ID 可供 `code_interpreter`` 工具使用。每个工具最多可以关联 20 个文件。 - `file_search: optional object { vector_store_ids }` - `vector_store_ids: optional array of string` - 该 [向量存储](/docs/api-reference/vector-stores/object) 的 ID,附加到此助手。最多可有 1 个向量存储附加到该助手。 + 与此助手关联的 [vector store](/docs/api-reference/vector-stores/object) 的 ID。每个助手最多可以关联 1 个 vector store。 - `top_p: optional number or null` - 一种替代温度采样的方法,称为核采样,模型考虑具有 top_p 概率质量的令牌结果。因此,0.1 表示仅考虑组成前 10% 概率质量的令牌。 + 一种替代温度采样的方法,称为核采样(nucleus sampling),模型只考虑概率质量排名前 top_p 的 token。例如 0.1 表示仅考虑概率质量排名前 10% 的 token。 - 我们通常建议修改此参数或温度,但不要同时修改两者。 + 我们通常建议调整此参数或 temperature,但不要同时调整两者。 ### 示例 diff --git a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions.md b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions.md index f844c0e..e4c2f4f 100644 --- a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions.md +++ b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions.md @@ -1,14 +1,14 @@ -# 会话 +# Sessions -> 关于完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。可以通过在页面 URL 后追加 `.md` 来获取文档页面的 Markdown 版本。 ## 取消聊天会话 **post** `/chatkit/sessions/{session_id}/cancel` -取消一个活动的 ChatKit 会话并返回其最新的元数据。 +取消一个进行中的 ChatKit 会话,并返回其最近的元数据。 -取消操作会阻止新请求使用已发放的客户端密钥。 +取消后,已签发的客户端密钥将无法用于新的请求。 ### 路径参数 @@ -26,23 +26,23 @@ - `chatkit_configuration: ChatSessionChatKitConfiguration` - 会话的已解析 ChatKit 功能配置。 + 该会话已解析的 ChatKit 功能配置。 - `automatic_thread_titling: ChatSessionAutomaticThreadTitling` - 自动线程标题设置。 + 自动会话标题偏好设置。 - `enabled: boolean` - 是否启用自动线程标题。 + 是否启用自动会话标题。 - `file_upload: ChatSessionFileUpload` - 会话的上传设置。 + 该会话的上传设置。 - `enabled: boolean` - 指示会话是否启用上传功能。 + 指示该会话是否允许上传。 - `max_file_size: number or null` @@ -50,7 +50,7 @@ - `max_files: number or null` - 会话期间允许的最大上传次数。 + 会话期间允许的最大上传数量。 - `history: ChatSessionHistory` @@ -58,11 +58,11 @@ - `enabled: boolean` - 指示会话的聊天历史记录是否持久化。 + 指示是否为该会话持久化聊天历史记录。 - `recent_threads: number or null` - 历史记录视图中显示的先前线程数量。当保留所有历史记录时,默认为 null。 + 在历史记录视图中显示的先前会话数量。当保留所有历史记录时,默认为 null。 - `client_secret: string` @@ -70,7 +70,7 @@ - `expires_at: number` - 会话过期时的 Unix 时间戳(以秒为单位)。 + 会话过期的 Unix 时间戳(以秒为单位)。 - `max_requests_per_1_minute: number` @@ -78,7 +78,7 @@ - `object: "chatkit.session"` - 类型判别器,始终为 `chatkit.session`. + 始终为以下值的类型判别字段 `chatkit.session`. - `"chatkit.session"` @@ -88,7 +88,7 @@ - `max_requests_per_1_minute: number` - 一分钟窗口内允许的最大请求数。 + 一分钟时间窗口内允许的最大请求数。 - `status: ChatSessionStatus` @@ -102,7 +102,7 @@ - `user: string` - 与会话关联的用户标识符。 + 与会话关联的会话用户标识符。 - `workflow: ChatKitWorkflow` @@ -110,11 +110,11 @@ - `id: string` - 支撑该会话的工作流的标识符。 + 支撑该会话的 工作流 的标识符。 - `state_variables: map[string or boolean or number] or null` - 调用工作流时应用的状态变量键值对。未提供覆盖时默认为 null。 + 调用 工作流 时应用的状态变量键值对。未提供覆盖值时默认为 null。 - `string` @@ -124,15 +124,15 @@ - `tracing: object { enabled }` - 应用于工作流的追踪设置。 + 应用于 工作流 的追踪设置。 - `enabled: boolean` - 指示是否启用追踪。 + 指示是否启用了 追踪。 - `version: string or null` - 会话使用的特定工作流版本。使用最新部署时默认为 null。 + 该会话使用的特定 工作流 版本。使用最新部署时默认为 null。 ### 示例 @@ -223,19 +223,19 @@ curl -X POST \ - `user: string` - 一个自由格式字符串,用于标识你的最终用户;确保此会话可以访问其他具有相同 `user` scope 的对象。 + 用于标识最终用户的自由格式字符串;确保此会话能够访问具有相同 `user` 作用域的其他对象。 - `workflow: ChatSessionWorkflowParam` - 驱动会话的工作流。 + 驱动该会话的工作流。 - `id: string` - 会话调用的 工作流 的标识符。 + 会话所调用的工作流的标识符。 - `state_variables: optional map[string or boolean or number]` - 转发给 工作流 的状态变量。键最长可为 64 个字符,值必须是原始类型,映射默认为空对象。 + 转发到工作流的状态变量。键名长度最多 64 个字符,值必须为基本数据类型,且该映射默认为空对象。 - `string` @@ -245,7 +245,7 @@ curl -X POST \ - `tracing: optional object { enabled }` - 追踪调用的可选 工作流覆盖项。省略时,追踪默认启用。 + 工作流调用的可选工作流覆盖项。省略时,默认启用追踪。 - `enabled: optional boolean` @@ -261,15 +261,15 @@ curl -X POST \ - `automatic_thread_titling: optional object { enabled }` - 自动线程标题的配置。省略时,自动线程标题默认启用。 + 自动会话标题命名的配置。省略时,默认启用自动会话标题命名。 - `enabled: optional boolean` - 启用自动线程标题生成。默认为 true。 + 启用自动会话标题生成。默认为 true。 - `file_upload: optional object { enabled, max_file_size, max_files }` - 上传启用和限制的配置。省略时,上传默认禁用(max_files 10,max_file_size 512 MB)。 + 上传启用与限制的配置。省略时,默认禁用上传(max_files 10,max_file_size 512 MB)。 - `enabled: optional boolean` @@ -277,7 +277,7 @@ curl -X POST \ - `max_file_size: optional number` - 每个上传文件的最大大小(以兆字节为单位)。默认为 512 MB,这也是允许的最大大小。 + 每个上传文件的最大大小(以 MB 为单位)。默认为 512 MB,这也是允许的最大值。 - `max_files: optional number` @@ -285,43 +285,43 @@ curl -X POST \ - `history: optional object { enabled, recent_threads }` - 聊天历史保留的配置。省略时,历史默认启用,且不限制 recent_threads(null)。 + 聊天历史保留配置。省略时,默认启用历史记录,且对 recent_threads 数量没有限制(null)。 - `enabled: optional boolean` - 允许聊天用户访问之前的 ChatKit 线程。默认为 true。 + 允许聊天用户访问之前的 ChatKit 会话。默认为 true。 - `recent_threads: optional number` - 用户可访问的最近 ChatKit 线程数。未设置时默认为无限制。 + 用户可访问的最近 ChatKit 会话数量。未设置时默认为无限制。 - `expires_after: optional ChatSessionExpiresAfterParam` - 可选覆盖项,用于设置自创建以来的会话过期时间(秒)。默认为 10 分钟。 + 会话到期时间的可选覆盖项,以创建时起经过的秒数表示。默认为 10 分钟。 - `anchor: "created_at"` - 用于计算过期时间的基础时间戳。目前固定为 `created_at`. + 用于计算到期时间的基础时间戳。当前固定为 `created_at`. - `"created_at"` - `seconds: number` - 锚点之后会话过期的秒数。 + 从锚点起经过指定秒数后会话过期。 - `rate_limits: optional ChatSessionRateLimitsParam` - 每分钟请求限制的可选覆盖。省略时默认为10。 + 可选的每分钟请求数上限覆盖值。未指定时默认为 10。 - `max_requests_per_1_minute: optional number` - 会话每分钟允许的最大请求数。默认值为10。 + 会话允许的每分钟最大请求数。默认为 10。 ### 返回 - `ChatSession object { id, chatkit_configuration, client_secret, 7 more }` - 表示一个 ChatKit 会话及其解析后的配置。 + 表示一个 ChatKit 会话及其已解析的配置。 - `id: string` @@ -329,23 +329,23 @@ curl -X POST \ - `chatkit_configuration: ChatSessionChatKitConfiguration` - 会话的已解析 ChatKit 功能配置。 + 该会话已解析的 ChatKit 功能配置。 - `automatic_thread_titling: ChatSessionAutomaticThreadTitling` - 自动线程标题偏好设置。 + 自动会话标题偏好设置。 - `enabled: boolean` - 是否启用自动线程标题。 + 是否启用自动会话标题。 - `file_upload: ChatSessionFileUpload` - 会话的上传设置。 + 该会话的上传设置。 - `enabled: boolean` - 指示会话是否允许上传。 + 指示该会话是否允许上传。 - `max_file_size: number or null` @@ -353,7 +353,7 @@ curl -X POST \ - `max_files: number or null` - 会话期间允许的最大上传次数。 + 会话期间允许的最大上传数量。 - `history: ChatSessionHistory` @@ -361,15 +361,15 @@ curl -X POST \ - `enabled: boolean` - 指示会话的聊天历史记录是否持久化。 + 指示是否为该会话持久化聊天历史记录。 - `recent_threads: number or null` - 历史记录视图中显示的先前线程数。当保留所有历史记录时,默认为 null。 + 在历史记录视图中显示的先前会话数量。当保留所有历史记录时,默认为 null。 - `client_secret: string` - 用于验证会话请求的临时客户端密钥。 + 用于认证会话请求的临时客户端密钥。 - `expires_at: number` @@ -377,11 +377,11 @@ curl -X POST \ - `max_requests_per_1_minute: number` - 方便使用的每分钟请求限制副本。 + 每分钟请求限制的便捷副本。 - `object: "chatkit.session"` - 始终为 `chatkit.session`. + 始终为以下值的类型判别字段 `chatkit.session`. - `"chatkit.session"` @@ -391,7 +391,7 @@ curl -X POST \ - `max_requests_per_1_minute: number` - 一分钟窗口内允许的最大请求数。 + 一分钟时间窗口内允许的最大请求数。 - `status: ChatSessionStatus` @@ -405,7 +405,7 @@ curl -X POST \ - `user: string` - 会话关联的用户标识符。 + 与会话关联的会话用户标识符。 - `workflow: ChatKitWorkflow` @@ -413,11 +413,11 @@ curl -X POST \ - `id: string` - 支持该会话的工作流的标识符。 + 支撑该会话的 工作流 的标识符。 - `state_variables: map[string or boolean or number] or null` - 调用工作流时应用的状态变量键值对。当未提供覆盖项时默认为 null。 + 调用 工作流 时应用的状态变量键值对。未提供覆盖值时默认为 null。 - `string` @@ -427,15 +427,15 @@ curl -X POST \ - `tracing: object { enabled }` - 应用于工作流的追踪设置。 + 应用于 工作流 的追踪设置。 - `enabled: boolean` - 指示是否启用追踪。 + 指示是否启用了 追踪。 - `version: string or null` - 会话使用的特定工作流版本。当使用最新部署时默认为 null。 + 该会话使用的特定 工作流 版本。使用最新部署时默认为 null。 ### 示例 diff --git a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/cancel.md b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/cancel.md index fe069f6..02ac474 100644 --- a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/cancel.md +++ b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/cancel.md @@ -1,12 +1,12 @@ -> 关于完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾追加 `.md` 获取文档页面的 Markdown 版本。 ## 取消聊天会话 **post** `/chatkit/sessions/{session_id}/cancel` -取消一个正在进行的 ChatKit 会话,并返回其最新的元数据。 +取消活动的 ChatKit 会话并返回其最新元数据。 -取消操作将阻止新请求使用已发布的客户端密钥。 +取消后可阻止新请求使用已颁发的客户端密钥。 ### 路径参数 @@ -24,15 +24,15 @@ - `chatkit_configuration: ChatSessionChatKitConfiguration` - 会话的已解析 ChatKit 功能配置。 + 为该会话解析的 ChatKit 功能配置。 - `automatic_thread_titling: ChatSessionAutomaticThreadTitling` - 自动线程标题设置。 + 自动会话标题偏好设置。 - `enabled: boolean` - 是否启用自动线程标题。 + 是否启用自动会话标题。 - `file_upload: ChatSessionFileUpload` @@ -40,15 +40,15 @@ - `enabled: boolean` - 指示会话是否启用了上传。 + 指示该会话是否启用了上传。 - `max_file_size: number or null` - 最大上传大小(以兆字节为单位)。 + 最大上传大小(以 MB 为单位)。 - `max_files: number or null` - 会话期间允许的最大上传次数。 + 会话期间允许的最大上传数量。 - `history: ChatSessionHistory` @@ -56,15 +56,15 @@ - `enabled: boolean` - 指示会话的聊天历史记录是否被持久化。 + 指示是否为该会话保留聊天历史记录。 - `recent_threads: number or null` - 历史记录视图中显示的先前线程数量。当保留所有历史记录时,默认为 null。 + 在历史记录视图中展示的过往会话数量。当保留所有历史记录时,默认为 null。 - `client_secret: string` - 用于认证会话请求的临时客户端密钥。 + 用于验证会话请求的临时客户端密钥。 - `expires_at: number` @@ -76,7 +76,7 @@ - `object: "chatkit.session"` - 始终为 `chatkit.session`. + 类型鉴别符,始终为 `chatkit.session`. - `"chatkit.session"` @@ -86,7 +86,7 @@ - `max_requests_per_1_minute: number` - 一分钟窗口内允许的最大请求数。 + 一分钟时间窗口内允许的最大请求数。 - `status: ChatSessionStatus` @@ -100,7 +100,7 @@ - `user: string` - 与会话关联的用户标识符。 + 与该会话关联的用户标识符。 - `workflow: ChatKitWorkflow` @@ -108,11 +108,11 @@ - `id: string` - 支持该会话的工作流的标识符。 + 支撑该会话的 工作流 的标识符。 - `state_variables: map[string or boolean or number] or null` - 调用工作流时应用的状态变量键值对。未提供覆盖项时默认为 null。 + 调用 工作流 时应用的状态变量键值对。如果未提供任何覆盖值,则默认为 null。 - `string` @@ -122,15 +122,15 @@ - `tracing: object { enabled }` - 应用于该工作流的追踪设置。 + 应用于 工作流 的追踪设置。 - `enabled: boolean` - 指示是否启用追踪。 + 指示是否启用了 追踪。 - `version: string or null` - 用于该会话的特定工作流版本。使用最新部署时默认为 null。 + 该会话使用的特定 工作流 版本。使用最新部署时默认为 null。 ### 示例 diff --git a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/create.md b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/create.md index e047b6b..97e975f 100644 --- a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/create.md +++ b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/sessions/methods/create.md @@ -1,28 +1,28 @@ -> 完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获得。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾追加 `.md` 获取文档页面的 Markdown 版本。 ## 创建 ChatKit 会话 **post** `/chatkit/sessions` -创建一个 ChatKit 会话。 +创建 ChatKit 会话。 ### 请求体参数 - `user: string` - 一个自由格式字符串,用于标识你的最终用户;确保此会话可以访问具有相同 `user` 作用域的其他对象。 + 用于标识最终用户的自由格式字符串;确保此会话能够访问具有相同 `user` 作用域的其他对象。 - `workflow: ChatSessionWorkflowParam` - 驱动会话的工作流。 + 驱动该会话的工作流。 - `id: string` - 会话调用的工作流的标识符。 + 会话所调用的工作流标识符。 - `state_variables: optional map[string or boolean or number]` - 转发给工作流的状态变量。键最多可包含 64 个字符,值必须是原始类型,映射默认为空对象。 + 转发给工作流的状态变量。键最多 64 个字符,值必须是原始类型,且该映射默认为空对象。 - `string` @@ -32,7 +32,7 @@ - `tracing: optional object { enabled }` - 可选的追踪覆盖,用于工作流调用。省略时,追踪默认启用。 + 用于工作流调用的可选追踪覆盖项。未指定时,追踪默认启用。 - `enabled: optional boolean` @@ -48,15 +48,15 @@ - `automatic_thread_titling: optional object { enabled }` - 自动线程标题的配置。省略时,自动线程标题默认启用。 + 自动会话标题配置。未指定时,自动会话标题默认启用。 - `enabled: optional boolean` - 启用自动线程标题生成。默认为 true。 + 启用自动会话标题生成。默认为 true。 - `file_upload: optional object { enabled, max_file_size, max_files }` - 上传启用和限制的配置。省略时,上传默认禁用(max_files 10,max_file_size 512 MB)。 + 上传启用与限制的配置。未指定时,上传默认禁用(max_files 为 10,max_file_size 为 512 MB)。 - `enabled: optional boolean` @@ -64,51 +64,51 @@ - `max_file_size: optional number` - 每个上传文件的最大大小(以兆字节为单位)。默认为 512 MB,这是允许的最大大小。 + 每个上传文件的最大大小(以 MB 为单位)。默认为 512 MB,这也是允许的最大大小。 - `max_files: optional number` - 可上传到会话的最大文件数。默认为 10。 + 可上传到该会话的最大文件数。默认为 10。 - `history: optional object { enabled, recent_threads }` - 聊天历史保留的配置。省略时,历史默认启用,recent_threads 无限制(null)。 + 聊天历史保留配置。未指定时,历史记录默认启用,recent_threads 无限制(null)。 - `enabled: optional boolean` - 允许聊天用户访问之前的 ChatKit 线程。默认为 true。 + 允许聊天用户访问之前的 ChatKit 会话。默认为 true。 - `recent_threads: optional number` - 用户可访问的最近 ChatKit 线程数。未设置时默认为无限制。 + 用户可访问的最近 ChatKit 会话数量。未设置时默认为无限制。 - `expires_after: optional ChatSessionExpiresAfterParam` - 会话过期时间的可选覆盖项,以从创建起的秒数计算。默认为 10 分钟。 + 会话过期时间的可选覆盖项(自创建起的秒数)。默认为 10 分钟。 - `anchor: "created_at"` - 用于计算过期时间的基础时间戳。目前固定为 `created_at`. + 用于计算过期时间的基础时间戳。当前固定为 `created_at`. - `"created_at"` - `seconds: number` - 锚点之后会话过期的秒数。 + 在锚点之后会话过期的秒数。 - `rate_limits: optional ChatSessionRateLimitsParam` - 每分钟请求限制的可选覆盖值。省略时默认为 10。 + 可选的每分钟请求限制覆盖值。省略时默认为 10。 - `max_requests_per_1_minute: optional number` 会话每分钟允许的最大请求数。默认为 10。 -### 返回 +### Returns - `ChatSession object { id, chatkit_configuration, client_secret, 7 more }` - 表示一个 ChatKit 会话及其解析后的配置。 + 表示一个 ChatKit 会话及其已解析的配置。 - `id: string` @@ -116,15 +116,15 @@ - `chatkit_configuration: ChatSessionChatKitConfiguration` - 会话的已解析 ChatKit 功能配置。 + 该会话已解析的 ChatKit 功能配置。 - `automatic_thread_titling: ChatSessionAutomaticThreadTitling` - 自动线程标题设置。 + 自动会话主题命名偏好。 - `enabled: boolean` - 是否启用自动线程标题。 + 是否启用自动会话主题命名。 - `file_upload: ChatSessionFileUpload` @@ -132,7 +132,7 @@ - `enabled: boolean` - 指示会话是否启用上传。 + 指示该会话是否允许上传。 - `max_file_size: number or null` @@ -140,7 +140,7 @@ - `max_files: number or null` - 会话期间允许的最大上传次数。 + 会话期间允许的最大上传数量。 - `history: ChatSessionHistory` @@ -148,11 +148,11 @@ - `enabled: boolean` - 指示会话是否会持久化聊天历史记录。 + 指示该会话是否持久化聊天历史。 - `recent_threads: number or null` - 历史记录视图中显示的先前线程数量。当保留全部历史记录时,默认为 null。 + 在历史记录视图中展示的先前会话数量。当保留所有历史记录时,默认为 null。 - `client_secret: string` @@ -168,7 +168,7 @@ - `object: "chatkit.session"` - 类型判别器,始终为 `chatkit.session`. + 始终为的类型判别字段 `chatkit.session`. - `"chatkit.session"` @@ -182,7 +182,7 @@ - `status: ChatSessionStatus` - 会话的当前生命周期状态。 + 会话当前的生命周期状态。 - `"active"` @@ -200,11 +200,11 @@ - `id: string` - 支持该会话的工作流标识符。 + 支撑该会话的工作流标识符。 - `state_variables: map[string or boolean or number] or null` - 调用工作流时应用的状态变量键值对。未提供覆盖时默认为 null。 + 调用工作流时应用的状态变量键值对。如果未提供覆盖,则默认为 null。 - `string` @@ -214,15 +214,15 @@ - `tracing: object { enabled }` - 应用于工作流的追踪设置。 + 应用于该工作流的追踪设置。 - `enabled: boolean` - 指示追踪是否已启用。 + 指示是否启用了追踪。 - `version: string or null` - 会话使用的特定工作流版本。使用最新部署时默认为 null。 + 用于该会话的特定工作流版本。使用最新部署时默认为 null。 ### 示例 diff --git a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/delete.md b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/delete.md index 2c93c95..ab5fdc0 100644 --- a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/delete.md +++ b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/delete.md @@ -1,28 +1,28 @@ -> 如需查看完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 如需查看完整的文档索引,请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 后追加 `.md` 来获取文档页面的 Markdown 版本。 -## 删除 ChatKit 线程 +## 删除 ChatKit 会话 -**删除** `/chatkit/threads/{thread_id}` +**delete** `/chatkit/threads/{thread_id}` -删除一个 ChatKit 线程及其条目和存储的附件。 +删除一个 ChatKit 会话及其项目和已存储的附件。 ### 路径参数 - `thread_id: string` -### 返回 +### 返回值 - `id: string` - 已删除线程的标识符。 + 已删除对话的标识符。 - `deleted: boolean` - 表示线程已被删除。 + 表示该对话已被删除。 - `object: "chatkit.thread.deleted"` - 始终为 `chatkit.thread.deleted`. + 类型判别字段,固定为 `chatkit.thread.deleted`. - `"chatkit.thread.deleted"` diff --git a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list.md b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list.md index 31759f9..d660145 100644 --- a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list.md +++ b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list.md @@ -1,28 +1,28 @@ -> 有关完整文档索引,请参阅 [llms.txt](/llms.txt)。文档页面提供 Markdown 版本,可在页面 URL 后添加 `.md` 来获取。 +> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾追加 `.md` 来获取文档页面的 Markdown 版本。 -## 列出 ChatKit 线程 +## 列出 ChatKit 会话 **get** `/chatkit/threads` -使用可选分页和用户筛选器列出 ChatKit 线程。 +列出 ChatKit 会话线程,支持可选的分页和用户筛选。 ### 查询参数 - `after: optional string` - 列出在该线程条目 ID 之后创建的条目。第一页默认为 null。 + 在此线程项 ID 之后创建的列表项。对于第一页,默认为 null。 - `before: optional string` - 列出在该线程条目 ID 之前创建的条目。最新的结果默认为 null。 + 在此线程项 ID 之前创建的列表项。对于最新结果,默认为 null。 - `limit: optional number` - 要返回的线程条目最大数量。默认为 20。 + 要返回的线程项的最大数量。默认为 20。 - `order: optional "asc" or "desc"` - 按创建时间对结果进行排序。默认为 `desc`. + 按创建时间排序的结果顺序。默认为 `desc`. - `"asc"` @@ -30,93 +30,93 @@ - `user: optional string` - 筛选属于此用户标识符的线程。默认为 null 以返回所有用户。 + 筛选属于此用户标识符的线程。默认为 null,表示返回所有用户。 -### 返回 +### Returns - `data: array of ChatKitThread` - 项目列表 + 一个列表项 - `id: string` - 线程的标识符。 + 对话的标识符。 - `created_at: number` - 创建线程时的 Unix 时间戳(秒)。 + 对话创建时的 Unix 时间戳(以秒为单位)。 - `object: "chatkit.thread"` - 始终为的类型判别器 `chatkit.thread`. + 类型鉴别字段,始终为 `chatkit.thread`. - `"chatkit.thread"` - `status: object { type } or object { reason, type } or object { reason, type }` - 线程的当前状态。默认为 `active` 对于新创建的线程。 + 对话的当前状态。新创建的对话默认为 `active` 。 - `Active object { type }` - 表示线程处于活动状态。 + 表示对话处于活跃状态。 - `type: "active"` - 始终为的状态判别器 `active`. + 状态鉴别字段,始终为 `active`. - `"active"` - `Locked object { reason, type }` - 表示线程已锁定,无法接受新的输入。 + 表示对话已锁定,无法接受新的输入。 - `reason: string or null` - 线程被锁定的原因。未记录原因时默认为 null。 + 对话被锁定的原因。未记录原因时默认为 null。 - `type: "locked"` - 始终为的状态判别器 `locked`. + 状态鉴别字段,始终为 `locked`. - `"locked"` - `Closed object { reason, type }` - 表示线程已关闭。 + 表示对话已关闭。 - `reason: string or null` - 线程被关闭的原因。未记录原因时默认为 null。 + 对话被关闭的原因。未记录原因时默认为 null。 - `type: "closed"` - 始终为的状态判别器 `closed`. + 状态鉴别字段,始终为 `closed`. - `"closed"` - `title: string or null` - 线程的可选人类可读标题。未生成标题时默认为 null。 + 对话的可选人类可读标题。尚未生成标题时默认为 null。 - `user: string` - 标识拥有线程的最终用户的自由格式字符串。 + 用于标识拥有该对话的最终用户的自由格式字符串。 - `first_id: string or null` - 列表中第一个项目的 ID。 + 列表中第一项的 ID。 - `has_more: boolean` - 是否还有更多项目可用。 + 是否还有更多可用项。 - `last_id: string or null` - 列表中最后一个项目的 ID。 + 列表中最后一项的 ID。 - `object: "list"` - 返回的对象类型,必须为 `list`. + 返回对象的类型,必须为 `list`. - `"list"` diff --git a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list_items.md b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list_items.md index 4575293..0c0d8a9 100644 --- a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list_items.md +++ b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/list_items.md @@ -1,10 +1,10 @@ -> 完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获得。 +> 如需完整文档索引,请参阅 [llms.txt](/llms.txt)。通过在页面 URL 末尾追加 `.md` 可获取文档页面的 Markdown 版本。 -## 列出 ChatKit 线程项目 +## 列出 ChatKit 对话线程项 **get** `/chatkit/threads/{thread_id}/items` -列出属于 ChatKit 线程的项目。 +列出属于某个 ChatKit 会话线程的条目。 ### 路径参数 @@ -14,33 +14,33 @@ - `after: optional string` - 列出在此线程项 ID 之后创建的项。第一页默认为 null。 + 在指定的会话条目 ID 之后创建的列表条目。对于第一页,默认为 null。 - `before: optional string` - 列出在此线程项 ID 之前创建的项。最新结果默认为 null。 + 在指定的会话条目 ID 之前创建的列表条目。对于最新结果,默认为 null。 - `limit: optional number` - 要返回的线程项的最大数量。默认为 20。 + 要返回的最大会话条目数。默认为 20。 - `order: optional "asc" or "desc"` - 按创建时间对结果进行排序的顺序。默认为 `desc`. + 按创建时间排序结果的方式。默认为 `desc`. - `"asc"` - `"desc"` -### 返回 +### Returns - `ChatKitThreadItemList object { data, first_id, has_more, 2 more }` - 为 ChatKit API 渲染的线程项分页列表。 + 为 ChatKit API 渲染的线程项的分页列表。 - `data: array of ChatKitThreadUserMessageItem or ChatKitThreadAssistantMessageItem or ChatKitWidgetItem or 3 more` - 项列表 + 项的列表 - `ChatKitThreadUserMessageItem object { id, attachments, content, 5 more }` @@ -72,7 +72,7 @@ - `type: "image" or "file"` - 附件判别器。 + 附件的判别字段。 - `"image"` @@ -84,7 +84,7 @@ - `InputText object { text, type }` - 用户贡献到线程中的文本块。 + 用户向线程贡献的文本块。 - `text: string` @@ -92,7 +92,7 @@ - `type: "input_text"` - 类型判别器,始终为 `input_text`. + 始终为以下值的类型判别字段 `input_text`. - `"input_text"` @@ -106,25 +106,25 @@ - `type: "quoted_text"` - 类型判别器,始终为 `quoted_text`. + 始终为以下值的类型判别字段 `quoted_text`. - `"quoted_text"` - `created_at: number` - 项目创建时的 Unix 时间戳(秒)。 + 项创建时的 Unix 时间戳(以秒为单位)。 - `inference_options: object { model, tool_choice } or null` - 应用于消息的推理覆盖。未设置时默认为 null。 + 应用于该消息的推理覆盖参数。未设置时默认为 null。 - `model: string or null` - 生成响应的模型名称。使用会话默认值时默认为 null。 + 生成该响应的模型名称。使用会话默认模型时默认为 null。 - `tool_choice: object { id } or null` - 要调用的首选工具。当 ChatKit 应自动选择时,默认为 null。 + 首选调用的工具。由 ChatKit 自动选择时默认为 null。 - `id: string` @@ -132,7 +132,7 @@ - `object: "chatkit.thread_item"` - 类型鉴别器,始终为 `chatkit.thread_item`. + 始终为以下值的类型判别字段 `chatkit.thread_item`. - `"chatkit.thread_item"` @@ -154,77 +154,77 @@ - `content: array of ChatKitResponseOutputText` - 有序的助手响应片段。 + 按顺序排列的助手响应片段。 - `annotations: array of object { source, type } or object { source, type }` - 附加到响应文本的注释的有序列表。 + 附加到响应文本的、按顺序排列的注解列表。 - `File object { source, type }` - 引用已上传文件的注释。 + 引用已上传文件的注解。 - `source: object { filename, type }` - 注释引用的文件附件。 + 该注解引用的文件附件。 - `filename: string` - 注释引用的文件名。 + 该注解引用的文件名。 - `type: "file"` - 类型鉴别器,始终为 `file`. + 始终为以下值的类型判别字段 `file`. - `"file"` - `type: "file"` - 类型鉴别器,始终为 `file` 用于此注释。 + 类型鉴别器,始终为 `file` (对于此注解而言)。 - `"file"` - `URL object { source, type }` - 引用 URL 的注释。 + 引用 URL 的注解。 - `source: object { type, url }` - 注释引用的 URL。 + 该注解引用的 URL。 - `type: "url"` - 类型鉴别器,始终为 `url`. + 始终为以下值的类型判别字段 `url`. - `"url"` - `url: string` - 注释引用的 URL。 + 该注解引用的 URL。 - `type: "url"` - 类型鉴别器,始终为 `url` 用于此注释。 + 类型鉴别器,始终为 `url` (对于此注解而言)。 - `"url"` - `text: string` - 智能体生成的文本。 + 助手生成的文本。 - `type: "output_text"` - 类型判别器,始终为 `output_text`. + 始终为以下值的类型判别字段 `output_text`. - `"output_text"` - `created_at: number` - 项目创建时的 Unix 时间戳(秒)。 + 项创建时的 Unix 时间戳(以秒为单位)。 - `object: "chatkit.thread_item"` - 类型判别器,始终为 `chatkit.thread_item`. + 始终为以下值的类型判别字段 `chatkit.thread_item`. - `"chatkit.thread_item"` @@ -234,13 +234,13 @@ - `type: "chatkit.assistant_message"` - 类型判别器,始终为 `chatkit.assistant_message`. + 始终为以下值的类型判别字段 `chatkit.assistant_message`. - `"chatkit.assistant_message"` - `ChatKitWidgetItem object { id, created_at, object, 3 more }` - 渲染小部件负载的线程项。 + 用于渲染 widget 负载的线程项。 - `id: string` @@ -248,11 +248,11 @@ - `created_at: number` - 项目创建时的 Unix 时间戳(秒)。 + 项创建时的 Unix 时间戳(以秒为单位)。 - `object: "chatkit.thread_item"` - 类型判别器,始终为 `chatkit.thread_item`. + 始终为以下值的类型判别字段 `chatkit.thread_item`. - `"chatkit.thread_item"` @@ -262,17 +262,17 @@ - `type: "chatkit.widget"` - 类型判别器,始终为 `chatkit.widget`. + 始终为以下值的类型判别字段 `chatkit.widget`. - `"chatkit.widget"` - `widget: string` - 在 UI 中渲染的序列化小部件负载。 + 在 UI 中渲染的序列化 widget 负载。 - `ChatKitClientToolCall object { id, arguments, call_id, 7 more }` - 由智能体发起的客户端工具调用的记录。 + 助手发起的客户端工具调用的记录。 - `id: string` @@ -280,7 +280,7 @@ - `arguments: string` - 发送给工具的 JSON 编码参数。 + 发送到工具的 JSON 编码参数。 - `call_id: string` @@ -288,7 +288,7 @@ - `created_at: number` - 项目创建时的 Unix 时间戳(秒)。 + 项创建时的 Unix 时间戳(以秒为单位)。 - `name: string` @@ -296,13 +296,13 @@ - `object: "chatkit.thread_item"` - 类型判别器,始终为 `chatkit.thread_item`. + 始终为以下值的类型判别字段 `chatkit.thread_item`. - `"chatkit.thread_item"` - `output: string or null` - 从工具捕获的 JSON 编码输出。执行进行中时默认为 null。 + 从该工具捕获的 JSON 编码输出。执行进行中时默认为 null。 - `status: "in_progress" or "completed"` @@ -318,7 +318,7 @@ - `type: "chatkit.client_tool_call"` - 类型判别器,始终为 `chatkit.client_tool_call`. + 始终为以下值的类型判别字段 `chatkit.client_tool_call`. - `"chatkit.client_tool_call"` @@ -328,11 +328,11 @@ - `id: string` - 线程项目的标识符。 + 线程项的标识符。 - `created_at: number` - 项目创建时的 Unix 时间戳(秒)。 + 项创建时的 Unix 时间戳(以秒为单位)。 - `heading: string or null` @@ -340,7 +340,7 @@ - `object: "chatkit.thread_item"` - 类型判别器,始终为 `chatkit.thread_item`. + 始终为以下值的类型判别字段 `chatkit.thread_item`. - `"chatkit.thread_item"` @@ -362,31 +362,31 @@ - `type: "chatkit.task"` - 类型判别器,始终为 `chatkit.task`. + 始终为以下值的类型判别字段 `chatkit.task`. - `"chatkit.task"` - `ChatKitTaskGroup object { id, created_at, object, 3 more }` - 线程中分组在一起的 工作流 任务集合。 + 在会话中分组到一起的 工作流 任务集合。 - `id: string` - 线程项目的标识符。 + 线程项的标识符。 - `created_at: number` - 项目创建时的 Unix 时间戳(秒)。 + 项创建时的 Unix 时间戳(以秒为单位)。 - `object: "chatkit.thread_item"` - 类型判别器,始终为 `chatkit.thread_item`. + 始终为以下值的类型判别字段 `chatkit.thread_item`. - `"chatkit.thread_item"` - `tasks: array of object { heading, summary, type }` - 组中包含的任务。 + 分组中包含的任务。 - `heading: string or null` @@ -410,7 +410,7 @@ - `type: "chatkit.task_group"` - 类型判别器,始终为 `chatkit.task_group`. + 始终为以下值的类型判别字段 `chatkit.task_group`. - `"chatkit.task_group"` @@ -428,7 +428,7 @@ - `object: "list"` - 返回的对象类型,必须为 `list`. + 返回对象的类型,必须为 `list`. - `"list"` diff --git a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/retrieve.md b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/retrieve.md index 64ac381..fe1a459 100644 --- a/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/retrieve.md +++ b/docs/zh/api/reference/resources/beta/subresources/chatkit/subresources/threads/methods/retrieve.md @@ -1,10 +1,10 @@ -> 有关完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。通过在页面 URL 末尾追加 `.md` 可获取文档页面的 Markdown 版本。 -## 检索 ChatKit 线程 +## Retrieve ChatKit thread **get** `/chatkit/threads/{thread_id}` -按标识符检索 ChatKit 线程。 +按标识符检索 ChatKit 会话。 ### 路径参数 @@ -14,71 +14,71 @@ - `ChatKitThread object { id, created_at, object, 3 more }` - 表示一个 ChatKit 线程及其当前状态。 + 表示一个 ChatKit 会话及其当前状态。 - `id: string` - 线程的标识符。 + 会话的标识符。 - `created_at: number` - 线程创建时的 Unix 时间戳(以秒为单位)。 + 会话创建时的 Unix 时间戳(以秒为单位)。 - `object: "chatkit.thread"` - 类型区分符,始终为 `chatkit.thread`. + 类型鉴别字段,始终为 `chatkit.thread`. - `"chatkit.thread"` - `status: object { type } or object { reason, type } or object { reason, type }` - 线程的当前状态。默认为 `active` ,适用于新建线程。 + 会话的当前状态。新建会话默认为 `active` 。 - `Active object { type }` - 表示线程处于活动状态。 + 表示会话处于活跃状态。 - `type: "active"` - 状态区分符,始终为 `active`. + 状态鉴别字段,始终为 `active`. - `"active"` - `Locked object { reason, type }` - 表示线程已锁定,无法接受新的输入。 + 表示会话已锁定,无法接受新的输入。 - `reason: string or null` - 线程被锁定的原因。未记录原因时默认为 null。 + 会话被锁定的原因。未记录原因时默认为 null。 - `type: "locked"` - 状态区分符,始终为 `locked`. + 状态鉴别字段,始终为 `locked`. - `"locked"` - `Closed object { reason, type }` - 表示线程已关闭。 + 表示会话已被关闭。 - `reason: string or null` - 线程被关闭的原因。未记录原因时默认为 null。 + 会话被关闭的原因。未记录原因时默认为 null。 - `type: "closed"` - 状态区分符,始终为 `closed`. + 状态鉴别字段,始终为 `closed`. - `"closed"` - `title: string or null` - 线程的可选人类可读标题。未生成标题时默认为 null。 + 会话的可选人类可读标题。尚未生成标题时默认为 null。 - `user: string` - 用于标识拥有线程的最终用户的自由格式字符串。 + 用于标识拥有该会话的最终用户的自由格式字符串。 ### 示例 diff --git a/docs/zh/api/reference/resources/beta/subresources/threads/methods/create.md b/docs/zh/api/reference/resources/beta/subresources/threads/methods/create.md index 46aeb71..b954e0d 100644 --- a/docs/zh/api/reference/resources/beta/subresources/threads/methods/create.md +++ b/docs/zh/api/reference/resources/beta/subresources/threads/methods/create.md @@ -1,16 +1,16 @@ -> 有关完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后附加 `.md` 获得。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。通过在页面 URL 后追加以下内容可获取文档页面的 Markdown 版本: `.md` 即可。 -## 创建线程 +## Create thread **post** `/threads` -创建一个线程。 +创建会话线程。 -### 请求体参数 +### 正文参数 - `messages: optional array of object { content, role, attachments, metadata }` - 一个 [消息](/docs/api-reference/messages) 列表,用于启动线程。 + 一个 [messages](/docs/api-reference/messages) 用于开启该会话。 - `content: string or array of ImageFileContentBlock or ImageURLContentBlock or TextContentBlockParam` @@ -22,21 +22,21 @@ - `ArrayOfContentParts = array of ImageFileContentBlock or ImageURLContentBlock or TextContentBlockParam` - 一个包含定义类型的内容部分数组,每个部分可以是 `text` 类型,或者可以通过 `image_url` 或 `image_file`。传递图像。图像类型仅在 [视觉兼容模型](/docs/models). + 由已定义类型组成的内容分块数组,每个分块的类型可以是 `text` ,或可通过 `image_url` 或 `image_file`。传入图像。图像类型仅 [Vision-compatible models](/docs/models). - `ImageFileContentBlock object { image_file, type }` - 引用一张图像 [文件](/docs/api-reference/files) 在消息内容中。 + 引用消息内容中的一张图像。 [File](/docs/api-reference/files) 。 - `image_file: ImageFile` - `file_id: string` - 消息内容中图像的 [文件](/docs/api-reference/files) ID。如果需要在之后显示文件内容,请在 `purpose="vision"` 上传文件时设置。 + 该 [File](/docs/api-reference/files) 消息内容中图像的 ID。在上传 File 时设置 `purpose="vision"` ,以便稍后显示该文件内容。 - `detail: optional "auto" or "low" or "high"` - 如果用户指定,指定图像的细节级别。 `low` 使用更少的令牌,你可以选择通过 `high`. + 指定由用户设置的图像细节级别。 `low` 消耗的 tokens 更少,你也可以选择使用 `high`. - `"auto"` @@ -46,23 +46,23 @@ - `type: "image_file"` - 始终 `image_file`. + Always `image_file`. - `"image_file"` - `ImageURLContentBlock object { image_url, type }` - 在消息内容中引用图片 URL。 + 引用消息内容中的一个图像 URL。 - `image_url: ImageURL` - `url: string` - 图片的外部 URL,必须为受支持的图片类型:jpeg、jpg、png、gif、webp。 + 图像的外部 URL,必须是支持的图像类型:jpeg、jpg、png、gif、webp。 - `detail: optional "auto" or "low" or "high"` - 指定图片的细节级别。 `low` 使用更少的令牌,你可以选择通过 `high`。开启高分辨率。默认值为 `auto` + 指定图像的详细程度。 `low` 消耗的 tokens 更少,你也可以选择使用 `high`。默认值为 `auto` - `"auto"` @@ -78,7 +78,7 @@ - `TextContentBlockParam object { text, type }` - 作为消息一部分的文本内容。 + 属于消息的文本内容。 - `text: string` @@ -86,16 +86,16 @@ - `type: "text"` - 始终 `text`. + Always `text`. - `"text"` - `role: "user" or "assistant"` - 创建消息的实体的角色。允许的值包括: + 正在创建消息的实体的角色。允许的值包括: - `user`:表示消息由实际用户发送,在大多数情况下应使用此值来表示用户生成的消息。 - - `assistant`:表示消息由助手生成。使用此值可将助手消息插入对话中。 + - `assistant`:表示消息由助手生成。使用此值可将助手的消息插入到对话中。 - `"user"` @@ -103,7 +103,7 @@ - `attachments: optional array of object { file_id, tools } or null` - 附加到消息的文件列表,以及应将它们添加到的工具。 + 附加到消息的文件列表,以及应将这些文件添加到的工具。 - `file_id: optional string` @@ -117,7 +117,7 @@ - `type: "code_interpreter"` - 所定义工具的类型: `code_interpreter` + 正在定义的工具类型: `code_interpreter` - `"code_interpreter"` @@ -125,59 +125,59 @@ - `type: "file_search"` - 所定义工具的类型: `file_search` + 正在定义的工具类型: `file_search` - `"file_search"` - `metadata: optional Metadata or null` - 可附加到对象的 16 个键值对集合。这可以 - 用于以结构化格式存储有关对象的额外信息, - 并通过 API 或控制台查询对象。 + 可以附加到对象的 16 组键值对。这可用于 + 以结构化格式存储有关对象的附加信息, + 并通过 API 或仪表板查询对象。 - 键是最大长度为 64 个字符的字符串。值是最大长度 - 为 512 个字符的字符串。 + 键为字符串,最长 64 个字符。值为字符串, + 最长 512 个字符。 - `metadata: optional Metadata or null` - 一组可附加到对象上的 16 个键值对。这可用于 - 以结构化格式存储关于该对象的额外信息,并通过 - API 或仪表板查询对象。 + 可以附加到对象的 16 组键值对。这可用于 + 以结构化格式存储有关对象的附加信息, + 并通过 API 或仪表板查询对象。 - 键是最大长度为 64 个字符的字符串。值是最大长度 - 为 512 个字符的字符串。 + 键为字符串,最长 64 个字符。值为字符串, + 最长 512 个字符。 - `tool_resources: optional object { code_interpreter, file_search } or null` - 一组在此线程中可供助手工具使用的资源。这些资源特定于工具类型。例如, `code_interpreter` 工具需要一个文件 ID 列表,而 `file_search` 工具需要一个向量存储 ID 列表。 + 在此线程中可供助手工具使用的一组资源。这些资源特定于工具类型。例如, `code_interpreter` 工具需要一个文件 ID 列表,而 `file_search` 工具需要一个向量存储 ID 列表。 - `code_interpreter: optional object { file_ids }` - `file_ids: optional array of string` - 提供给 [文件](/docs/api-reference/files) 工具的 `code_interpreter` ID 列表。最多可有 20 个文件与该工具关联。 + 一个 [file](/docs/api-reference/files) 提供给 `code_interpreter` 工具的 ID。该工具最多可关联 20 个文件。 - `file_search: optional object { vector_store_ids, vector_stores }` - `vector_store_ids: optional array of string` - 附加到此线程的 [向量存储](/docs/api-reference/vector-stores/object) 。最多可有 1 个向量存储附加到该线程。 + 该 [vector store](/docs/api-reference/vector-stores/object) 附加到该会话的 vector store。每个会话最多可附加 1 个 vector store。 - `vector_stores: optional array of object { chunking_strategy, file_ids, metadata }` - 一个辅助工具,用于创建 [向量存储](/docs/api-reference/vector-stores/object) 并提供 file_ids,同时将其附加到此线程。最多可有 1 个向量存储附加到该线程。 + 用于创建的辅助方法 [vector store](/docs/api-reference/vector-stores/object) 并附带 file_ids,然后将其附加到该会话。每个会话最多可附加 1 个 vector store。 - `chunking_strategy: optional object { type } or object { static, type }` - 用于对文件进行分块的分块策略。若未设置,将使用 `auto` 策略。 + 用于对文件进行分块的分块策略。如果未设置,将使用 `auto` 策略。 - `Auto object { type }` - 默认策略。此策略当前使用 `max_chunk_size_tokens` 的 `800` 和 `chunk_overlap_tokens` 的 `400`. + 默认策略。该策略当前使用 `max_chunk_size_tokens` 为 `800` 和 `chunk_overlap_tokens` 为 `400`. - `type: "auto"` - 始终 `auto`. + Always `auto`. - `"auto"` @@ -187,42 +187,42 @@ - `chunk_overlap_tokens: number` - 块之间重叠的令牌数。默认值为 `400`. + 各分块之间重叠的 token 数。默认值为 `400`. - 请注意,重叠不得超过 `max_chunk_size_tokens`. + 请注意,重叠部分不得超过 `max_chunk_size_tokens`. - `max_chunk_size_tokens: number` - 每个块中的最大令牌数。默认值为 `800`。最小值为 `100` 最大值为 `4096`. + 每个分块中的最大 token 数。默认值为 `800`。最小值为 `100` ,最大值为 `4096`. - `type: "static"` - 始终 `static`. + Always `static`. - `"static"` - `file_ids: optional array of string` - 要添加到向量存储的 [文件](/docs/api-reference/files) ID 列表。对于 2025 年 11 月之前创建的向量存储,一个向量存储中最多可有 10,000 个文件。对于 2025 年 11 月起创建的向量存储,限制为 100,000,000 个文件。 + 一个 [file](/docs/api-reference/files) 要添加到 vector store 的 ID。对于 2025 年 11 月之前创建的 vector store,单个 vector store 中最多可包含 10,000 个文件。对于自 2025 年 11 月起创建的 vector store,上限为 100,000,000 个文件。 - `metadata: optional Metadata or null` - 可附加到对象的 16 个键值对集合。这可用于 - 以结构化格式存储有关对象的额外信息,并通过 - API 或仪表板查询对象。 + 可以附加到对象的 16 组键值对。这可用于 + 以结构化格式存储有关对象的附加信息, + 并通过 API 或仪表板查询对象。 - 键为字符串,最大长度为 64 个字符。值为字符串 - 最大长度为 512 个字符。 + 键为字符串,最长 64 个字符。值为字符串, + 最长 512 个字符。 -### 返回 +### Returns - `Thread object { id, created_at, metadata, 2 more }` - 表示包含 [消息](/docs/api-reference/messages). + 表示包含的线程 [messages](/docs/api-reference/messages). - `id: string` - 标识符,可在 API 端点中引用。 + 可在 API 端点中引用的标识符。 - `created_at: number` @@ -230,12 +230,12 @@ - `metadata: Metadata or null` - 可附加到对象的 16 个键值对集合。 - 这可用于以结构化格式存储有关对象的附加信息, + 可以附加到对象的 16 组键值对。这可用于 + 以结构化格式存储有关对象的附加信息, 并通过 API 或仪表板查询对象。 - 键是字符串,最大长度为 64 个字符。值是字符串, - 最大长度为 512 个字符。 + 键为字符串,最长 64 个字符。值为字符串, + 最长 512 个字符。 - `object: "thread"` @@ -245,19 +245,19 @@ - `tool_resources: object { code_interpreter, file_search } or null` - 在此线程中提供给助手工具的一组资源。这些资源特定于工具类型。例如, `code_interpreter` 工具需要文件 ID 列表,而 `file_search` 工具需要向量存储 ID 列表。 + 在此线程中可供助手工具使用的一组资源。这些资源特定于工具类型。例如, `code_interpreter` 工具需要一个文件 ID 列表,而 `file_search` 工具需要一个向量存储 ID 列表。 - `code_interpreter: optional object { file_ids }` - `file_ids: optional array of string` - 提供给 [文件](/docs/api-reference/files) 工具的 ID 列表。 `code_interpreter` 最多可有 20 个文件与该工具关联。 + 一个 [file](/docs/api-reference/files) 提供给 `code_interpreter` 工具的 ID。该工具最多可关联 20 个文件。 - `file_search: optional object { vector_store_ids }` - `vector_store_ids: optional array of string` - 附加到此线程的 [向量存储](/docs/api-reference/vector-stores/object) 。线程最多可附加 1 个向量存储。 + 该 [vector store](/docs/api-reference/vector-stores/object) 附加到该会话的 vector store。每个会话最多可附加 1 个 vector store。 ### 示例 @@ -268,7 +268,7 @@ curl https://api.openai.com/v1/threads \ -H "Authorization: Bearer $OPENAI_API_KEY" ``` -#### 响应 +#### Response ```json { @@ -293,7 +293,7 @@ curl https://api.openai.com/v1/threads \ } ``` -### 空 +### Empty ```http curl https://api.openai.com/v1/threads \ @@ -303,7 +303,7 @@ curl https://api.openai.com/v1/threads \ -d '' ``` -#### 响应 +#### Response ```json { @@ -333,7 +333,7 @@ curl https://api.openai.com/v1/threads \ }' ``` -#### 响应 +#### Response ```json { diff --git a/docs/zh/api/reference/resources/beta/subresources/threads/methods/delete.md b/docs/zh/api/reference/resources/beta/subresources/threads/methods/delete.md index cc0fae4..983df78 100644 --- a/docs/zh/api/reference/resources/beta/subresources/threads/methods/delete.md +++ b/docs/zh/api/reference/resources/beta/subresources/threads/methods/delete.md @@ -1,16 +1,16 @@ -> 有关完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 如需查看完整的文档索引,请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾添加 `.md` 来获取文档页面的 Markdown 版本。 -## 删除线程 +## 删除会话 -**删除** `/threads/{thread_id}` +**delete** `/threads/{thread_id}` -删除一个线程。 +删除会话线程。 ### 路径参数 - `thread_id: string` -### 返回值 +### 返回 - `ThreadDeleted object { id, deleted, object }` diff --git a/docs/zh/api/reference/resources/beta/subresources/threads/methods/retrieve.md b/docs/zh/api/reference/resources/beta/subresources/threads/methods/retrieve.md index 725dd1d..30d32c4 100644 --- a/docs/zh/api/reference/resources/beta/subresources/threads/methods/retrieve.md +++ b/docs/zh/api/reference/resources/beta/subresources/threads/methods/retrieve.md @@ -1,10 +1,10 @@ -> 如需查看完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。在页面 URL 末尾追加 `.md` 即可获取该页面的 Markdown 版本。 -## 检索线程 +## Retrieve thread **get** `/threads/{thread_id}` -检索一个线程。 +检索一个会话。 ### 路径参数 @@ -14,7 +14,7 @@ - `Thread object { id, created_at, metadata, 2 more }` - 表示包含 [消息](/docs/api-reference/messages). + 表示一个包含 [消息](/docs/api-reference/messages). - `id: string` @@ -22,15 +22,15 @@ - `created_at: number` - 线程创建时的 Unix 时间戳(秒)。 + 线程创建时的 Unix 时间戳(以秒为单位)。 - `metadata: Metadata or null` - 可附加到对象的 16 个键值对集合。这可以 - 用于以结构化格式存储关于对象的附加信息, - 并通过 API 或仪表板查询对象。 + 可附加到对象的 16 个键值对集合。可用于 + 以结构化格式存储有关对象的附加信息,并通过 API 或仪表板查询对象。 + 或仪表板查询对象。 - 键是字符串,最大长度为 64 个字符。值是字符串, + 键为字符串,最大长度为 64 个字符。值为字符串,最大长度为 512 个字符。 最大长度为 512 个字符。 - `object: "thread"` @@ -41,19 +41,19 @@ - `tool_resources: object { code_interpreter, file_search } or null` - 一组在此线程中对助理的工具可用的资源。资源特定于工具类型。例如, `code_interpreter` 工具需要文件 ID 列表,而 `file_search` 工具需要向量存储 ID 列表。 + 此线程中可供助手工具使用的一组资源。这些资源特定于工具类型。例如, `code_interpreter` 工具需要文件 ID 列表,而 `file_search` 工具需要向量存储 ID 列表。 - `code_interpreter: optional object { file_ids }` - `file_ids: optional array of string` - 可用的 [文件](/docs/api-reference/files) ID 列表,提供给 `code_interpreter` 工具。与该工具关联的文件最多可有 20 个。 + 一个 [文件](/docs/api-reference/files) ID 列表,可供 `code_interpreter` 工具使用。与该工具关联的文件最多为 20 个。 - `file_search: optional object { vector_store_ids }` - `vector_store_ids: optional array of string` - 附加到此线程的 [向量存储](/docs/api-reference/vector-stores/object) 。线程最多可附加 1 个向量存储。 + 该 [向量存储](/docs/api-reference/vector-stores/object) 附加到此线程。线程最多可附加 1 个向量存储。 ### 示例 @@ -63,7 +63,7 @@ curl https://api.openai.com/v1/threads/$THREAD_ID \ -H "Authorization: Bearer $OPENAI_API_KEY" ``` -#### 响应 +#### Response ```json { @@ -97,7 +97,7 @@ curl https://api.openai.com/v1/threads/thread_abc123 \ -H "OpenAI-Beta: assistants=v2" ``` -#### 响应 +#### Response ```json { diff --git a/docs/zh/api/reference/resources/beta/subresources/threads/methods/update.md b/docs/zh/api/reference/resources/beta/subresources/threads/methods/update.md index a6414b0..fd414db 100644 --- a/docs/zh/api/reference/resources/beta/subresources/threads/methods/update.md +++ b/docs/zh/api/reference/resources/beta/subresources/threads/methods/update.md @@ -1,10 +1,10 @@ -> 如需查看完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。可通过在页面 URL 末尾添加 `.md` 来获取 Markdown 版本的文档页面。 -## 修改线程 +## 修改会话线程 **post** `/threads/{thread_id}` -修改一个线程。 +修改会话。 ### 路径参数 @@ -14,51 +14,51 @@ - `metadata: optional Metadata or null` - 一组最多 16 个键值对,可附加到对象上。这可以 - 用于以结构化 - 格式存储关于对象的附加信息,并通过 API 或仪表盘查询对象。 + 可附加到对象的 16 组键值对。可用于 + 以结构化格式存储对象的附加信息,并通过 + API 或控制面板查询对象。 - 键是字符串,最大长度为 64 个字符。值是字符串 - ,最大长度为 512 个字符。 + 键为字符串,最长 64 个字符。值为字符串, + 最长 512 个字符。 - `tool_resources: optional object { code_interpreter, file_search } or null` - 一组资源,供此线程中助手的工具使用。这些资源特定于工具类型。例如, `code_interpreter` 工具需要文件 ID 列表,而 `file_search` 工具需要向量存储 ID 列表。 + 在此线程中提供给助手工具使用的一组资源。资源取决于工具的类型。例如, `code_interpreter` 工具需要一个文件 ID 列表,而 `file_search` 工具需要一个向量存储 ID 列表。 - `code_interpreter: optional object { file_ids }` - `file_ids: optional array of string` - 一组 [文件](/docs/api-reference/files) ID,提供给 `code_interpreter` 工具。与该工具关联的文件最多可有 20 个。 + 一个 [file](/docs/api-reference/files) ID 列表,可供该 `code_interpreter` 工具使用。与该工具关联的文件最多 20 个。 - `file_search: optional object { vector_store_ids }` - `vector_store_ids: optional array of string` - 附加到此线程的 [向量存储](/docs/api-reference/vector-stores/object) 。附加到线程的向量存储最多可有 1 个。 + 该 [vector store](/docs/api-reference/vector-stores/object) 附加到此线程。每个线程最多只能附加 1 个向量存储。 -### 返回 +### 返回值 - `Thread object { id, created_at, metadata, 2 more }` - 表示包含 [消息](/docs/api-reference/messages). + 表示一个包含 [消息](/docs/api-reference/messages). - `id: string` - 标识符,可在 API 端点中引用。 + 该标识符,可在 API 端点中引用。 - `created_at: number` - 线程创建时的 Unix 时间戳(秒)。 + 线程创建时的 Unix 时间戳(以秒为单位)。 - `metadata: Metadata or null` - 可附加到对象的一组 16 个键值对。这可用于 - 以结构化格式存储有关对象的额外信息, - 并通过 API 或仪表盘查询对象。 + 可附加到对象的 16 组键值对。可用于 + 以结构化格式存储对象的附加信息,并通过 + API 或控制面板查询对象。 - 键是字符串,最大长度为 64 个字符。值是字符串, - 最大长度为 512 个字符。 + 键为字符串,最长 64 个字符。值为字符串, + 最长 512 个字符。 - `object: "thread"` @@ -68,19 +68,19 @@ - `tool_resources: object { code_interpreter, file_search } or null` - 一组资源,在此线程中可供助手工具使用。资源特定于工具类型。例如, `code_interpreter` 工具需要文件 ID 列表,而 `file_search` 工具需要向量存储 ID 列表。 + 在此线程中提供给助手工具使用的一组资源。资源取决于工具的类型。例如, `code_interpreter` 工具需要一个文件 ID 列表,而 `file_search` 工具需要一个向量存储 ID 列表。 - `code_interpreter: optional object { file_ids }` - `file_ids: optional array of string` - 可供 [文件](/docs/api-reference/files) 工具使用的 ID 列表。 `code_interpreter` 与该工具关联的文件最多可有 20 个。 + 一个 [file](/docs/api-reference/files) ID 列表,可供该 `code_interpreter` 工具使用。与该工具关联的文件最多 20 个。 - `file_search: optional object { vector_store_ids }` - `vector_store_ids: optional array of string` - 附加到此线程的 [向量存储](/docs/api-reference/vector-stores/object) 。附加到线程的向量存储最多可有 1 个。 + 该 [vector store](/docs/api-reference/vector-stores/object) 附加到此线程。每个线程最多只能附加 1 个向量存储。 ### 示例 diff --git a/docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/create.md b/docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/create.md index 6ab0397..d68f5fd 100644 --- a/docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/create.md +++ b/docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/create.md @@ -1,10 +1,10 @@ -> 如需完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。Markdown 版本的文档页面可通过在页面 URL 末尾附加 `.md` 获取。 ## 创建消息 **post** `/threads/{thread_id}/messages` -创建一条消息。 +创建消息。 ### 路径参数 @@ -22,21 +22,21 @@ - `ArrayOfContentParts = array of ImageFileContentBlock or ImageURLContentBlock or TextContentBlockParam` - 由具有定义类型的内容部分组成,其中每个部分可以为 `text` 类型,或者图片可以通过 `image_url` 或 `image_file`。传递。图片类型仅在 [视觉兼容模型](/docs/models). + 由已定义类型组成的内容部分数组,每个部分的类型可以是 `text` ,或者可以通过 `image_url` 传入图像 `image_file`。图像类型仅在 [支持视觉的模型](/docs/models). - `ImageFileContentBlock object { image_file, type }` - 上支持。引用消息内容中的一张 [文件](/docs/api-reference/files) 。内容是消息中的文本内容。 + 引用消息内容中的一张图像 [文件](/docs/api-reference/files) 。 - `image_file: ImageFile` - `file_id: string` - 表示 [文件](/docs/api-reference/files) 在消息内容中的 ID。当上传文件时,设置 `purpose="vision"` 以便之后需要显示文件内容时可以检索。 + 该 [文件](/docs/api-reference/files) 消息内容中图像的 ID。如果需要在后续显示文件内容,请在上传 `purpose="vision"` 时进行设置。 - `detail: optional "auto" or "low" or "high"` - 指定用户图像细节的级别。默认情况下使用较少的令牌,你可以通过选择使用。 `low` 来使用高分辨率, `high`. + 指定由用户指定的图像的细节级别。 `low` 消耗的 token 更少,你可以通过 `high`. - `"auto"` @@ -46,23 +46,23 @@ - `type: "image_file"` - 始终 `image_file`. + 选择使用高分辨率 `image_file`. - `"image_file"` - `ImageURLContentBlock object { image_url, type }` - 使用高分辨率。引用消息内容中的图像 URL。 + 引用消息内容中的一个图像 URL。 - `image_url: ImageURL` - `url: string` - 图像的外部 URL,必须是支持的图像类型之一:jpeg、jpg、png、gif、webp。 + 图像的外部 URL,必须是受支持的图像类型:jpeg、jpg、png、gif、webp。 - `detail: optional "auto" or "low" or "high"` - 指定图像的细节级别。 `low` 使用更少的令牌,你可以选择使用高分辨率,通过 `high`。默认值为 `auto` + 指定图像的细节级别。 `low` 消耗的 token 更少,你可以通过 `high`。默认值为 `auto` - `"auto"` @@ -82,11 +82,11 @@ - `text: string` - 要发送给模型的文本内容 + 发送给模型的文本内容 - `type: "text"` - 始终 `text`. + 选择使用高分辨率 `text`. - `"text"` @@ -94,8 +94,8 @@ 创建消息的实体的角色。允许的值包括: - - `user`:表示消息由实际用户发送,在大多数情况下应使用此值来表示用户生成的消息。 - - `assistant`:表示消息由助手生成。使用此值将助手的消息插入对话中。 + - `user`:表示消息由实际用户发送,在大多数情况下应用于表示用户生成的消息。 + - `assistant`:表示消息由助手生成。使用此值可将助手消息插入到对话中。 - `"user"` @@ -103,7 +103,7 @@ - `attachments: optional array of object { file_id, tools } or null` - 附加到消息的文件列表,以及它们应添加到的工具。 + 附加到消息的文件列表,以及应将这些文件添加到的工具。 - `file_id: optional string` @@ -111,13 +111,13 @@ - `tools: optional array of CodeInterpreterTool or object { type }` - 要添加此文件的工具。 + 要将此文件添加到的工具。 - `CodeInterpreterTool object { type }` - `type: "code_interpreter"` - 正在定义的工具的类型: `code_interpreter` + 正在定义的工具类型: `code_interpreter` - `"code_interpreter"` @@ -125,36 +125,36 @@ - `type: "file_search"` - 正在定义的工具的类型: `file_search` + 正在定义的工具类型: `file_search` - `"file_search"` - `metadata: optional Metadata or null` - 可附加到对象的 16 个键值对集合。这可以 - 用于以结构化格式存储有关对象的额外信息, - 并通过 API 或仪表板查询对象。 + 可附加到对象的 16 组键值对。这可以 + 用于以结构化形式存储有关对象的 + 附加信息,并通过 API 或仪表板查询对象。 - 键是最大长度为 64 个字符的字符串。值是最大长度为 512 个字符的字符串。 - 值是最长为 512 个字符的字符串。 + 键为字符串,最大长度为 64 个字符。值为字符串, + 最大长度为 512 个字符。 -### 返回 +### 返回值 - `Message object { id, assistant_id, attachments, 11 more }` - 表示一个线程内的消息, [线程](/docs/api-reference/threads). + 表示 [thread](/docs/api-reference/threads). - `id: string` - 标识符,可在 API 端点中引用。 + 该标识符,可在 API 端点中引用。 - `assistant_id: string or null` - 如果适用,创建此消息的 [助理](/docs/api-reference/assistants) 的 ID。 + 如果适用,编写此消息的 [assistant](/docs/api-reference/assistants) 的 ID。 - `attachments: array of object { file_id, tools } or null` - 附加到消息的文件列表,以及它们被添加到的工具。 + 附加到消息的文件列表,以及这些文件被添加到的工具。 - `file_id: optional string` @@ -182,25 +182,25 @@ - `completed_at: number or null` - 消息完成时的 Unix 时间戳(秒)。 + 消息完成时的 Unix 时间戳(以秒为单位)。 - `content: array of ImageFileContentBlock or ImageURLContentBlock or TextContentBlock or RefusalContentBlock` - 消息内容,为文本和/或图片的数组。 + 消息内容,由文本和/或图像组成的数组。 - `ImageFileContentBlock object { image_file, type }` - 引用消息内容中的 [文件](/docs/api-reference/files) 图片。 + 引用消息内容中的一张图像 [文件](/docs/api-reference/files) 。 - `image_file: ImageFile` - `file_id: string` - 消息内容中图片的 [文件](/docs/api-reference/files) ID。上传文件时设置该值,以便之后需要显示文件内容时使用。 `purpose="vision"` 上传文件时设置该值,以便之后需要显示文件内容时使用。 + 该 [文件](/docs/api-reference/files) 消息内容中图像的 ID。如果需要在后续显示文件内容,请在上传 `purpose="vision"` 时进行设置。 - `detail: optional "auto" or "low" or "high"` - 如果用户指定了图像,则指定图像的细节级别。 `low` 使用的令牌更少,你可以选择使用以下选项启用高分辨率 `high`. + 指定由用户指定的图像的细节级别。 `low` 消耗的 token 更少,你可以通过 `high`. - `"auto"` @@ -210,23 +210,23 @@ - `type: "image_file"` - 始终 `image_file`. + 选择使用高分辨率 `image_file`. - `"image_file"` - `ImageURLContentBlock object { image_url, type }` - 引用消息内容中的图像 URL。 + 引用消息内容中的一个图像 URL。 - `image_url: ImageURL` - `url: string` - 图像的外部 URL,必须是支持的图像类型:jpeg、jpg、png、gif、webp。 + 图像的外部 URL,必须是受支持的图像类型:jpeg、jpg、png、gif、webp。 - `detail: optional "auto" or "low" or "high"` - 指定图像的细节级别。 `low` 使用的令牌更少,你可以选择使用以下选项启用高分辨率 `high`。默认值为 `auto` + 指定图像的细节级别。 `low` 消耗的 token 更少,你可以通过 `high`。默认值为 `auto` - `"auto"` @@ -250,7 +250,7 @@ - `FileCitationAnnotation object { end_index, file_citation, start_index, 2 more }` - 消息中的引用,指向与助手或消息关联的特定文件中的特定引文。当助手使用“file_search”工具搜索文件时生成。 + 消息中的一条引用,指向与该智能体或该消息关联的特定文件中的具体引文。当智能体使用 "file_search" 工具搜索文件时生成。 - `end_index: number` @@ -258,23 +258,23 @@ - `file_id: string` - 引用来源的特定文件的 ID。 + 该引用所来自的特定文件的 ID。 - `start_index: number` - `text: string` - 消息内容中需要替换的文本。 + 消息内容中需要被替换的文本。 - `type: "file_citation"` - 始终 `file_citation`. + 选择使用高分辨率 `file_citation`. - `"file_citation"` - `FilePathAnnotation object { end_index, file_path, start_index, 2 more }` - 当助手使用以下工具生成文件时,生成的文件的 URL `code_interpreter` 工具来生成文件。 + 智能体使用 `code_interpreter` 工具生成文件时生成的文件的 URL。 - `end_index: number` @@ -282,39 +282,39 @@ - `file_id: string` - 生成文件的 ID。 + 所生成文件的 ID。 - `start_index: number` - `text: string` - 消息内容中需要替换的文本。 + 消息内容中需要被替换的文本。 - `type: "file_path"` - 始终 `file_path`. + 选择使用高分辨率 `file_path`. - `"file_path"` - `value: string` - 构成文本的数据。 + 组成该文本的数据。 - `type: "text"` - 始终 `text`. + 选择使用高分辨率 `text`. - `"text"` - `RefusalContentBlock object { refusal, type }` - 助手生成的拒绝内容。 + 智能体生成的拒绝内容。 - `refusal: string` - `type: "refusal"` - 始终 `refusal`. + 选择使用高分辨率 `refusal`. - `"refusal"` @@ -328,11 +328,11 @@ - `incomplete_details: object { reason } or null` - 对于不完整的消息,说明消息不完整的原因的详细信息。 + 对于不完整的消息,说明该消息不完整的详细原因。 - `reason: "content_filter" or "max_tokens" or "run_cancelled" or 2 more` - 消息不完整的原因。 + 该消息不完整的原因。 - `"content_filter"` @@ -346,22 +346,22 @@ - `metadata: Metadata or null` - 可附加到对象的 16 个键值对集合。这可用于 - 以结构化格式存储有关该对象的附加信息, - 并通过 API 或仪表盘查询对象。 + 可附加到对象的 16 组键值对。这可以 + 用于以结构化形式存储有关对象的 + 附加信息,并通过 API 或仪表板查询对象。 - 键是最大长度为 64 个字符的字符串。值是最大长度为 512 个字符的字符串。 - 值的最大长度为 512 个字符。 + 键为字符串,最大长度为 64 个字符。值为字符串, + 最大长度为 512 个字符。 - `object: "thread.message"` - 对象类型,始终为 `thread.message`. + 对象类型,恒为 `thread.message`. - `"thread.message"` - `role: "user" or "assistant"` - 生成消息的实体。可以是 `user` 或 `assistant`. + 生成该消息的实体。取值为以下之一 `user` 传入图像 `assistant`. - `"user"` @@ -369,11 +369,11 @@ - `run_id: string or null` - 与此消息创建相关联的 [运行](/docs/api-reference/runs) 的 ID。当使用创建消息或创建线程端点手动创建消息时,值为 `null` null。 + 与此消息关联的 [run](/docs/api-reference/runs) 的 ID。如果消息是通过 create message 或 create thread 端点手动创建的,则其取值为 `null` (对应通过 create message 或 create thread 端点手动创建消息的情况)。 - `status: "in_progress" or "incomplete" or "completed"` - 消息的状态,可以是 `in_progress`, `incomplete`,或 `completed`. + 该消息的状态,可为 `in_progress`, `incomplete`,或 `completed`. - `"in_progress"` @@ -383,7 +383,7 @@ - `thread_id: string` - 该 [thread](/docs/api-reference/threads) ID 即此消息所属的线程 ID。 + 该 [thread](/docs/api-reference/threads) 所属线程的 ID。 ### 示例 diff --git a/docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/delete.md b/docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/delete.md index 43437a6..bab1f18 100644 --- a/docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/delete.md +++ b/docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/delete.md @@ -1,8 +1,8 @@ -> 完整文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后附加 `.md` 获取。 +> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)。可在页面 URL 末尾添加以下内容来获取文档页面的 Markdown 版本: `.md` 。 ## 删除消息 -**删除** `/threads/{thread_id}/messages/{message_id}` +**delete** `/threads/{thread_id}/messages/{message_id}` 删除一条消息。 diff --git a/docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/list.md b/docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/list.md index 14c4562..f3fb0de 100644 --- a/docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/list.md +++ b/docs/zh/api/reference/resources/beta/subresources/threads/subresources/messages/methods/list.md @@ -1,4 +1,4 @@ -> 完整的文档索引,请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 末尾添加 `.md` 来访问。 +> 完整文档索引请参阅 [llms.txt](/llms.txt)。文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 来获取。 ## 列出消息 @@ -14,19 +14,19 @@ - `after: optional string` - 用于分页的游标。 `after` 是一个定义你在列表中位置的对象 ID。例如,如果你发出列表请求并收到 100 个对象,以 obj_foo 结尾,你的后续调用可以包含 after=obj_foo 以获取列表的下一页。 + 用于分页游标。 `after` 是一个对象 ID,用于定义你在列表中所处的位置。例如,如果你发起列表请求并收到 100 个对象,以 obj_foo 结尾,则后续调用可以包含 after=obj_foo 以获取列表的下一页。 - `before: optional string` - 用于分页的游标。 `before` 是一个定义你在列表中位置的对象 ID。例如,如果你发出列表请求并收到 100 个对象,以 obj_foo 开头,你的后续调用可以包含 before=obj_foo 以获取列表的上一页。 + 用于分页游标。 `before` 是一个对象 ID,用于定义你在列表中所处的位置。例如,如果你发起列表请求并收到 100 个对象,以 obj_foo 开头,则后续调用可以包含 before=obj_foo 以获取列表的上一页。 - `limit: optional number` - 返回对象数量的限制。限制范围在 1 到 100 之间,默认为 20。 + 要返回的对象数量的限制。限制范围为 1 到 100,默认值为 20。 - `order: optional "asc" or "desc"` - 排序依据为对象的 `created_at` 时间戳。 `asc` 表示升序, `desc` 表示降序。 + 按以下字段对对象进行排序 `created_at` 的时间戳排序: `asc` 表示升序, `desc` 表示降序。 - `"asc"` @@ -36,25 +36,25 @@ 按生成消息的运行 ID 筛选消息。 -### 返回 +### 返回值 - `data: array of Message` - `id: string` - 该标识符可在 API 端点中引用。 + 该标识符,可在 API 端点中引用。 - `assistant_id: string or null` - 如适用,编写此 [助手](/docs/api-reference/assistants) 消息的 ID。 + 如适用,则为撰写该消息的 [助手](/docs/api-reference/assistants) 的 ID。 - `attachments: array of object { file_id, tools } or null` - 附加到消息的文件列表,以及它们被添加到的工具。 + 附加到该消息的文件列表以及添加这些文件的工具。 - `file_id: optional string` - 要附加到消息的文件的 ID。 + 要附加到该消息的文件 ID。 - `tools: optional array of CodeInterpreterTool or object { type }` @@ -64,7 +64,7 @@ - `type: "code_interpreter"` - 所定义工具的类型: `code_interpreter` + 正在定义的工具类型: `code_interpreter` - `"code_interpreter"` @@ -72,7 +72,7 @@ - `type: "file_search"` - 所定义工具的类型: `file_search` + 正在定义的工具类型: `file_search` - `"file_search"` @@ -82,21 +82,21 @@ - `content: array of ImageFileContentBlock or ImageURLContentBlock or TextContentBlock or RefusalContentBlock` - 消息内容,以文本和/或图像的数组形式呈现。 + 消息内容,以文本和/或图像数组的形式表示。 - `ImageFileContentBlock object { image_file, type }` - 引用消息内容中的 [文件](/docs/api-reference/files) 图像。 + 引用消息内容中的图像 [文件](/docs/api-reference/files) 。 - `image_file: ImageFile` - `file_id: string` - 消息内容中图像的 [文件](/docs/api-reference/files) ID。如果在上传文件时需要稍后显示文件内容,请设置 `purpose="vision"` 该 ID。 + 该 [文件](/docs/api-reference/files) 消息内容中图像的 ID。如果需要稍后显示文件内容,请在上传 `purpose="vision"` 时设置此参数。 - `detail: optional "auto" or "low" or "high"` - 如果用户指定,则指定图像的细节级别。 `low` 使用更少的令牌,你可以选择使用高分辨率 `high`. + 指定由用户指定的图像细节级别。如果。 `low` 使用的 token 较少,你可以选择使用以下选项启用高分辨率 `high`. - `"auto"` @@ -112,17 +112,17 @@ - `ImageURLContentBlock object { image_url, type }` - 引用消息内容中的图片 URL。 + 引用消息内容中的图像 URL。 - `image_url: ImageURL` - `url: string` - 图片的外部 URL,必须为支持的图片类型:jpeg、jpg、png、gif、webp。 + 图像的外部 URL,必须是受支持的图像类型:jpeg、jpg、png、gif、webp。 - `detail: optional "auto" or "low" or "high"` - 指定图片的细节级别。 `low` 使用的令牌较少,你可以选择使用高分辨率 `high`。默认值为 `auto` + 指定图像的细节级别。 `low` 使用的 token 较少,你可以选择使用以下选项启用高分辨率 `high`。默认值为 `auto` - `"auto"` @@ -138,7 +138,7 @@ - `TextContentBlock object { text, type }` - 消息中的文本内容。 + 属于某条消息的文本内容。 - `text: Text` @@ -146,7 +146,7 @@ - `FileCitationAnnotation object { end_index, file_citation, start_index, 2 more }` - 消息中的引用,指向与助手或消息关联的特定文件中的特定引文。当助手使用 "file_search" 工具搜索文件时生成。 + 消息中的一条引用,指向与该智能体或消息关联的某个文件的特定引用内容。当智能体使用 "file_search" 工具搜索文件时生成。 - `end_index: number` @@ -154,13 +154,13 @@ - `file_id: string` - 引用来源的特定文件的 ID。 + 该引用所源自的特定文件的 ID。 - `start_index: number` - `text: string` - 消息内容中需要替换的文本。 + 消息内容中需要被替换的文本。 - `type: "file_citation"` @@ -170,7 +170,7 @@ - `FilePathAnnotation object { end_index, file_path, start_index, 2 more }` - 当助手使用 `code_interpreter` 工具生成文件时,生成文件的 URL。 + 当智能体使用了 API 工具生成文件时返回的该文件 URL `code_interpreter` 工具生成的文件。 - `end_index: number` @@ -178,13 +178,13 @@ - `file_id: string` - 生成的文件的 ID。 + 已生成文件的 ID。 - `start_index: number` - `text: string` - 消息内容中需要替换的文本。 + 消息内容中需要被替换的文本。 - `type: "file_path"` @@ -204,7 +204,7 @@ - `RefusalContentBlock object { refusal, type }` - 助手生成的拒绝内容。 + 由智能体生成的拒绝内容。 - `refusal: string` @@ -216,15 +216,15 @@ - `created_at: number` - 消息创建时的 Unix 时间戳(以秒为单位)。 + 消息创建时的 Unix 时间戳(秒)。 - `incomplete_at: number or null` - 消息被标记为不完整时的 Unix 时间戳(以秒为单位)。 + 消息被标记为不完整时的 Unix 时间戳(秒)。 - `incomplete_details: object { reason } or null` - 对于不完整的消息,提供消息不完整的原因详情。 + 在不完整的消息上,关于消息不完整原因的详细信息。 - `reason: "content_filter" or "max_tokens" or "run_cancelled" or 2 more` @@ -242,22 +242,22 @@ - `metadata: Metadata or null` - 可附加到对象上的 16 个键值对集合。这可以 - 用于以结构化格式存储有关对象的额外信息, - 并通过 API 或仪表板查询对象。 + 可以附加到对象的 16 组键值对。这可以 + 用于以结构化格式存储有关对象的附加信息, + 并通过 接口 或控制台查询对象。 - 键是字符串,最大长度为 64 个字符。值是字符串, - 最大长度为 512 个字符。 + 键为字符串,最大长度为 64 个字符。值为字符串 + ,最大长度为 512 个字符。 - `object: "thread.message"` - 对象类型,始终为 `thread.message`. + 对象类型,恒为 `thread.message`. - `"thread.message"` - `role: "user" or "assistant"` - 生成消息的实体。可以是 `user` 或 `assistant`. + 生成此消息的实体。为以下之一: `user` 或 `assistant`. - `"user"` @@ -265,11 +265,11 @@ - `run_id: string or null` - 与创建此消息关联的 [运行](/docs/api-reference/runs) 的 ID。当使用创建消息或创建线程端点手动创建消息时,值为 `null` 。 + 与此消息关联的 [运行](/docs/api-reference/runs) 的 ID。如果消息是通过 create message 或 create thread 端点手动创建的,则值为 `null` 。 - `status: "in_progress" or "incomplete" or "completed"` - 消息的状态,可以是 `in_progress`, `incomplete`,或 `completed`. + 消息的状态,可为 `in_progress`, `incomplete`,或 `completed`. - `"in_progress"` @@ -279,7 +279,7 @@ - `thread_id: string` - 该 [thread](/docs/api-reference/threads) 此消息所属的 ID。 + 该 [线程](/docs/api-reference/threads) ID,表示此消息所属的线程。 - `first_id: string`