wrapper ที่ได้รับการดูแลรักษาชุมชนอย่างไม่เป็นทางการสำหรับ Openai REST API ดู https://platform.openai.com/docs/api-reference/introduction สำหรับข้อมูลเพิ่มเติมเกี่ยวกับจุดสิ้นสุด
ขอบคุณสำหรับความเข้าใจและการสนับสนุนและขอบคุณทุกคนที่มีส่วนร่วมในห้องสมุดจนถึงตอนนี้!
เพิ่ม : openai เป็นการพึ่งพาในไฟล์ mix.exs ของคุณ
def deps do
[
{ :openai , "~> 0.6.2" }
]
end คุณสามารถกำหนดค่า openai ใน mix config.exs ของคุณ (เริ่มต้น $ project_root/config.exs) หากคุณใช้ฟีนิกซ์เพิ่มการกำหนดค่าใน config/dev.exs | test.exs | ไฟล์ prod.exs ตัวอย่างการกำหนดค่าคือ:
import Config
config :openai ,
# find it at https://platform.openai.com/account/api-keys
api_key: "your-api-key" ,
# find it at https://platform.openai.com/account/org-settings under "Organization ID"
organization_key: "your-organization-key" ,
# optional, use when required by an OpenAI API beta, e.g.:
beta: "assistants=v1" ,
# optional, passed to [HTTPoison.Request](https://hexdocs.pm/httpoison/HTTPoison.Request.html) options
http_options: [ recv_timeout: 30_000 ] ,
# optional, useful if you want to do local integration tests using Bypass or similar
# (https://github.com/PSPDFKit-labs/bypass), do not use it for production code,
# but only in your test config!
api_url: "http://localhost/" หมายเหตุ: คุณสามารถโหลดตัวแปร OS Env ของคุณในไฟล์การกำหนดค่าหากคุณตั้งค่าตัวแปร Env สำหรับคีย์ API ชื่อ OPENAI_API_KEY คุณสามารถรับได้ในรหัสโดยทำ System.get_env("OPENAI_API_KEY")
config.exs เป็นเวลาคอมไพล์ดังนั้นฟังก์ชั่น get_env/1 จะถูกดำเนินการในระหว่างการสร้างหากคุณต้องการรับตัวแปร ENV ในระหว่างการรันไทม์โปรดใช้ runtime.exs แทน config.exs ในแอปพลิเคชันของคุณ (Elixir Doc Ref)
การกำหนดค่าไลบรารีไคลเอ็นต์สามารถเขียนทับในรันไทม์ได้โดยผ่าน %OpenAI.Config{} struct เป็นอาร์กิวเมนต์สุดท้ายของฟังก์ชั่นที่คุณต้องใช้ ตัวอย่างเช่นหากคุณต้องการใช้ api_key ที่แตกต่างกัน organization_key หรือ http_options คุณสามารถทำได้:
config_override = % OpenAI.Config { api_key: "test-api-key" } # this will return a config struct with "test-api-key" as api_key, all the other config are defaulted by the client by using values taken from config.exs, so you don't need to set the defaults manually
# chat_completion with overriden config
OpenAI . chat_completion ( [
model: "gpt-3.5-turbo" ,
messages: [
% { role: "system" , content: "You are a helpful assistant." } ,
% { role: "user" , content: "Who won the world series in 2020?" } ,
% { role: "assistant" , content: "The Los Angeles Dodgers won the World Series in 2020." } ,
% { role: "user" , content: "Where was it played?" }
]
] ,
config_override # <--- pass the overriden configuration as last argument of the function
)
# chat_completion with standard config
OpenAI . chat_completion (
model: "gpt-3.5-turbo" ,
messages: [
% { role: "system" , content: "You are a helpful assistant." } ,
% { role: "user" , content: "Who won the world series in 2020?" } ,
% { role: "assistant" , content: "The Los Angeles Dodgers won the World Series in 2020." } ,
% { role: "user" , content: "Where was it played?" }
]
) คุณสามารถดำเนินการแทนที่การกำหนดค่าในฟังก์ชั่นทั้งหมดโปรดทราบว่าอาร์กิวเมนต์ params จะต้องส่งผ่านอย่างชัดเจนเป็นรายการในวงเล็บเหลี่ยมหากการกำหนดค่าจะถูกเขียนทับเช่นเดียวกับในตัวอย่างข้างต้น
รับคีย์ API ของคุณจาก https://platform.openai.com/account/api-keys
ดึงรายการรุ่นที่มีอยู่
OpenAI . models ( ) { :ok , % {
data: [ % {
"created" => 1651172505 ,
"id" => "davinci-search-query" ,
"object" => "model" ,
"owned_by" => "openai-dev" ,
"parent" => nil ,
"permission" => [
% {
"allow_create_engine" => false ,
"allow_fine_tuning" => false ,
"allow_logprobs" => true ,
...
}
] ,
"root" => "davinci-search-query"
} ,
... . ] ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/models/list
ดึงข้อมูลโมเดลเฉพาะ
OpenAI . models ( "davinci-search-query" ) { :ok ,
% {
created: 1651172505 ,
id: "davinci-search-query" ,
object: "model" ,
owned_by: "openai-dev" ,
parent: nil ,
permission: [
% {
"allow_create_engine" => false ,
"allow_fine_tuning" => false ,
"allow_logprobs" => true ,
"allow_sampling" => true ,
"allow_search_indices" => true ,
"allow_view" => true ,
"created" => 1669066353 ,
"group" => nil ,
"id" => "modelperm-lYkiTZMmJMWm8jvkPx2duyHE" ,
"is_blocking" => false ,
"object" => "model_permission" ,
"organization" => "*"
}
] ,
root: "davinci-search-query"
} }ดู: https://platform.openai.com/docs/api-reference/models/retriev
มันส่งคืนความสำเร็จที่คาดการณ์ไว้หนึ่งรายการหรือมากกว่านั้น ฟังก์ชั่นยอมรับเป็นอาร์กิวเมนต์ "Engine_id" และชุดพารามิเตอร์ที่ใช้โดย OpenAI API ที่สมบูรณ์
OpenAI . completions (
model: "finetuned-model" ,
prompt: "once upon a time" ,
max_tokens: 5 ,
temperature: 1 ,
...
) ## Example response
{ :ok , % {
choices: [
% {
"finish_reason" => "length" ,
"index" => 0 ,
"logprobs" => nil ,
"text" => " " thing we are given"
}
] ,
created: 1617147958 ,
id: "..." ,
model: "..." ,
object: "text_completion"
}
}ดู: https://platform.openai.com/docs/api-reference/completions/create
API นี้เลิกใช้โดย OpenAI เนื่องจาก engines ถูกแทนที่ด้วย models หากคุณใช้มันให้พิจารณาที่จะสลับไปเป็น completions(params) โดยเร็ว!
OpenAI . completions (
"davinci" , # engine_id
prompt: "once upon a time" ,
max_tokens: 5 ,
temperature: 1 ,
...
) { :ok , % {
choices: [
% {
"finish_reason" => "length" ,
"index" => 0 ,
"logprobs" => nil ,
"text" => " " thing we are given"
}
] ,
created: 1617147958 ,
id: "..." ,
model: "..." ,
object: "text_completion"
}
}โปรดดู: https://beta.openai.com/docs/api-reference/completions/create สำหรับรายการพารามิเตอร์ที่สมบูรณ์ที่คุณสามารถส่งผ่านไปยังฟังก์ชั่นความสำเร็จ
สร้างความสมบูรณ์สำหรับข้อความแชท
OpenAI . chat_completion (
model: "gpt-3.5-turbo" ,
messages: [
% { role: "system" , content: "You are a helpful assistant." } ,
% { role: "user" , content: "Who won the world series in 2020?" } ,
% { role: "assistant" , content: "The Los Angeles Dodgers won the World Series in 2020." } ,
% { role: "user" , content: "Where was it played?" }
]
) { :ok ,
% {
choices: [
% {
"finish_reason" => "stop" ,
"index" => 0 ,
"message" => % {
"content" =>
"The 2020 World Series was played at Globe Life Field in Arlington, Texas due to the COVID-19 pandemic." ,
"role" => "assistant"
}
}
] ,
created: 1_677_773_799 ,
id: "chatcmpl-6pftfA4NO9pOQIdxao6Z4McDlx90l" ,
model: "gpt-3.5-turbo-0301" ,
object: "chat.completion" ,
usage: % {
"completion_tokens" => 26 ,
"prompt_tokens" => 56 ,
"total_tokens" => 82
}
} }โปรดดู: https://platform.openai.com/docs/api-reference/chat/Create สำหรับรายการพารามิเตอร์ที่สมบูรณ์ที่คุณสามารถส่งผ่านไปยังฟังก์ชันการสมบูรณ์
สร้างความสมบูรณ์สำหรับข้อความแชทโดยค่าเริ่มต้นมันจะสตรีมไปยัง self() แต่คุณสามารถแทนที่การกำหนดค่าโดยผ่านการกำหนดค่าการแทนที่ไปยังฟังก์ชั่นที่มีพารามิเตอร์ stream_to http_options อื่น
import Config
config :openai ,
api_key: "your-api-key" ,
http_options: [ recv_timeout: :infinity , async: :once ] ,
... http_options จะต้องตั้งค่าไว้ด้านบนเมื่อคุณต้องการปฏิบัติต่อการแชทให้เสร็จเป็นสตรีม
OpenAI . chat_completion ( [
model: "gpt-3.5-turbo" ,
messages: [
% { role: "system" , content: "You are a helpful assistant." } ,
% { role: "user" , content: "Who won the world series in 2020?" } ,
% { role: "assistant" , content: "The Los Angeles Dodgers won the World Series in 2020." } ,
% { role: "user" , content: "Where was it played?" }
] ,
stream: true , # set this param to true
]
)
|> Stream . each ( fn res ->
IO . inspect ( res )
end )
|> Stream . run ( ) % {
"choices" => [
% { "delta" => % { "role" => "assistant" } , "finish_reason" => nil , "index" => 0 }
] ,
"created" => 1682700668 ,
"id" => "chatcmpl-7ALbIuLju70hXy3jPa3o5VVlrxR6a" ,
"model" => "gpt-3.5-turbo-0301" ,
"object" => "chat.completion.chunk"
}
% {
"choices" => [
% { "delta" => % { "content" => "The" } , "finish_reason" => nil , "index" => 0 }
] ,
"created" => 1682700668 ,
"id" => "chatcmpl-7ALbIuLju70hXy3jPa3o5VVlrxR6a" ,
"model" => "gpt-3.5-turbo-0301" ,
"object" => "chat.completion.chunk"
}
% {
"choices" => [
% { "delta" => % { "content" => " World" } , "finish_reason" => nil , "index" => 0 }
] ,
"created" => 1682700668 ,
"id" => "chatcmpl-7ALbIuLju70hXy3jPa3o5VVlrxR6a" ,
"model" => "gpt-3.5-turbo-0301" ,
"object" => "chat.completion.chunk"
}
% {
"choices" => [
% {
"delta" => % { "content" => " Series" } ,
"finish_reason" => nil ,
"index" => 0
}
] ,
"created" => 1682700668 ,
"id" => "chatcmpl-7ALbIuLju70hXy3jPa3o5VVlrxR6a" ,
"model" => "gpt-3.5-turbo-0301" ,
"object" => "chat.completion.chunk"
}
% {
"choices" => [
% { "delta" => % { "content" => " in" } , "finish_reason" => nil , "index" => 0 }
] ,
"created" => 1682700668 ,
"id" => "chatcmpl-7ALbIuLju70hXy3jPa3o5VVlrxR6a" ,
"model" => "gpt-3.5-turbo-0301" ,
"object" => "chat.completion.chunk"
}
...สร้างการแก้ไขใหม่สำหรับอินพุตคำสั่งและพารามิเตอร์ที่ให้ไว้
OpenAI . edits (
model: "text-davinci-edit-001" ,
input: "What day of the wek is it?" ,
instruction: "Fix the spelling mistakes"
) { :ok ,
% {
choices: [ % { "index" => 0 , "text" => "What day of the week is it? n " } ] ,
created: 1675443483 ,
object: "edit" ,
usage: % {
"completion_tokens" => 28 ,
"prompt_tokens" => 25 ,
"total_tokens" => 53
}
} }ดู: https://platform.openai.com/docs/api-reference/edits/create
สิ่งนี้สร้างภาพตามพรอมต์ที่กำหนด ฟังก์ชั่นรูปภาพต้องใช้เวลาบางครั้งในการดำเนินการและ API อาจส่งคืนข้อผิดพลาดการหมดเวลาหากจำเป็นคุณสามารถผ่านโครงสร้างการกำหนดค่าเสริมด้วย httpoison http_options เป็นอาร์กิวเมนต์ที่สองของฟังก์ชั่นเพื่อเพิ่มการหมดเวลา
OpenAI . images_generations (
[ prompt: "A developer writing a test" , size: "256x256" ] ,
% OpenAI.Config { http_options: [ recv_timeout: 10 * 60 * 1000 ] } # optional!
) { :ok ,
% {
created: 1670341737 ,
data: [
% {
"url" => ... Returned url
}
]
} } หมายเหตุ: ลายเซ็น API นี้มีการเปลี่ยนแปลงใน v0.3.0 เพื่อให้สอดคล้องกับการประชุมของ API อื่น ๆ นามแฝง OpenAI.image_generations(params, request_options) ยังคงมีอยู่สำหรับการเข้ากันได้ หากคุณใช้มันให้พิจารณาที่จะสลับไปใช้เป็น OpenAI.images_generations(params, request_options) โดยเร็ว
Note2: วิธีการอย่างเป็นทางการในการส่ง HTTP_OPTIONS เปลี่ยนไปใน v0.5.0 เพื่อให้สอดคล้องกับการประชุมของ API อื่น ๆ นามแฝง OpenAI.images_generations(file_path, params, request_options) แต่ยังสามารถใช้งานได้ หากคุณกำลังใช้มันพิจารณาที่จะเปลี่ยนเป็น OpenAI.images_variations(params, config)
ดู: https://platform.openai.com/docs/api-reference/images/create
แก้ไขภาพที่มีอยู่ตามฟังก์ชั่นภาพที่พร้อมใช้งานบางครั้งในการดำเนินการและ API อาจส่งคืนข้อผิดพลาดการหมดเวลาหากจำเป็นคุณสามารถผ่านโครงสร้างการกำหนดค่าเสริมด้วย httpoison http_options เป็นอาร์กิวเมนต์ที่สองของฟังก์ชั่นเพื่อเพิ่มการหมดเวลา
OpenAI . images_edits (
"/home/developer/myImg.png" ,
[ prompt: "A developer writing a test" , size: "256x256" ] ,
% OpenAI.Config { http_options: [ recv_timeout: 10 * 60 * 1000 ] } # optional!
) { :ok ,
% {
created: 1670341737 ,
data: [
% {
"url" => ... Returned url
}
]
} } หมายเหตุ: วิธีการอย่างเป็นทางการในการผ่าน http_options เปลี่ยนไปใน v0.5.0 เพื่อให้สอดคล้องกับการประชุมของ API อื่น ๆ นามแฝง OpenAI.images_edits(file_path, params, request_options) หากคุณกำลังใช้มันพิจารณาที่จะเปลี่ยนเป็น OpenAI.images_edits(file_path, params, config)
ดู: https://platform.openai.com/docs/api-reference/images/create-edit
ฟังก์ชั่นรูปภาพต้องใช้เวลาบางครั้งในการดำเนินการและ API อาจส่งคืนข้อผิดพลาดการหมดเวลาหากจำเป็นคุณสามารถผ่านโครงสร้างการกำหนดค่าเสริมด้วย httpoison http_options เป็นอาร์กิวเมนต์ที่สองของฟังก์ชั่นเพื่อเพิ่มการหมดเวลา
OpenAI . images_variations (
"/home/developer/myImg.png" ,
[ n: "5" ] ,
% OpenAI.Config { http_options: [ recv_timeout: 10 * 60 * 1000 ] } # optional!
) { :ok ,
% {
created: 1670341737 ,
data: [
% {
"url" => ... Returned url
}
]
} } หมายเหตุ: วิธีการอย่างเป็นทางการในการผ่าน http_options เปลี่ยนไปใน v0.5.0 เพื่อให้สอดคล้องกับการประชุมของ API อื่น ๆ นามแฝง OpenAI.images_variations(file_path, params, request_options) แต่ยังสามารถใช้งานได้ หากคุณกำลังใช้มันพิจารณาที่จะเปลี่ยนเป็น OpenAI.images_edits(file_path, params, config)
ดู: https://platform.openai.com/docs/api-reference/images/create-variation
OpenAI . embeddings (
model: "text-embedding-ada-002" ,
input: "The food was delicious and the waiter..."
) { :ok ,
% {
data: [
% {
"embedding" => [ 0.0022523515000000003 , - 0.009276069000000001 ,
0.015758524000000003 , - 0.007790373999999999 , - 0.004714223999999999 ,
0.014806155000000001 , - 0.009803046499999999 , - 0.038323310000000006 ,
- 0.006844355 , - 0.028672641 , 0.025345700000000002 , 0.018145794000000003 ,
- 0.0035904291999999997 , - 0.025498080000000003 , 5.142790000000001e-4 ,
- 0.016317246 , 0.028444072 , 0.0053713582 , 0.009631619999999999 ,
- 0.016469626 , - 0.015390275 , 0.004301531 , 0.006984035499999999 ,
- 0.007079272499999999 , - 0.003926933 , 0.018602932000000003 , 0.008666554 ,
- 0.022717162999999995 , 0.011460166999999997 , 0.023860006 ,
0.015568050999999998 , - 0.003587254600000001 , - 0.034843990000000005 ,
- 0.0041555012999999995 , - 0.026107594000000005 , - 0.02151083 ,
- 0.0057618289999999996 , 0.011714132499999998 , 0.008355445999999999 ,
0.004098358999999999 , 0.019199749999999998 , - 0.014336321 , 0.008952264 ,
0.0063395994 , - 0.04576447999999999 , ... ] ,
"index" => 0 ,
"object" => "embedding"
}
] ,
model: "text-embedding-ada-002-v2" ,
object: "list" ,
usage: % { "prompt_tokens" => 8 , "total_tokens" => 8 }
} }ดู: https://platform.openai.com/docs/api-reference/embeddings/Create
สร้างเสียงจากข้อความอินพุต
OpenAI . audio_speech (
model: "tts-1" ,
input: "You know that Voight-Kampf test of yours. Did you ever take that test yourself?" ,
voice: "alloy"
) { :ok , << 255 , 255 , ... >> }ดู: https://platform.openai.com/docs/api-reference/audio/create เพื่อรับข้อมูลเกี่ยวกับพารามิเตอร์ที่ได้รับการยอมรับจาก API
ถอดเสียงออกเป็นภาษาอินพุต
OpenAI . audio_transcription (
"./path_to_file/blade_runner.mp3" , # file path
model: "whisper-1"
) { :ok ,
% {
text: "I've seen things you people wouldn't believe.."
} }ดู: https://platform.openai.com/docs/api-reference/audio/create เพื่อรับข้อมูลเกี่ยวกับพารามิเตอร์ที่ได้รับการยอมรับจาก API
แปลเสียงเป็นภาษาอังกฤษ
OpenAI . audio_translation (
"./path_to_file/werner_herzog_interview.mp3" , # file path
model: "whisper-1"
) { :ok ,
% {
text: "I thought if I walked, I would be saved. It was almost like a pilgrimage. I will definitely continue to walk long distances. It is a very unique form of life and existence that we have lost almost entirely from our normal life."
}
}ดู: https://platform.openai.com/docs/api-reference/audio/create เพื่อรับข้อมูลเกี่ยวกับพารามิเตอร์ที่ได้รับการยอมรับจาก API
ส่งคืนรายการไฟล์ที่เป็นขององค์กรของผู้ใช้
OpenAI . files ( ) { :ok ,
% {
data: [
% {
"bytes" => 123 ,
"created_at" => 213 ,
"filename" => "file.jsonl" ,
"id" => "file-123321" ,
"object" => "file" ,
"purpose" => "fine-tune" ,
"status" => "processed" ,
"status_details" => nil
}
] ,
object: "list"
}
}ดู: https://platform.openai.com/docs/api-reference/files
ส่งคืนไฟล์ที่เป็นขององค์กรของผู้ใช้โดยได้รับรหัสไฟล์
OpenAI . files ( "file-123321" ) { :ok ,
% {
bytes: 923 ,
created_at: 1675370979 ,
filename: "file.jsonl" ,
id: "file-123321" ,
object: "file" ,
purpose: "fine-tune" ,
status: "processed" ,
status_details: nil
}
}ดู: https://platform.openai.com/docs/api-reference/files/retriev
อัปโหลดไฟล์ที่มีเอกสารที่จะใช้ในจุดสิ้นสุด/คุณสมบัติต่างๆ ปัจจุบันขนาดของไฟล์ทั้งหมดที่อัปโหลดโดยองค์กรหนึ่งสามารถสูงถึง 1 GB กรุณาติดต่อ OpenAI หากคุณต้องการเพิ่มขีด จำกัด การจัดเก็บ
OpenAI . files_upload ( "./file.jsonl" , purpose: "fine-tune" ) { :ok ,
% {
bytes: 923 ,
created_at: 1675373519 ,
filename: "file.jsonl" ,
id: "file-123" ,
object: "file" ,
purpose: "fine-tune" ,
status: "uploaded" ,
status_details: nil
}
}ดู: https://platform.openai.com/docs/api-reference/files/upload
ลบไฟล์
OpenAI . files_delete ( "file-123" ) { :ok , % { deleted: true , id: "file-123" , object: "file" } }ดู: https://platform.openai.com/docs/api-reference/files/delete
แสดงรายการงานปรับแต่งขององค์กรของคุณ
OpenAI . finetunes ( ) { :ok ,
% {
object: "list" ,
data: [ % {
"id" => "t-AF1WoRqd3aJAHsqc9NY7iL8F" ,
"object" => "fine-tune" ,
"model" => "curie" ,
"created_at" => 1614807352 ,
"fine_tuned_model" => null ,
"hyperparams" => { ... } ,
"organization_id" => "org-..." ,
"result_files" = [ ] ,
"status": "pending" ,
"validation_files" => [ ] ,
"training_files" => [ { ... } ] ,
"updated_at" => 1614807352 ,
} ] ,
}
}ดู: https://platform.openai.com/docs/api-reference/fine-tunes/list
รับข้อมูลเกี่ยวกับงานปรับแต่ง
OpenAI . finetunes ( "t-AF1WoRqd3aJAHsqc9NY7iL8F" ) { :ok ,
% {
object: "list" ,
data: [ % {
"id" => "t-AF1WoRqd3aJAHsqc9NY7iL8F" ,
"object" => "fine-tune" ,
"model" => "curie" ,
"created_at" => 1614807352 ,
"fine_tuned_model" => null ,
"hyperparams" => { ... } ,
"organization_id" => "org-..." ,
"result_files" = [ ] ,
"status": "pending" ,
"validation_files" => [ ] ,
"training_files" => [ { ... } ] ,
"updated_at" => 1614807352 ,
} ] ,
}
}ดู: https://platform.openai.com/docs/api-reference/fine-tunes/retriev
สร้างงานที่ปรับแต่งโมเดลที่ระบุจากชุดข้อมูลที่กำหนด
OpenAI . finetunes_create (
training_file: "file-123213231" ,
model: "curie" ,
) { :ok ,
% {
created_at: 1675527767 ,
events: [
% {
"created_at" => 1675527767 ,
"level" => "info" ,
"message" => "Created fine-tune: ft-IaBYfSSAK47UUCbebY5tBIEj" ,
"object" => "fine-tune-event"
}
] ,
fine_tuned_model: nil ,
hyperparams: % {
"batch_size" => nil ,
"learning_rate_multiplier" => nil ,
"n_epochs" => 4 ,
"prompt_loss_weight" => 0.01
} ,
id: "ft-IaBYfSSAK47UUCbebY5tBIEj" ,
model: "curie" ,
object: "fine-tune" ,
organization_id: "org-1iPTOIak4b5fpuIB697AYMmO" ,
result_files: [ ] ,
status: "pending" ,
training_files: [
% {
"bytes" => 923 ,
"created_at" => 1675373519 ,
"filename" => "file-12321323.jsonl" ,
"id" => "file-12321323" ,
"object" => "file" ,
"purpose" => "fine-tune" ,
"status" => "processed" ,
"status_details" => nil
}
] ,
updated_at: 1675527767 ,
validation_files: [ ]
} }ดู: https://platform.openai.com/docs/api-reference/fine-tunes/create
รับการอัปเดตสถานะที่ละเอียดสำหรับงานปรับแต่ง
OpenAI . finetunes_list_events ( "ft-AF1WoRqd3aJAHsqc9NY7iL8F" ) { :ok ,
% {
data: [
% {
"created_at" => 1675376995 ,
"level" => "info" ,
"message" => "Created fine-tune: ft-123" ,
"object" => "fine-tune-event"
} ,
% {
"created_at" => 1675377104 ,
"level" => "info" ,
"message" => "Fine-tune costs $0.00" ,
"object" => "fine-tune-event"
} ,
% {
"created_at" => 1675377105 ,
"level" => "info" ,
"message" => "Fine-tune enqueued. Queue number: 18" ,
"object" => "fine-tune-event"
} ,
... ,
]
}
}ดู: https://platform.openai.com/docs/api-reference/fine-tunes/events
ยกเลิกงานปรับแต่งทันที
OpenAI . finetunes_cancel ( "ft-AF1WoRqd3aJAHsqc9NY7iL8F" ) { :ok ,
% {
created_at: 1675527767 ,
events: [
...
% {
"created_at" => 1675528080 ,
"level" => "info" ,
"message" => "Fine-tune cancelled" ,
"object" => "fine-tune-event"
}
] ,
fine_tuned_model: nil ,
hyperparams: % {
"batch_size" => 1 ,
"learning_rate_multiplier" => 0.1 ,
"n_epochs" => 4 ,
"prompt_loss_weight" => 0.01
} ,
id: "ft-IaBYfSSAK47UUCbebY5tBIEj" ,
model: "curie" ,
object: "fine-tune" ,
organization_id: "org-1iPTOIak4b5fpuIB697AYMmO" ,
result_files: [ ] ,
status: "cancelled" ,
training_files: [
% {
"bytes" => 923 ,
"created_at" => 1675373519 ,
"filename" => "file123.jsonl" ,
"id" => "file-123" ,
"object" => "file" ,
"purpose" => "fine-tune" ,
"status" => "processed" ,
"status_details" => nil
}
] ,
updated_at: 1675528080 ,
validation_files: [ ]
} }ยกเลิกงานปรับแต่งทันที
OpenAI . finetunes_delete_model ( "model-id" ) { :ok ,
% {
id: "model-id" ,
object: "model" ,
deleted: true
}
}ดู: https://platform.openai.com/docs/api-reference/fine-tunes/delete-model
จัดประเภทหากข้อความละเมิดนโยบายเนื้อหาของ OpenAI
OpenAI . moderations ( input: "I want to kill everyone!" ) { :ok ,
% {
id: "modr-6gEWXyuaU8dqiHpbAHIsdru0zuC88" ,
model: "text-moderation-004" ,
results: [
% {
"categories" => % {
"hate" => false ,
"hate/threatening" => false ,
"self-harm" => false ,
"sexual" => false ,
"sexual/minors" => false ,
"violence" => true ,
"violence/graphic" => false
} ,
"category_scores" => % {
"hate" => 0.05119025334715844 ,
"hate/threatening" => 0.00321022979915142 ,
"self-harm" => 7.337320857914165e-5 ,
"sexual" => 1.1111642379546538e-6 ,
"sexual/minors" => 3.588798147546868e-10 ,
"violence" => 0.9190407395362855 ,
"violence/graphic" => 1.2791929293598514e-7
} ,
"flagged" => true
}
]
} }ดู: https://platform.openai.com/docs/api-reference/moderations/create
API ต่อไปนี้อยู่ในช่วงเบต้าเพื่อใช้งานให้แน่ใจว่าได้ตั้งค่าพารามิเตอร์ beta ในการกำหนดค่าของคุณ
config :openai ,
# optional, use when required by an OpenAI API beta, e.g.:
beta: "assistants=v1"ดึงรายชื่อผู้ช่วย
OpenAI . assistants ( ) { :ok ,
% {
data: [
% {
"created_at" => 1699472932 ,
"description" => nil ,
"file_ids" => [ "file-..." ] ,
"id" => "asst_..." ,
"instructions" => "..." ,
"metadata" => % { } ,
"model" => "gpt-4-1106-preview" ,
"name" => "..." ,
"object" => "assistant" ,
"tools" => [ % { "type" => "retrieval" } ]
}
] ,
first_id: "asst_..." ,
has_more: false ,
last_id: "asst_..." ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/assistants/listassistants
ดึงรายชื่อผู้ช่วยที่กรองโดยพารามิเตอร์แบบสอบถาม
OpenAI . assistants ( after: "" , limit: 10 ) { :ok ,
% {
data: [
% {
"created_at" => 1699472932 ,
"description" => nil ,
"file_ids" => [ "file-..." ] ,
"id" => "asst_..." ,
"instructions" => "..." ,
"metadata" => % { } ,
"model" => "gpt-4-1106-preview" ,
"name" => "..." ,
"object" => "assistant" ,
"tools" => [ % { "type" => "retrieval" } ]
} ,
...
] ,
first_id: "asst_..." ,
has_more: false ,
last_id: "asst_..." ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/assistants/listassistants
ดึงผู้ช่วยโดย ID
OpenAI . assistants ( "asst_..." ) { :ok ,
% {
created_at: 1699472932 ,
description: nil ,
file_ids: [ "file-..." ] ,
id: "asst_..." ,
instructions: "..." ,
metadata: % { } ,
model: "gpt-4-1106-preview" ,
name: "..." ,
object: "assistant" ,
tools: [ % { "type" => "retrieval" } ]
} }ดู: https://platform.openai.com/docs/api-reference/assistants/getassistant
สร้างผู้ช่วยใหม่
OpenAI . assistants_create (
model: "gpt-3.5-turbo-1106" ,
name: "My assistant" ,
instructions: "You are a research assistant." ,
tools: [
% { type: "retrieval" }
] ,
file_ids: [ "file-..." ]
) { :ok ,
% {
created_at: 1699640038 ,
description: nil ,
file_ids: [ "file-..." ] ,
id: "asst_..." ,
instructions: "You are a research assistant." ,
metadata: % { } ,
model: "gpt-3.5-turbo-1106" ,
name: "My assistant" ,
object: "assistant" ,
tools: [ % { "type" => "retrieval" } ]
} }ดู: https://platform.openai.com/docs/api-reference/assistants/createAssistant
ปรับเปลี่ยนผู้ช่วยที่มีอยู่
OpenAI . assistants_modify (
"asst_..." ,
model: "gpt-4-1106-preview" ,
name: "My upgraded assistant"
) { :ok ,
% {
created_at: 1699640038 ,
description: nil ,
file_ids: [ "file-..." ] ,
id: "asst_..." ,
instructions: "You are a research assistant." ,
metadata: % { } ,
model: "gpt-4-1106-preview" ,
name: "My upgraded assistant"
object: "assistant" ,
tools: [ % { "type" => "retrieval" } ]
} }ดู: https://platform.openai.com/docs/api-reference/assistants/modifyassistant
ลบผู้ช่วย
OpenAI . assistants_delete ( "asst_..." ) { :ok ,
% {
deleted: true ,
id: "asst_..." ,
object: "assistant.deleted"
} }ดู: https://platform.openai.com/docs/api-reference/assistants/deleteassistant
ดึงรายการไฟล์ที่เกี่ยวข้องกับผู้ช่วยเฉพาะ
OpenAI . assistant_files ( "asst_..." ) { :ok ,
% {
data: [
% {
"assistant_id" => "asst_..." ,
"created_at" => 1699472933 ,
"id" => "file-..." ,
"object" => "assistant.file"
}
] ,
first_id: "file-..." ,
has_more: false ,
last_id: "file-..." ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/assistants/listassistantfiles
ดึงรายการไฟล์ที่เกี่ยวข้องกับผู้ช่วยเฉพาะกรองโดยพารามิเตอร์แบบสอบถาม
OpenAI . assistant_files ( "asst_..." , order: "desc" ) { :ok ,
% {
data: [
% {
"assistant_id" => "asst_..." ,
"created_at" => 1699472933 ,
"id" => "file-..." ,
"object" => "assistant.file"
}
] ,
first_id: "file-..." ,
has_more: false ,
last_id: "file-..." ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/assistants/listassistantfiles
ดึงไฟล์ผู้ช่วยด้วย ID
OpenAI . assistant_file ( "asst_..." , "file_..." ) { :ok ,
% {
assistant_id: "asst_..." ,
created_at: 1699472933 ,
id: "file-..." ,
object: "assistant.file"
} }ดู: https://platform.openai.com/docs/api-reference/assistants/getassistantfile
แนบไฟล์ที่อัปโหลดก่อนหน้านี้ไปยังผู้ช่วย
OpenAI . assistant_file_create ( "asst_..." , file_id: "file-..." ) { :ok ,
% {
assistant_id: "asst_..." ,
created_at: 1699472933 ,
id: "file-..." ,
object: "assistant.file"
} }โปรดดู: https://platform.openai.com/docs/api-reference/assistants/createAssistantFile
แยกไฟล์ออกจากผู้ช่วย ไฟล์เองจะไม่ถูกลบโดยอัตโนมัติ
OpenAI . assistant_file_delete ( "asst_..." , "file-..." ) { :ok ,
% {
deleted: true ,
id: "file-..." ,
object: "assistant.file.deleted"
} }ดู: https://platform.openai.com/docs/api-reference/assistants/deleteaseSistantFile
ดึงรายการเธรด หมายเหตุ: ในช่วงเวลาของการเขียนนี้ฟังก์ชั่นนี้ยังคงไม่มีเอกสารโดย OpenAI
OpenAI . threads ( ) { :ok ,
% {
data: [
% {
"created_at" => 1699705727 ,
"id" => "thread_..." ,
"metadata" => % { "key_1" => "value 1" , "key_2" => "value 2" } ,
"object" => "thread"
} ,
...
] ,
first_id: "thread_..." ,
has_more: false ,
last_id: "thread_..." ,
object: "list"
} }ดึงรายการเธรดโดยการสืบค้นพารามิเตอร์ หมายเหตุ: ในช่วงเวลาของการเขียนนี้ฟังก์ชั่นนี้ยังคงไม่มีเอกสารโดย OpenAI
OpenAI . threads ( limit: 2 ) { :ok ,
% {
data: [
% {
"created_at" => 1699705727 ,
"id" => "thread_..." ,
"metadata" => % { "key_1" => "value 1" , "key_2" => "value 2" } ,
"object" => "thread"
} ,
...
] ,
first_id: "thread_..." ,
has_more: false ,
last_id: "thread_..." ,
object: "list"
} }สร้างเธรดใหม่ที่มีข้อความและข้อมูลเมตา
messages = [
% {
role: "user" ,
content: "Hello, what is AI?" ,
file_ids: [ "file-..." ]
} ,
% {
role: "user" ,
content: "How does AI work? Explain it in simple terms."
} ,
]
metadata = % {
key_1: "value 1" ,
key_2: "value 2"
}
OpenAI . threads_create ( messages: messages , metadata: metadata ) { :ok ,
% {
created_at: 1699703890 ,
id: "thread_..." ,
metadata: % { "key_1" => "value 1" , "key_2" => "value 2" } ,
object: "thread"
} }ดู: https://platform.openai.com/docs/api-reference/threads/createThread
สร้างเธรดใหม่และเรียกใช้
messages = [
% {
role: "user" ,
content: "Hello, what is AI?" ,
file_ids: [ "file-..." ]
} ,
% {
role: "user" ,
content: "How does AI work? Explain it in simple terms."
} ,
]
thread_metadata = % {
key_1: "value 1" ,
key_2: "value 2"
}
thread = % {
messages: messages ,
metadata: thread_metadata
}
run_metadata = % {
key_3: "value 3"
}
params = [
assistant_id: "asst_..." ,
thread: thread ,
model: "gpt-4-1106-preview" ,
instructions: "You are an AI learning assistant." ,
tools: [ % {
"type" => "retrieval"
} ] ,
metadata: run_metadata
]
OpenAI . threads_create_and_run ( params ) { :ok ,
% {
assistant_id: "asst_..." ,
cancelled_at: nil ,
completed_at: nil ,
created_at: 1699897907 ,
expires_at: 1699898507 ,
failed_at: nil ,
file_ids: [ "file-..." ] ,
id: "run_..." ,
instructions: "You are an AI learning assistant." ,
last_error: nil ,
metadata: % { "key_3" => "value 3" } ,
model: "gpt-4-1106-preview" ,
object: "thread.run" ,
started_at: nil ,
status: "queued" ,
thread_id: "thread_..." ,
tools: [ % { "type" => "retrieval" } ]
} }ดู: https://platform.openai.com/docs/api-reference/runs/createTheThreadandrun
ปรับเปลี่ยนเธรดที่มีอยู่
metadata = % {
key_3: "value 3"
}
OpenAI . threads_modify ( "thread_..." , metadata: metadata ) { :ok ,
% {
created_at: 1699704406 ,
id: "thread_..." ,
metadata: % { "key_1" => "value 1" , "key_2" => "value 2" , "key_3" => "value 3" } ,
object: "thread"
} }ดู: https://platform.openai.com/docs/api-reference/threads/modifythread
ปรับเปลี่ยนเธรดที่มีอยู่
OpenAI . threads_delete ( "thread_..." ) { :ok ,
% {
deleted: true ,
id: "thread_..." ,
object: "thread.deleted"
} }ดู: https://platform.openai.com/docs/api-reference/threads/deletethread
ดึงรายการข้อความที่เกี่ยวข้องกับเธรดเฉพาะ
OpenAI . thread_messages ( "thread_..." ) { :ok ,
% {
data: [
% {
"assistant_id" => nil ,
"content" => [
% {
"text" => % {
"annotations" => [ ] ,
"value" => "How does AI work? Explain it in simple terms."
} ,
"type" => "text"
}
] ,
"created_at" => 1699705727 ,
"file_ids" => [ ] ,
"id" => "msg_..." ,
"metadata" => % { } ,
"object" => "thread.message" ,
"role" => "user" ,
"run_id" => nil ,
"thread_id" => "thread_..."
} ,
...
] ,
first_id: "msg_..." ,
has_more: false ,
last_id: "msg_..." ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/messages/listmessages
ดึงรายการข้อความที่เกี่ยวข้องกับเธรดเฉพาะกรองโดยพารามิเตอร์แบบสอบถาม
OpenAI . thread_messages ( "thread_..." , after: "msg_..." ) { :ok ,
% {
data: [
% {
"assistant_id" => nil ,
"content" => [
% {
"text" => % {
"annotations" => [ ] ,
"value" => "How does AI work? Explain it in simple terms."
} ,
"type" => "text"
}
] ,
"created_at" => 1699705727 ,
"file_ids" => [ ] ,
"id" => "msg_..." ,
"metadata" => % { } ,
"object" => "thread.message" ,
"role" => "user" ,
"run_id" => nil ,
"thread_id" => "thread_..."
} ,
...
] ,
first_id: "msg_..." ,
has_more: false ,
last_id: "msg_..." ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/messages/listmessages
ดึงข้อความเธรดด้วย ID
OpenAI . thread_message ( "thread_..." , "msg_..." ) { :ok ,
% {
assistant_id: nil ,
content: [
% {
"text" => % { "annotations" => [ ] , "value" => "Hello, what is AI?" } ,
"type" => "text"
}
] ,
created_at: 1699705727 ,
file_ids: [ "file-..." ] ,
id: "msg_..." ,
metadata: % { } ,
object: "thread.message" ,
role: "user" ,
run_id: nil ,
thread_id: "thread_..."
} }ดู: https://platform.openai.com/docs/api-reference/messages/getMessage
สร้างข้อความภายในเธรด
params = [
role: "user" ,
content: "Hello, what is AI?" ,
file_ids: [ "file-9Riyo515uf9KVfwdSrIQiqtC" ] ,
metadata: % {
key_1: "value 1" ,
key_2: "value 2"
}
]
OpenAI . thread_message_create ( "thread_..." , params ) { :ok ,
% {
assistant_id: nil ,
content: [
% {
"text" => % { "annotations" => [ ] , "value" => "Hello, what is AI?" } ,
"type" => "text"
}
] ,
created_at: 1699706818 ,
file_ids: [ "file-..." ] ,
id: "msg_..." ,
metadata: % { "key_1" => "value 1" , "key_2" => "value 2" } ,
object: "thread.message" ,
role: "user" ,
run_id: nil ,
thread_id: "thread_..."
} }ดู: https://platform.openai.com/docs/api-reference/messages/createMessage
สร้างข้อความภายในเธรด
params = [
metadata: % {
key_3: "value 3"
}
]
OpenAI . thread_message_modify ( "thread_..." , "msg_..." , params ) { :ok ,
% {
assistant_id: nil ,
content: [
% {
"text" => % { "annotations" => [ ] , "value" => "Hello, what is AI?" } ,
"type" => "text"
}
] ,
created_at: 1699706818 ,
file_ids: [ "file-..." ] ,
id: "msg_..." ,
metadata: % { "key_1" => "value 1" , "key_2" => "value 2" , "key_3" => "value 3" } ,
object: "thread.message" ,
role: "user" ,
run_id: nil ,
thread_id: "thread_..."
} }ดู: https://platform.openai.com/docs/api-reference/messages/modifymessage
ดึงรายการไฟล์ที่เกี่ยวข้องกับข้อความเฉพาะของเธรด
OpenAI . thread_message_files ( "thread_..." , "msg_..." ) { :ok ,
% {
data: [
% {
"created_at" => 1699706818 ,
"id" => "file-..." ,
"message_id" => "msg_..." ,
"object" => "thread.message.file"
}
] ,
first_id: "file-..." ,
has_more: false ,
last_id: "file-..." ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/messages/listmessagefiles
ดึงรายการไฟล์ที่เกี่ยวข้องกับข้อความเฉพาะของเธรดที่กรองโดยพารามิเตอร์แบบสอบถาม
OpenAI . thread_message_files ( "thread_..." , "msg_..." , after: "file-..." ) { :ok ,
% {
data: [
% {
"created_at" => 1699706818 ,
"id" => "file-..." ,
"message_id" => "msg_..." ,
"object" => "thread.message.file"
}
] ,
first_id: "file-..." ,
has_more: false ,
last_id: "file-..." ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/messages/listmessagefiles
ดึงวัตถุไฟล์ข้อความ
OpenAI . thread_message_file ( "thread_..." , "msg_..." , "file-..." ) { :ok ,
% {
created_at: 1699706818 ,
id: "file-..." ,
message_id: "msg_..." ,
object: "thread.message.file"
} }ดู: https://platform.openai.com/docs/api-reference/messages/getMessageFile
ดึงรายการการรันที่เกี่ยวข้องกับเธรดเฉพาะกรองโดยพารามิเตอร์แบบสอบถาม
OpenAI . thread_runs ( "thread_..." , limit: 10 ) { :ok , % {
data: [ ] ,
first_id: nil ,
has_more: false ,
last_id: nil ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/runs/listruns
ดึงเธรดเฉพาะที่เรียกใช้โดย ID
OpenAI . thread_run ( "thread_..." , "run_..." ) { :ok ,
% {
assistant_id: "asst_J" ,
cancelled_at: nil ,
completed_at: 1700234149 ,
created_at: 1700234128 ,
expires_at: nil ,
failed_at: nil ,
file_ids: [ ] ,
id: "run_" ,
instructions: "You are an AI learning assistant." ,
last_error: nil ,
metadata: % { "key_3" => "value 3" } ,
model: "gpt-4-1106-preview" ,
object: "thread.run" ,
started_at: 1700234129 ,
status: "expired" ,
thread_id: "thread_" ,
tools: [ % { "type" => "retrieval" } ]
} }ดู: https://platform.openai.com/docs/api-reference/runs/getrun
สร้างการเรียกใช้สำหรับเธรดโดยใช้ผู้ช่วยเฉพาะ
params = [
assistant_id: "asst_..." ,
model: "gpt-4-1106-preview" ,
tools: [ % {
"type" => "retrieval"
} ]
]
OpenAI . thread_run_create ( "thread_..." , params ) { :ok ,
% {
assistant_id: "asst_..." ,
cancelled_at: nil ,
completed_at: nil ,
created_at: 1699711115 ,
expires_at: 1699711715 ,
failed_at: nil ,
file_ids: [ "file-..." ] ,
id: "run_..." ,
instructions: "..." ,
last_error: nil ,
metadata: % { } ,
model: "gpt-4-1106-preview" ,
object: "thread.run" ,
started_at: nil ,
status: "queued" ,
thread_id: "thread_..." ,
tools: [ % { "type" => "retrieval" } ]
} }ดู: https://platform.openai.com/docs/api-reference/runs/createrun
ปรับเปลี่ยนการรันเธรดที่มีอยู่
params = [
metadata: % {
key_3: "value 3"
}
]
OpenAI . thread_run_modify ( "thread_..." , "run_..." , params ) { :ok ,
% {
assistant_id: "asst_..." ,
cancelled_at: nil ,
completed_at: 1699711125 ,
created_at: 1699711115 ,
expires_at: nil ,
failed_at: nil ,
file_ids: [ "file-..." ] ,
id: "run_..." ,
instructions: "..." ,
last_error: nil ,
metadata: % { "key_3" => "value 3" } ,
model: "gpt-4-1106-preview" ,
object: "thread.run" ,
started_at: 1699711115 ,
status: "expired" ,
thread_id: "thread_..." ,
tools: [ % { "type" => "retrieval" } ]
} }ดู: https://platform.openai.com/docs/api-reference/runs/modifyrun
เมื่อการเรียกใช้มีสถานะ: "requires_action" และ required_action.type คือ submit_tool_outputs จุดสิ้นสุดนี้สามารถใช้เพื่อส่งเอาต์พุตจากการโทรเครื่องมือเมื่อเสร็จสมบูรณ์ทั้งหมด เอาต์พุตทั้งหมดจะต้องส่งในคำขอเดียว
params = [
tool_outputs: [ % {
tool_call_id: "call_abc123" ,
output: "test"
} ]
]
OpenAI . thread_run_submit_tool_outputs ( "thread_..." , "run_..." , params ) { :ok ,
% {
assistant_id: "asst_abc123" ,
cancelled_at: nil ,
completed_at: nil ,
created_at: 1699075592 ,
expires_at: 1699076192 ,
failed_at: nil ,
file_ids: [ ] ,
id: "run_abc123" ,
instructions: "You tell the weather." ,
last_error: nil ,
metadata: % { } ,
model: "gpt-4" ,
object: "thread.run" ,
started_at: 1699075592 ,
status: "queued" ,
thread_id: "thread_abc123" ,
tools: [
% {
"function" => % {
"description" => "Determine weather in my location" ,
"name" => "get_weather" ,
"parameters" => % {
"properties" => % {
"location" => % {
"description" => "The city and state e.g. San Francisco, CA" ,
"type" => "string"
} ,
"unit" => % { "enum" => [ "c" , "f" ] , "type" => "string" }
} ,
"required" => [ "location" ] ,
"type" => "object"
}
} ,
"type" => "function"
}
]
}
}ดู: https://platform.openai.com/docs/api-reference/runs/submittoolutputs
ยกเลิกการรัน in_progress
OpenAI . thread_run_cancel ( "thread_..." , "run_..." ) { :ok ,
% {
assistant_id: "asst_..." ,
cancelled_at: nil ,
completed_at: 1699711125 ,
created_at: 1699711115 ,
expires_at: nil ,
failed_at: nil ,
file_ids: [ "file-..." ] ,
id: "run_..." ,
instructions: "..." ,
last_error: nil ,
metadata: % { "key_3" => "value 3" } ,
model: "gpt-4-1106-preview" ,
object: "thread.run" ,
started_at: 1699711115 ,
status: "expired" ,
thread_id: "thread_..." ,
tools: [ % { "type" => "retrieval" } ]
} }ดู: https://platform.openai.com/docs/api-reference/runs/cancelrun
ดึงรายการขั้นตอนที่เกี่ยวข้องกับการรันเฉพาะของเธรด
OpenAI . thread_run_steps ( "thread_..." , "run_..." ) { :ok ,
% {
data: [
% {
"assistant_id" => "asst_..." ,
"cancelled_at" => nil ,
"completed_at" => 1699897927 ,
"created_at" => 1699897908 ,
"expires_at" => nil ,
"failed_at" => nil ,
"id" => "step_..." ,
"last_error" => nil ,
"object" => "thread.run.step" ,
"run_id" => "run_..." ,
"status" => "completed" ,
"step_details" => % {
"message_creation" => % { "message_id" => "msg_..." } ,
"type" => "message_creation"
} ,
"thread_id" => "thread_..." ,
"type" => "message_creation"
}
] ,
first_id: "step_..." ,
has_more: false ,
last_id: "step_..." ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/runs/listrunsteps
ดึงรายการขั้นตอนที่เกี่ยวข้องกับการรันเฉพาะของเธรดที่กรองโดยพารามิเตอร์แบบสอบถาม
OpenAI . thread_run_steps ( "thread_..." , "run_..." , order: "asc" ) { :ok ,
% {
data: [
% {
"assistant_id" => "asst_..." ,
"cancelled_at" => nil ,
"completed_at" => 1699897927 ,
"created_at" => 1699897908 ,
"expires_at" => nil ,
"failed_at" => nil ,
"id" => "step_..." ,
"last_error" => nil ,
"object" => "thread.run.step" ,
"run_id" => "run_..." ,
"status" => "completed" ,
"step_details" => % {
"message_creation" => % { "message_id" => "msg_..." } ,
"type" => "message_creation"
} ,
"thread_id" => "thread_..." ,
"type" => "message_creation"
}
] ,
first_id: "step_..." ,
has_more: false ,
last_id: "step_..." ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/runs/listrunsteps
ดึงรายการขั้นตอนที่เกี่ยวข้องกับการรันเฉพาะของเธรดที่กรองโดยพารามิเตอร์แบบสอบถาม
OpenAI . thread_run_steps ( "thread_..." , "run_..." , order: "asc" ) { :ok ,
% {
data: [
% {
"assistant_id" => "asst_..." ,
"cancelled_at" => nil ,
"completed_at" => 1699897927 ,
"created_at" => 1699897908 ,
"expires_at" => nil ,
"failed_at" => nil ,
"id" => "step_..." ,
"last_error" => nil ,
"object" => "thread.run.step" ,
"run_id" => "run_..." ,
"status" => "completed" ,
"step_details" => % {
"message_creation" => % { "message_id" => "msg_..." } ,
"type" => "message_creation"
} ,
"thread_id" => "thread_..." ,
"type" => "message_creation"
}
] ,
first_id: "step_..." ,
has_more: false ,
last_id: "step_..." ,
object: "list"
} }ดู: https://platform.openai.com/docs/api-reference/runs/listrunsteps
ดึงขั้นตอนการเรียกใช้เธรดโดย ID
OpenAI . thread_run_step ( "thread_..." , "run_..." , "step_..." ) { :ok ,
% {
assistant_id: "asst_..." ,
cancelled_at: nil ,
completed_at: 1699897927 ,
created_at: 1699897908 ,
expires_at: nil ,
failed_at: nil ,
id: "step_..." ,
last_error: nil ,
object: "thread.run.step" ,
run_id: "run_..." ,
status: "completed" ,
step_details: % {
"message_creation" => % { "message_id" => "msg_..." } ,
"type" => "message_creation"
} ,
thread_id: "thread_..." ,
type: "message_creation"
} }ดู: https://platform.openai.com/docs/api-reference/runs/getrunstep
APIs ต่อไปนี้เลิกใช้แล้ว แต่ปัจจุบันได้รับการสนับสนุนจากไลบรารีเพื่อความเข้ากันได้แบบย้อนกลับกับรุ่นเก่า หากคุณใช้ APIs ต่อไปนี้พิจารณาที่จะลบโดยเร็วจากโครงการของคุณ!
หมายเหตุ: จากการค้นหาเวอร์ชัน 0.5.0, คำตอบ, การจำแนกประเภท API ไม่ได้รับการสนับสนุน (เนื่องจากพวกเขาถูกลบออกโดย OpenAI) หากคุณยังต้องการให้พวกเขาพิจารณาที่จะใช้ v0.4.2
รับรายการเครื่องยนต์ที่มีอยู่
OpenAI . engines ( ) { :ok , % {
"data" => [
% { "id" => "davinci" , "object" => "engine" , "max_replicas": ... } ,
... ,
...
]
}
ดู: https://beta.openai.com/docs/api-reference/engines/list
ดึงข้อมูลเครื่องยนต์เฉพาะ
OpenAI . engines ( "davinci" ) { :ok , % {
"id" => "davinci" ,
"object" => "engine" ,
"max_replicas": ...
}
}ดู: https://beta.openai.com/docs/api-reference/engines/retriev
แพ็คเกจนี้มีให้เป็นโอเพ่นซอร์สภายใต้ข้อกำหนดของใบอนุญาต MIT