国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

openai開放gpt3.5-turbo模型api,使用python即可寫一個基于gpt的智能問答機(jī)器人

這篇具有很好參考價值的文章主要介紹了openai開放gpt3.5-turbo模型api,使用python即可寫一個基于gpt的智能問答機(jī)器人。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

1安裝python庫

使用pip安裝openai庫,注意gpt3.5-turbo模型需要python>=3.9的版本支持,本文演示的python版本是python==3.10.10

pip install openai

2創(chuàng)建api key

需要提前在openai官網(wǎng)上注冊好賬號,然后打開https://platform.openai.com/account/api-keys就可以創(chuàng)建接口keys

openai開放gpt3.5-turbo模型api,使用python即可寫一個基于gpt的智能問答機(jī)器人
每個賬號注冊完成會有18美元在里面,每次調(diào)用api,就會花費(fèi)里面的余額,注意余額也有過期時間。
openai開放gpt3.5-turbo模型api,使用python即可寫一個基于gpt的智能問答機(jī)器人

3費(fèi)用介紹

調(diào)用gpt3.5-turbo的費(fèi)用如下,可以看到每1000個token是0.002美元

openai開放gpt3.5-turbo模型api,使用python即可寫一個基于gpt的智能問答機(jī)器人
關(guān)于token,官方也給出了說法

Multiple models, each with different capabilities and price points. Prices are per 1,000 tokens. You can think of tokens as pieces of words, where 1,000 tokens is about 750 words. This paragraph is 35 tokens.

原意就是1000個token大概是750個單詞,而上面這段話有35個token。所以,不用過于擔(dān)心這個費(fèi)用的問題。

4 API調(diào)用

官方給出了兩種調(diào)用Api的方法,分別是url請求和調(diào)用python包。

【1】使用curl工具請求

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
   }'

請求后返回的格式為:

{
   "id":"chatcmpl-abc123",
   "object":"chat.completion",
   "created":1677858242,
   "model":"gpt-3.5-turbo-0301",
   "usage":{
      "prompt_tokens":13,
      "completion_tokens":7,
      "total_tokens":20
   },
   "choices":[
      {
         "message":{
            "role":"assistant",
            "content":"\n\nThis is a test!"
         },
         "finish_reason":"stop",
         "index":0
      }
   ]
}

【2】調(diào)用python包

import openai

openai.api_key="OpenAI api key"
messages = []
system_message = input("What type of chatbot you want me to be?")
system_message_dict = {
    "role": "system",
    "content": system_message
}
messages.append(system_message_dict)
message = input("輸入想要詢問的信息: ")
user_message_dict = {
    "role": "user",
    "content": message
}
messages.append(user_message_dict)
response=openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=messages
)
print(response)
reply = response["choices"][0]["message"]["content"]
print(reply)

請求包返回的結(jié)果:

