iT邦幫忙

2024 iThome 鐵人賽

DAY 28
0
生成式 AI

API: Swagger, Postman系列 第 28

發布和分享API 文檔和測試案例。

  • 分享至 

  • xImage
  •  
1.  API 申請和密鑰:

需要在 OpenAI 平台上申請帳號,並獲取API密鑰。這個密鑰用來進行API調用。
2. API 文檔:
OpenAI API 文檔 提供了關於如何調用API、如何格式化請求的詳細指南,並包括一些使用示例。

基本 API 文檔示例:

API 請求格式:

請求使用HTTP POST來傳送,且格式為JSON,可以選擇的模型如 gpt-4 或 gpt-3.5-turbo。


curl https://api.openai.com/v1/completions
-H "Content-Type: application/json"
-H "Authorization: Bearer YOUR_API_KEY"
-d '{
"model": "gpt-4",
"prompt": "Hello, how are you?",
"max_tokens": 100
}'

model 是要使用的模型,prompt 是發送的輸入,而 max_tokens 則是期望生成的最大token數量。


為了測試API的運行情況,可以撰寫一些測試案例來驗證API是否正確生成輸出。

1:驗證基本對話生成

測試目標:
檢查API是否能對簡單問題給出合理的回答。

import openai
openai.api_key = 'YOUR_API_KEY'

def test_basic_conversation():
response = openai.Completion.create(
model="gpt-4",
prompt="What is the capital of France?",
max_tokens=10
)
assert 'Paris' in response.choices[0].text.strip(), "Test failed: Expected 'Paris'"
print("Test passed: 'Paris' found in the response")

test_basic_conversation()

2:檢查限制條件

測試目標:
確保API不會生成超過 max_tokens 限制的內容。

import openai

openai.api_key = 'YOUR_API_KEY'

def test_max_token_limit():
response = openai.Completion.create(
model="gpt-4",
prompt="Explain quantum physics",
max_tokens=5
)
assert len(response.choices[0].text.split()) <= 5, "Test failed: Response exceeds max token limit"
print("Test passed: Response is within the token limit")

test_max_token_limit()


上一篇
如何利用 Postman 和 Swagger 優化團隊協作。
下一篇
探討 API 測試和文檔工具的其他選擇(如 Insomnia, Redoc)。
系列文
API: Swagger, Postman30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言