curl命令的玩法

開始前,請確保,

  1. 正確配置了著名的環(huán)境變量OPENAI_API_KEY
  2. 該API Key具有GPT4的權限

那我們現(xiàn)在開始。

1. 創(chuàng)建Assistant

curl "https://api.openai.com/v1/assistants" \
-u:$OPENAI_API_KEY \
-H "Content-Type: application/json" \
-H "OpenAI-Beta: assistants=v1" \
-d '{
"instructions": "You are a personal math tutor. When asked a question, write and run Python code to answer the question.",
"name": "Math Tutor"
"tools": [{"type": "code_interpreter"}],
"model": "gpt-4"
}'

響應中你會得到一個Assistant ID。

2. 創(chuàng)建Thread

Thread代表Assistant與用戶之間的會話。

curl https://api.openai.com/v1/threads \
-u:$OPENAI_API_KEY \
-H 'Content-Type: application/json' \
-H 'OpenAI-Beta: assistants=v1' \
-d '{
"messages": [
{
"role": "user",
"content": "Work out the sum of 1, 2 and 3"
}
]
}'

響應中你會得到一個Thread ID。

3. 提交一個Run

提交Run的任務是需要攜帶上述命令輸出中得到的Thread ID和Assistant ID。

curl https://api.openai.com/v1/threads/<thread_id>/runs \
-u:$OPENAI_API_KEY \
-H 'Content-Type: application/json' \
-H 'OpenAI-Beta: assistants=v1' \
-d '{
"assistant_id": "<assistant_id>"
}

響應中你會得到一個Run ID。

4. 查詢Run的狀態(tài)

curl https://api.openai.com/v1/threads/<thread_id>/runs/<run_id> \
-u:$OPENAI_API_KEY \
-H 'OpenAI-Beta: assistants=v1'

響應中你會得到該任務的狀態(tài)。

5. 獲取Assistant的響應/消息

Assistant的響應將是如下API調(diào)用中響應的最近一條消息。

curl https://api.openai.com/v1/threads/<thread_id>/messages \
-u:$OPENAI_API_KEY \
-H "Content-Type: application/json" \
-H "OpenAI-Beta: assistants=v1"

LangChain框架集成

LangChain開發(fā)團隊一直在積極響應OpenAI的變化。LangChain的最新RC版本已經(jīng)支持了Assistants API。

確保您使用的LangChain版本至少是0.0.331rc2,以便使用Assistants API。

目前,LangChain通過langchain-experimental包提供了Assistants支持。

您唯一需要的類就是OpenAIAssistantRunnable,這將使代碼更加清晰。

聽起來非常簡單吧?讓我們來看看下面的內(nèi)容。

1. 安裝Python包

$ pip install -U -q "langchain==0.0.331rc2" langchain-experimental "openai>=1.1"

2. 執(zhí)行代碼完成與Assistant的交互

import os
os.environ["OPENAI_API_KEY"] = 'your valid OpenAI API key with GPT-4 enabled'

from langchain_experimental.openai_assistant import OpenAIAssistantRunnable

interpreter_assistant = OpenAIAssistantRunnable.create_assistant(
name="langchain assistant",
instructions="You are a personal math tutor. When asked a question, write and run Python code to answer the question.",
tools=[{"type": "code_interpreter"}],
model="gpt-4"
)

output = interpreter_assistant.invoke({"content": "Work out the sum of 1, 2 and 3"})
print(output)

短短數(shù)行代碼,就完成了一堆curl命令做的事情,是不是很輕松?


今天就先分享這么多吧。有興趣的同學趕緊玩起來!本次分享的完整代碼請參考:

https://github.com/sugarforever/LangChain-Advanced/blob/main/langchain_with_openai_assistants_api.ipynb

文章轉(zhuǎn)自微信公眾號@01麻瓜社

上一篇:

AI大模型實現(xiàn)OCR識別驗證碼

下一篇:

國產(chǎn)AI崛起:智譜AI 和 LlamaIndex 結(jié)合進行數(shù)據(jù)處理
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費