上圖是一個(gè)使用AI生成的圖片, 描述一下這篇文章的背景。
程序員系統(tǒng)學(xué)習(xí)了OpenAI提供的api接口,并熟練利用提示詞結(jié)合業(yè)務(wù)解決業(yè)務(wù)問題。
現(xiàn)狀
講一個(gè)故事來開始今天的內(nèi)容。
架構(gòu)師老李在技術(shù)圈里以其卓越的技術(shù)洞察力而著稱。另一邊,Carter,一個(gè)年輕有為的30歲創(chuàng)業(yè)公司老板,正面臨一個(gè)急需解決的難題。
他的公司主打全球客服平臺,專為小顆粒用戶提供高度個(gè)性化的服務(wù)體驗(yàn),同時(shí)也為中大型客戶提供了AI賦能的人工客服解決方案。
隨著業(yè)務(wù)的蓬勃發(fā)展,小顆粒用戶群體對AI的期待日益增長,他們希望得到即刻而準(zhǔn)確的反饋。中大型企業(yè)的客服團(tuán)隊(duì)也迫切需要AI的支持,
以提高服務(wù)效率和顧客滿意度。Carter清楚地意識到,如果不能迅速提升技術(shù)實(shí)力,他的公司可能會(huì)失去在這場全球化競爭中的優(yōu)勢。
正當(dāng)Carter焦慮不已時(shí),老李出現(xiàn)了。兩人的一次偶然會(huì)面,讓老李了解到了Carter的燃眉之急。老李建議Carter采用OpenAI 提供的API,
這是一個(gè)他個(gè)人深入研究并且對其潛力深信不疑的解決方案。他向Carter解釋了如何利用這些API和提示詞來提升客服平臺的智能水平,不僅能夠理解客戶的復(fù)雜需求,還能提供實(shí)時(shí)、高質(zhì)量的解答。
Carter被老李的見解所說服,并決定投資于OpenAI的技術(shù)。他組織了一支專業(yè)團(tuán)隊(duì),在老李的指導(dǎo)下,成員們開始系統(tǒng)地學(xué)習(xí)OpenAI的API,
并根據(jù)公司的業(yè)務(wù)需求和客戶的特定場景來定制化提示詞。經(jīng)過數(shù)月的努力,團(tuán)隊(duì)開發(fā)出了一個(gè)先進(jìn)的AI客服系統(tǒng),能夠針對不同規(guī)模的客戶提供優(yōu)化服務(wù)。
新系統(tǒng)的上線立即產(chǎn)生了影響。小顆粒用戶享受到了前所未有的快速而精確的服務(wù)體驗(yàn),中大型企業(yè)的客服效率也得到了顯著提升。
Carter的公司迅速在全球客服領(lǐng)域贏得了聲譽(yù),其市場份額穩(wěn)步增長。
通過Carter和老李的合作,公司不僅保持了在行業(yè)中的競爭力,還樹立了利用AI技術(shù)持續(xù)創(chuàng)新的典范。
問題
你知道基于AI有哪些典型的應(yīng)用嗎?如何把AI跟業(yè)務(wù)結(jié)合。
大部分的企業(yè)其實(shí)只用到了提示詞,即可把自己的業(yè)務(wù)跟AI結(jié)合起來。
那么,AI有哪些典型的應(yīng)用提示詞呢?
實(shí)現(xiàn)路徑
作為程序員,你必須首先知道AI能干什么?再結(jié)合業(yè)務(wù)想想自己可以干什么?
即你首先需要了解AI提供了哪些API的能力,有哪些典型應(yīng)用場景。
最后結(jié)合所在公司的業(yè)務(wù)場景,靈活的使用AI的能力跟業(yè)務(wù)結(jié)合。
接口協(xié)議
在使用提示詞之前,我們先熟悉一下AI提供的接口的http協(xié)議是怎樣的。
大綱如下:
您可以通過任何語言的HTTP請求與API進(jìn)行交互,也可以通過我們的官方Python綁定庫、官方Node.js庫或社區(qū)維護(hù)的庫來實(shí)現(xiàn)。
要安裝官方Python綁定庫,請運(yùn)行以下命令:
pip install openai
要安裝官方Node.js庫,請?jiān)谀腘ode.js項(xiàng)目目錄中運(yùn)行以下命令:
npm install openai@^4.0.0
這些命令將分別在Python和Node.js環(huán)境中安裝OpenAI提供的官方庫,使得開發(fā)者可以在他們選擇的編程環(huán)境中方便地調(diào)用API。
我比較熟悉java語言,那么java語言的庫是什么呢?
openai-java 或者使用azure的openapi庫java版本來進(jìn)行編程,它也支持訪問openAI的接口。
認(rèn)證
OpenAI API 使用 API 密鑰進(jìn)行認(rèn)證。請?jiān)L問您的 API 密鑰頁面以獲取您將在請求中使用的 API 密鑰。
請記住,您的 API 密鑰是一個(gè)秘密!不要與他人分享,也不要在任何客戶端代碼中(瀏覽器、應(yīng)用程序)暴露它。生產(chǎn)環(huán)境中的請求必須通過您自己的后端服務(wù)器路由,在此服務(wù)器中您的 API 密鑰可以安全地從環(huán)境變量或密鑰管理服務(wù)中加載。
所有 API 請求都應(yīng)將您的 API 密鑰包含在 Authorization HTTP 頭中,如下所示:
Authorization: Bearer OPENAI_API_KEY
這是標(biāo)準(zhǔn)的Bearer令牌認(rèn)證方式,其中OPENAI_API_KEY
是您的實(shí)際API密鑰。在發(fā)送HTTP請求時(shí),您需要在請求頭中加入這個(gè)字段,以便API服務(wù)能夠驗(yàn)證并授權(quán)您的請求。
組織
對于屬于多個(gè)組織的用戶,您可以通過傳遞一個(gè)頭部(header)來指定哪個(gè)組織用于API請求。這些API請求的使用量將計(jì)入指定組織的使用量。
示例的curl命令如下:
curl https://api.openai.com/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "OpenAI-Organization: org-uNvcRCbJ1LJApJrL0vMOj6Wa"
使用OpenAI Python包的示例:
from openai import OpenAI
client = OpenAI(
organization='org-uNvcRCbJ1LJApJrL0vMOj6Wa',
)
使用OpenAI Node.js包的示例:
import OpenAI from "openai";
const openai = new OpenAI({
organization: 'org-uNvcRCbJ1LJApJrL0vMOj6Wa',
});
組織ID可以在您的組織設(shè)置頁面上找到。 發(fā)起請求時(shí),您可以按照上述示例中的代碼,通過指定組織ID來確保API請求計(jì)入相應(yīng)組織的使用量。這在管理多個(gè)組織的資源和使用情況時(shí)非常有用。
發(fā)送請求
您可以將以下命令粘貼到終端中,以運(yùn)行您的第一個(gè)API請求。請確保將 $OPENAI_API_KEY
替換為您的秘密API密鑰。
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7
}'
這個(gè)請求查詢 gpt-3.5-turbo
模型(在內(nèi)部指向 gpt-3.5-turbo
模型的變體),以完成以提示 "Say this is a test" 開始的文本。您應(yīng)該得到一個(gè)類似于以下的響應(yīng):
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1677858242,
"model": "gpt-3.5-turbo-0613",
"usage": {
"prompt_tokens": 13,
"completion_tokens": 7,
"total_tokens": 20
},
"choices": [
{
"message": {
"role": "assistant",
"content": "\n\nThis is a test!"
},
"logprobs": null,
"finish_reason": "stop",
"index": 0
}
]
}
現(xiàn)在您已經(jīng)生成了第一個(gè)聊天補(bǔ)全,讓我們來解析這個(gè)響應(yīng)對象。我們可以看到 finish_reason
是 stop
,這意味著API返回了模型生成的完整聊天補(bǔ)全,而沒有遇到任何限制。
在 choices
列表中,我們只生成了一條消息,但您可以通過設(shè)置 n
參數(shù)來生成多條消息選項(xiàng)。
請求協(xié)議
下面歸納一下 這個(gè)接口的協(xié)議。
請求參數(shù)
響應(yīng)信息
聊天補(bǔ)全對象 代表模型根據(jù)提供的輸入返回的聊天補(bǔ)全響應(yīng)
流式傳輸
OpenAI API提供了將響應(yīng)流式傳輸回客戶端的能力,以便對某些請求提供部分結(jié)果。為了實(shí)現(xiàn)這一點(diǎn),我們遵循了服務(wù)器發(fā)送事件(Server-sent events)標(biāo)準(zhǔn)。我們的官方Node.js和Python庫包含了輔助工具,以簡化解析這些事件的過程。
流式傳輸功能支持Chat Completions API和Assistants API。本節(jié)重點(diǎn)介紹如何在Chat Completions中使用流式傳輸。有關(guān)在Assistants API中如何使用流式傳輸?shù)母嘈畔?,請?jiān)L問此處。
在Python中,一個(gè)流式傳輸請求看起來像這樣:
from openai import OpenAI
client = OpenAI()
stream = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Say this is a test"}],
stream=True,
)
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
在Node.js/TypeScript中,一個(gè)流式傳輸請求看起來像這樣:
import OpenAI from "openai";
const openai = new OpenAI();
async function main() {
const stream = await openai.chat.completions.create({
model: "gpt-4",
messages: [{ role: "user", content: "Say this is a test" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
}
main();
解析服務(wù)器發(fā)送的事件
解析服務(wù)器發(fā)送的事件并不簡單,應(yīng)該謹(jǐn)慎進(jìn)行。簡單的策略,如按換行符分割,可能會(huì)導(dǎo)致解析錯(cuò)誤。
我們建議盡可能使用現(xiàn)有的客戶端庫。
效果就是結(jié)果是一條一條返回的,避免等待太久。
返回值格式
聊天補(bǔ)全塊對象 代表模型根據(jù)提供的輸入返回的聊天補(bǔ)全響應(yīng)的流式傳輸塊。
提示詞典型應(yīng)用場景
挨個(gè)熟悉提示詞。 GPT給出了30個(gè)提示詞的例子。
我舉例拆解一下。
實(shí)際使用的是chat接口。
英語語法校正
辯論
面試問問題
小結(jié)
本文從一個(gè)故事出發(fā),拋出問題,作為程序員如何系統(tǒng)的了解AI的能力并靈活的跟業(yè)務(wù)結(jié)合?
最后,系統(tǒng)的介紹了OpenAI的API圖譜,和典型的提示詞場景。 并作了一些實(shí)踐。
在實(shí)際工作中確實(shí)也是這么做的,比如客服的AI質(zhì)檢, AI總結(jié), AI知識庫,AI文本聊天機(jī)器人 。 文章來源:http://www.zghlxwxcb.cn/news/detail-857752.html
原創(chuàng)不易,關(guān)注誠可貴,轉(zhuǎn)發(fā)價(jià)更高!轉(zhuǎn)載請注明出處,讓我們互通有無,共同進(jìn)步,歡迎溝通交流。文章來源地址http://www.zghlxwxcb.cn/news/detail-857752.html
到了這里,關(guān)于AIGC: 5 IT從業(yè)者如何使用AI賦能業(yè)務(wù)?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!