如何在 Python 開發環境中調用 ChatGPT 模型?

来源:https://www.cnblogs.com/hahaa/archive/2023/05/18/17412457.html
-Advertisement-
Play Games

本文將演示在本地的 python 項目中調用 ChatGPT 模型 前言 作為一名程式員,在開發過程當中時常需要使用 ChatGPT 來完成一些任務,但總是使用網頁交互模式去 Web 端訪問 ChatGPT 是很麻煩的,這時候我們可以使用代碼來調用 ChatGPT 模型,以實現在本地和 Web 端一 ...


本文將演示在本地的 python 項目中調用 ChatGPT 模型

前言

作為一名程式員,在開發過程當中時常需要使用 ChatGPT 來完成一些任務,但總是使用網頁交互模式去 Web 端訪問 ChatGPT 是很麻煩的,這時候我們可以使用代碼來調用 ChatGPT 模型,以實現在本地和 Web 端一樣的效果。

本文將演示 Python 開發語言對 ChatGPT 模型的調用,總體分為三步:

步驟一:獲取 API Key,訪問 OpenAI 官網下的 API 網站獲取自己的密鑰;
步驟二:安裝 OpenAI 第三方庫;
步驟三:使用 Python 調用 ChatGPT 模型 API。

第一步:獲取 API Key

每一個賬號在註冊成功之後都會有自己專屬的 API key。首先使用我們註冊的 ChatGPT 賬號密碼登錄 OpenAI 官網(https://platform.openai.com/overview);

登錄後進入以下界面,選擇“View API keys”;

如果我們是第一次來到該頁面,需要先自己創建 key,選擇“Create new secret key”;

創建成功後如下,屬於自己的 API key 已生成,複製使用即可。

第二步:安裝 OpenAI 第三方庫

這裡 python 安裝第三方庫需要使用到 pypi,在瀏覽器輸入“pypi”,就可以看到 Python Package Index,點擊進入;

pypi:Python Package Index 首字母簡寫,表示的是 Python 的 Packag 索引,這是 Python 的官方索引。

隨後搜索 openai,可以找到 openai 當前的庫;

我們選擇 openai 0.27.4 版本,進入。這裡面告知了我們 openai 第三方庫的安裝方式:使用命令 pip install openai。

接下來使用本地 anaconda 視窗輸入命令下載即可。 進入 anaconda 的 prompt 界面;

然後在 prompt 界面中輸入命令 pip install openai 進行第三方庫的安裝;

安裝完成之後,再使用命令 pip list 查看已安裝的包,能看到 “openai” 說明第三方庫安裝成功。

第三步:Python 開發環境中調用 ChatGPT 模型

此處基於 python 開發環境(Python 項目)來調用 OpenAI 的第三方庫,所以我們本地需要有已經搭建好的 python 開發環境,沒有 python 環境的參見此文:

來到開發工具 PyCharm,新建一個項目,界面如下:

映入眼帘的是新項目預設生成的一段入門基礎代碼,運行後會輸出 “Hi, PyCharm”,能運行成功說明我們的 python 環境是沒有問題的。

接下來在項目文件夾下創建文件夾和 .py 文件,就可以編寫代碼了;

# 1.引入必須的包
import os
import openai
# Python學習交流扣裙 279199867
# 2.獲取api-key
openai.api_key = "你自己的API-key"

# 3.使用OpenAI的API完成ChatGPT模型調用
#    model:指的就是ChatGPT模型
#    prompt:向ChatGPT提出的問題
#    max_tokens:返回的最大字元個數
response = openai.Completion.create(
  model="text-davinci-003",
  prompt="請用python語言生成一個二分法查找演算法",
  max_tokens=256,
)

# 4.列印結果
message=response.choices[0].text
print(message)

 

代碼編寫完成之後,運行此程式,可以看到已生成二分查找演算法;

ChatGPT 模型調用成功。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 性能優化是個系統性工程,巨集觀上可分為網路,服務,存儲幾個方向,每個方向又可以細分為架構,設計,代碼,可用性,度量等多個子項。 本文將重點從代碼和設計兩個子項展開,談談那些提升性能的知識點。 ...
  • 大家好,今天我們來分享業務架構,但是我們並不是以產品經理角度講述一個業務架構是什麼以及如何做?而是以一個技術架構師的角度,講述如何承接業務架構或在沒有業務架構的時候,如何判斷業務變化趨勢而對系統架構提前做出反應。 ...
  • ###很久沒有更新博客了,最近忙著接一些js的腳本外包,忙著背各種面經八股文,今天把剛剛更新了的小魚高校平臺助手相關的一些東西說明一下吧 如圖目前掛在github下的軟體的官網被bing給收錄了,github內的源碼地址也同樣被收錄其中,這讓我有一些驚喜 那麼言歸正傳關於軟體出現的一些問題進行一下答 ...
  • 天涯神貼合集(500篇):https://pan.quark.cn/s/ba1e0577bfd8 最近幾天大家應該發現天涯社區網站打不開了。 天涯社區創辦於1999年,此時的中國,互聯網產業方興未艾,那時天涯社區相當火爆。 2007年時,天涯社區的註冊用戶就突破了2000萬,號稱是全球最大的中文互聯 ...
  • JWT介紹 JWT是JSON Web Token的縮寫,即JSON Web令牌,是一種自包含令牌。 是為了在網路應用環境間傳遞聲明而執行的一種基於JSON的開放標準。 JWT的聲明一般被用來在身份提供者和服務提供者間傳遞被認證的用戶身份信息,以便於從資源伺服器獲取資源。比如用在用戶登錄上。 JWT最 ...
  • java常用類 Object類 基類,超類,所有類的直接或間接父類 object類定義的方法是所有對象都具有的方法 object類型可以存儲任何對象 作為參數,可以接受任何對象 作為返回值,可以返回任何對象 getClass() 返回引用中存儲的實際對象類型 public class Student ...
  • Nacos 是一個開源的服務發現、配置管理和服務治理平臺,是阿裡巴巴開源的一款產品。 Nacos 可以幫助開發者更好地管理微服務架構中的服務註冊、配置和發現等問題,提高系統的可靠性和可維護性。 ...
  • Python字元串替換筆記主要展示瞭如何在Python中替換字元串。Python中有以下幾種替換字元串的方法,本文主要介紹前三種。 replace方法(常用) translate方法 re.sub方法 字元串切片(根據Python字元串切片方法替換字元) 1.replace方法 Python rep ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...