使用推斷 API 查詢已擷取的文件
重要
這是預覽功能。 此資訊涉及預先發行功能,可能會在正式發行前大幅修改。 對於此處提供的資訊,Microsoft 不做任何明示或默許的擔保。
要在配置和攝取文件后查詢語料庫,請提供以下詳細資訊:
驗證
您需要將 authorization 標頭添加到您的請求中。 此外,您需要為您的應用程式獲取令牌。 請參閱以下示例,瞭解如何在示例中生成令牌。
{'Content-Type': 'application/json', 'Authorization': 'Bearer {token}'}
詢問 API 頂級
轉到已部署的資源組,然後找到 api_management_name
。
https://{api_management_name}.azure-api.net/inference/v1/Ask
請求欄位
該要求包含以下頂級欄位:
欄位名稱 | 類型 | 必填 | 描述/範例 |
---|---|---|---|
查詢 | 字串 | 是 | 示例:Campbell Soup 何時發佈收益? |
filter | 字串 | 否 | 瞭解如何篩選 Azure AI Search 的網頁。 https://learn.microsoft.com/azure/search/search-filters |
systemMessage 系統 | 字串 | 否 | 您的系統消息。 注意: 此系統消息將替換我們的標準系統消息,可能會影響性能。 我們不建議使用它。 |
回覆欄位
欄位名稱 | 類型 | 描述 |
---|---|---|
消息 | 字串 | 查詢結果 |
citationsResult | CitationsResult 物件 | 消息中的引文,指向與小幫手或消息關聯的檔中的特定引文。 |
CitationsResult 物件
欄位名稱 | 類型 | 描述 |
---|---|---|
引文 | 字典。 鍵:string,值:Citation 物件 | Key 表示文檔,例如 doc1。 |
意圖 | 字串陣列 | 公認的意圖。 |
引文物件
欄位名稱 | 類型 | 描述 |
---|---|---|
內容 | 區塊清單 | 返回的 chunk 內容 |
標題 | 字串 | 文件的標題 |
網址 | 字串 | 文件的 URL |
檔名 | 字串 | 檔名 |
頁碼 | Int (整數) | 塊的頁碼 |
chunkId 的 | 字串 | 塊 ID |
可能的篩選條件
欄位名稱 | 類型 | 評論 |
---|---|---|
FilePath 檔案路徑 | 字串 | filepath eq 'morningstar ford report.pdf' |
page_number | 國際 32 | |
contains_image | 布林值 | |
標題 | 字串 | |
document_metadata/作者 | 字串 | |
document_metadata/摘要 | 字串 | |
document_metadata/關鍵字 | 字串 | |
document_metadata/creation_date | DateTimeOffset (日期時間偏移量) | 使用此欄位可按特定條件進行篩選,例如,過去三個月: document_metadata/creation_date ge 2023-12-19T00:00:00Z |
document_metadata/標題 | 字串 | |
document_metadata/additional_metadata/financial_quarter | 字串 | |
document_metadata/additional_metadata/financial_year | 字串 | |
document_metadata/additional_metadata/組織 | 字串 |
測試 API
您可以使用 Azure 門戶上的 Azure API 管理服務測試推理 API。 您需要在代碼中使用 API 端點來查詢資料。 以下步驟說明了測試 API 的整個過程:
注意
API 管理閘道 URL 位於 API 管理概述頁面上。
- 在 Azure 門戶上,轉到資源組並選擇 API 管理 資源。
- 在 API 管理資源上,轉到 API > API > 推理 > v1。 您應該會看到財務文件分析 ASK API。
- 選擇 Test > Post ASK。
為您創建的應用程式註冊 請求存取權杖 。
a. 使用 Azure CLI 並以具有調用 API 許可權的使用者身份登錄到包含部署的租戶。
執行以下命令:
az account get-access-token --resource <app-reg cli id>
此處,
app-reg cli-id
表示 應用程式 (用戶端) ID。您應該會收到類似於以下命令輸出的回覆:
{ "accessToken": "<JWT-Token>" "expiresOn": "2024-11-11 16:13:11.000000", "expires_on": 1731334391, "subscription": "<subscription_id>", "tenant": "<tenant_id>" "tokenType": "Bearer" }
b. 要訪問 API,請在請求中包含 JWT 令牌。 從
az
命令回覆複製 JWT-token,並將其添加為請求中的授權標頭。 標頭的值應為 Bearer<JWT-Token>
。 將query
值更改為Hi
並選擇 Send (發送)。您應該會收到類似於以下 HTTP 訊息的回覆:
c. 要測試 API,請將
query
值更改為文字字串,該字串可能會根據攝取的文檔的內容導致回覆,然後選擇 Send。測試直接從代碼進行 API 調用的過程。 以下 Python 代碼程式碼片段顯示了如何在代碼中使用 API。
from azure.identity import DefaultAzureCredential
import requests
# Get Credentials
credentials = DefaultAzureCredential()
# Get the access token
access_token = credentials.get_token("<App Registration Scope>",tenant_id="<your tenant id>")
# Define the URL, headers, and payload
url = "https://<api managment url>/inference/v1/Ask"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {access_token.token}"
}
payload = {
"query": "<your query>"
}
# Execute the POST request
response = requests.post(url, headers=headers, json=payload)
# Print the response
print(response.status_code)
print(response.json())