{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "\u4e0b\u9762\u662f\u4e00\u4e2aJava\u5b9e\u73b0\u7684\u96ea\u82b1\u7b97\u6cd5\u751f\u6210\u5206\u5e03\u5f0fID\u7684\u4ee3\u7801\uff1a\n\n```java\npublic class SnowflakeIdGenerator {\n    // \u5f00\u59cb\u65f6\u95f4\u6233\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u81ea\u884c\u4fee\u6539\n    private final static long START_TIMESTAMP = 1480166465631L;\n  \n    // \u6bcf\u90e8\u5206\u5360\u7528\u7684\u4f4d\u6570\n    private final static long SEQUENCE_BIT = 12; // \u5e8f\u5217\u53f7\u5360\u7528\u7684\u4f4d\u6570\n    private final static long MACHINE_BIT = 5;   // \u673a\u5668\u6807\u8bc6\u5360\u7528\u7684\u4f4d\u6570\n    private final static long DATACENTER_BIT = 5;// \u6570\u636e\u4e2d\u5fc3\u5360\u7528\u7684\u4f4d\u6570\n  \n    // \u6bcf\u90e8\u5206\u7684\u6700\u5927\u503c\n    private final static long MAX_DATACENTER_NUM = ~(-1L << DATACENTER_BIT);\n    private final static long MAX_MACHINE_NUM = ~(-1L << MACHINE_BIT);\n    private final static long MAX_SEQUENCE = ~(-1L << SEQUENCE_BIT);\n  \n    // \u6bcf\u90e8\u5206\u5411\u5de6\u7684\u4f4d\u79fb\n    private final static long MACHINE_LEFT = SEQUENCE_BIT;\n    private final static long DATACENTER_LEFT = SEQUENCE_BIT + MACHINE_BIT;\n    private final static long TIMESTAMP_LEFT = DATACENTER_LEFT + DATACENTER_BIT;\n  \n    private long datacenterId;  // \u6570\u636e\u4e2d\u5fc3\u6807\u8bc6\n    private long machineId;     // \u673a\u5668\u6807\u8bc6\n    private long sequence = 0L; // \u5e8f\u5217\u53f7\n    private long lastTimestamp = -1L; // \u4e0a\u6b21\u751f\u6210ID\u7684\u65f6\u95f4\u6233\n  \n    public SnowflakeIdGenerator(long datacenterId, long machineId) {\n        if (datacenterId > MAX_DATACENTER_NUM || datacenterId < 0) {\n            throw new IllegalArgumentException(\"Datacenter ID can't be greater than \" + MAX_DATACENTER_NUM + \" or less than 0\");\n        }\n        if (machineId > MAX_MACHINE_NUM || machineId < 0) {\n            throw new IllegalArgumentException(\"Machine ID can't be greater than \" + MAX_MACHINE_NUM + \" or less than 0\");\n        }\n        this.datacenterId = datacenterId;\n        this.machineId = machineId;\n    }\n  \n    public synchronized long nextId() {\n        long timestamp = timeGen();\n  \n        // \u5982\u679c\u5f53\u524d\u65f6\u95f4\u5c0f\u4e8e\u4e0a\u6b21ID\u751f\u6210\u7684\u65f6\u95f4\u6233\uff0c\u8bf4\u660e\u7cfb\u7edf\u65f6\u949f\u56de\u9000\u8fc7\uff0c\u8fd9\u4e2a\u65f6\u5019\u5e94\u5f53\u629b\u51fa\u5f02\u5e38\n        if (timestamp < lastTimestamp) {\n            throw new RuntimeException(\"Clock moved backwards. Refusing to generate id for \" + (lastTimestamp - timestamp) + \" milliseconds\");\n        }\n  \n        // \u5982\u679c\u662f\u540c\u4e00\u65f6\u95f4\u751f\u6210\u7684\uff0c\u5219\u8fdb\u884c\u6beb\u79d2\u5185\u5e8f\u5217\u53f7\u9012\u589e\n        if (lastTimestamp == timestamp) {\n            sequence = (sequence + 1) & MAX_SEQUENCE;\n            // \u5982\u679c\u6beb\u79d2\u5185\u5e8f\u5217\u53f7\u5df2\u7ecf\u8fbe\u5230\u6700\u5927\uff0c\u5219\u6beb\u79d2\u5185\u5e8f\u5217\u53f7\u91cd\u7f6e\u4e3a0\uff0c\u91cd\u65b0\u751f\u6210\u4e0b\u4e00\u4e2aID\n            if (sequence == 0L) {\n                timestamp = tilNextMillis(lastTimestamp);\n            }\n        }\n        // \u65f6\u95f4\u6233\u6539\u53d8\uff0c\u6beb\u79d2\u5185\u5e8f\u5217\u53f7\u91cd\u7f6e\u4e3a0\n        else {\n            sequence = 0L;\n        }\n  \n        // \u4e0a\u6b21\u751f\u6210ID\u7684\u65f6\u95f4\u622a\n        lastTimestamp = timestamp;\n  \n        // \u79fb\u4f4d\u5e76\u901a\u8fc7\u6216\u8fd0\u7b97\u62fc\u5230\u4e00\u8d77\u7ec4\u621064\u4f4d\u7684ID\n        return ((timestamp - START_TIMESTAMP) << TIMESTAMP_LEFT)\n                | (datacenterId << DATACENTER_LEFT)\n                | (machineId << MACHINE_LEFT)\n                | sequence;\n    }\n  \n    /*\n     * \u5185\u90e8\u65b9\u6cd5\uff0c\u751f\u6210\u5f53\u524d\u65f6\u95f4\u6233\n     */\n    private long timeGen() {\n        return System.currentTimeMillis();\n    }\n  \n    /*\n     * \u5185\u90e8\u65b9\u6cd5\uff0c\u7b49\u5f85\u4e0b\u4e00\u4e2a\u6beb\u79d2\u7684\u5230\u6765\n     */\n    private long tilNextMillis(long lastTimestamp) {\n        long timestamp = timeGen();\n        while (timestamp <= lastTimestamp) {\n            timestamp = timeGen();\n        }\n        return timestamp;\n    }\n}\n```\n\n\u8fd9\u4e2a\u7c7b\u7684\u4f7f\u7528\u65b9\u6cd5\u5982\u4e0b\uff1a\n\n```java\nSnowflakeIdGenerator idGenerator = new SnowflakeIdGenerator(1, 1);\nlong id = idGenerator.nextId();\n```",
        "role": "assistant"
      }
    }
  ],
  "created": 1680359622,
  "id": "chatcmpl-70WaUhGWydy5fBxdlrs9fhqMj7kqN",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 923,
    "prompt_tokens": 33,
    "total_tokens": 956
  }
}

5 補(bǔ)充

對于請求體messages中的role字段說明。
這里有三種角色,分別是system、userassistant

  • system:可以幫助設(shè)置assistant的行為,在gpt-3.5-turbo-0301模型中還沒有比較多地關(guān)注這個設(shè)置,在未來的模型中會比較關(guān)注
  • user:這個是本次用戶輸入想要回答的一個問題。
  • assistant:用于存儲之前用戶的歷史回答。

這三種角色相互依賴構(gòu)成的一組輸入信息,構(gòu)成了上下文的形式。

參考文章:
[1] https://openai.com/pricing
[2] https://platform.openai.com/account/api-keys
[3] https://platform.openai.com/docs/api-reference/introduction
[4] https://platform.openai.com/docs/introduction/overview文章來源地址http://www.zghlxwxcb.cn/news/detail-463896.html

到了這里,關(guān)于openai開放gpt3.5-turbo模型api,使用python即可寫一個基于gpt的智能問答機(jī)器人的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • OpenAI推出GPT-3.5Turbo微調(diào)功能并更新API;Midjourney更新局部繪制功能

    OpenAI推出GPT-3.5Turbo微調(diào)功能并更新API;Midjourney更新局部繪制功能

    ?? AI新聞 ?? OpenAI推出GPT-3.5Turbo微調(diào)功能并更新API,將提供GPT-4微調(diào)功能 摘要 :OpenAI宣布推出GPT-3.5Turbo微調(diào)功能,并更新API,使企業(yè)和開發(fā)者能夠定制ChatGPT,達(dá)到或超過GPT-4的能力。通過微調(diào),用戶可以讓模型更好地遵循指令、一致格式化響應(yīng),并適應(yīng)特定品牌需求。此外

    2024年02月11日
    瀏覽(20)
  • OpenAI取消GPT-4 Turbo每日限制,速率提升一倍;擴(kuò)散模型的理論基礎(chǔ)

    OpenAI取消GPT-4 Turbo每日限制,速率提升一倍;擴(kuò)散模型的理論基礎(chǔ)

    ?? AI新聞 ?? OpenAI取消GPT-4 Turbo每日限制,速率提升一倍 摘要 :OpenAI宣布取消GPT-4 Turbo的每日限制,提升速率限制1倍,每分鐘可處理高達(dá)150萬TPM的數(shù)據(jù)。 OpenAI解釋速率限制對防止API濫用、確保公平訪問和管理基礎(chǔ)設(shè)施負(fù)載的重要性。 OpenAI發(fā)布了避免速率限制的攻略,包括使

    2024年02月21日
    瀏覽(26)
  • chatgpt新版gpt-3.5-turbo模型API教程

    形式:輸入一個問題,模型會生成一個結(jié)果,一問一答形式 功能:創(chuàng)建一個聊天接口地址:POST?https://api.openai.com/v1/chat/completions?(Beta) 請求參數(shù)(Request body): model: string 必須 使用的模型,只有 gpt-3.5-turbo 和 gpt-3.5-turbo-0301 兩個取值 messages:array 必須 需要傳入的內(nèi)容,里面

    2024年02月04日
    瀏覽(48)
  • Azure Machine Learning - Azure OpenAI 服務(wù)使用 GPT-35-Turbo and GPT-4

    Azure Machine Learning - Azure OpenAI 服務(wù)使用 GPT-35-Turbo and GPT-4

    通過 Azure OpenAI 服務(wù)使用 GPT-35-Turbo and GPT-4 Azure 訂閱 - 免費(fèi)創(chuàng)建訂閱 已在所需的 Azure 訂閱中授予對 Azure OpenAI 服務(wù)的訪問權(quán)限。 目前,僅應(yīng)用程序授予對此服務(wù)的訪問權(quán)限。 可以填寫 https://aka.ms/oai/access 處的表單來申請對 Azure OpenAI 服務(wù)的訪問權(quán)限。 Python 3.7.1 或更高版本。

    2024年02月05日
    瀏覽(57)
  • Observability:使用 OpenTelemetry 和 Elastic 監(jiān)控 OpenAI API 和 GPT 模型

    Observability:使用 OpenTelemetry 和 Elastic 監(jiān)控 OpenAI API 和 GPT 模型

    作者:David Hope ChatGPT 現(xiàn)在很火,它打破了互聯(lián)網(wǎng)。 作為 ChatGPT 的狂熱用戶和 ChatGPT 應(yīng)用程序的開發(fā)者,我對這項技術(shù)的可能性感到無比興奮。 我看到的情況是,基于 ChatGPT 的解決方案將呈指數(shù)級增長,人們將需要監(jiān)控這些解決方案。 由于這是一項非常新的技術(shù),我們不想讓

    2023年04月17日
    瀏覽(29)
  • [最新搭建教程]0基礎(chǔ)Linux CentOS7系統(tǒng)服務(wù)器本地安裝部署ChatGPT模型服務(wù)搭建/免費(fèi)域名綁定網(wǎng)頁Https訪問/調(diào)用open AI的API/GPT3/GPT3.5/GPT4模型接口

    [最新搭建教程]0基礎(chǔ)Linux CentOS7系統(tǒng)服務(wù)器本地安裝部署ChatGPT模型服務(wù)搭建/免費(fèi)域名綁定網(wǎng)頁Https訪問/調(diào)用open AI的API/GPT3/GPT3.5/GPT4模型接口

    一、關(guān)于此文 本文介紹了如何克隆一個開源的項目,通過請求調(diào)用OpenAI ChatGPT模型接口,以使用ChatGPT的強(qiáng)大功能。相比于直接登錄ChatGPT官網(wǎng)對話,此方法對話過程更為流暢,不會頻頻出現(xiàn)限流導(dǎo)致對話中斷或網(wǎng)絡(luò)異常;此外,部署完成后無需魔法即可訪問,可分享給親朋好

    2024年02月10日
    瀏覽(96)
  • OpenAI ChatGpt Gpt-3.5-turbo

    OpenAI ChatGpt Gpt-3.5-turbo

    返回結(jié)果 首先安裝 OpenAI、GPT Index 和 Gradio 庫 復(fù)制以下代碼,取名chatgptsample.py

    2024年02月03日
    瀏覽(27)
  • OpenAI取消GPT-4 Turbo所有每日限制!

    OpenAI取消GPT-4 Turbo所有每日限制!

    2月17日,OpenAI在社交平臺宣布,取消了GPT-4 Turbo的所有每日限制,并將速率限制提升1倍。 現(xiàn)在,每分鐘可處理高達(dá)150萬TPM的數(shù)據(jù) 。 OpenAI這一周的連續(xù)王炸組合拳,從ChatGPT增加 “記憶存儲”,到視頻模型Sora再到GPT-4 Turbo全面取消每日限制,打的谷歌、Meta有點(diǎn)暈頭轉(zhuǎn)向搶盡風(fēng)

    2024年02月20日
    瀏覽(26)
  • OpenAI取消GPT-4 Turbo,所有每日限制!

    OpenAI取消GPT-4 Turbo,所有每日限制!

    2月17日,OpenAI在社交平臺宣布,取消了GPT-4 Turbo的所有每日限制,并將速率限制提升1倍。 現(xiàn)在,每分鐘可處理高達(dá)150萬TPM的數(shù)據(jù) 。 OpenAI這一周的連續(xù)王炸組合拳,從ChatGPT增加 “記憶存儲”,到視頻模型Sora再到GPT-4 Turbo全面取消每日限制,打的谷歌、Meta有點(diǎn)暈頭轉(zhuǎn)向搶盡風(fēng)

    2024年02月22日
    瀏覽(19)
  • 2023年8月22日OpenAI推出了革命性更新:ChatGPT-3.5 Turbo微調(diào)和API更新,為您的業(yè)務(wù)量身打造AI模型

    2023年8月22日OpenAI推出了革命性更新:ChatGPT-3.5 Turbo微調(diào)和API更新,為您的業(yè)務(wù)量身打造AI模型

    ???? 博主貓頭虎 帶您 Go to New World.??? ?? 博客首頁——貓頭虎的博客?? ??《面試題大全專欄》 文章圖文并茂??生動形象??簡單易學(xué)!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍專欄》學(xué)會IDEA常用操作,工作效率翻倍~?? ?? 《100天精通Golang(基礎(chǔ)入門篇)》學(xué)會Golang語言

    2024年02月11日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包