Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memanggil antara muka GPT3.5 dalam Python

Bagaimana untuk memanggil antara muka GPT3.5 dalam Python

PHPz
PHPzke hadapan
2023-05-02 18:25:074368semak imbas

Kaedah panggilan antara muka GPT3.5 terutamanya merangkumi empat bahagian: pemasangan openai, penggantian api_requestor.py, panggilan antara muka dan contoh penerangan program.

1 pemasangan openai

Pustaka openai Python boleh dipasang terus melalui pip install openai. Jika openai telah dipasang, tetapi gesaan berikutnya menunjukkan bahawa ChatCompletion tidak dapat ditemui, sila gunakan arahan "pip install -U openai" untuk menaik taraf openai.

2 api_requestor.py menggantikan

Selepas Python openai dipasang, fail api_requestor.py akan dijanakan dalam direktori fail perpustakaan persekitaran python "site-packagesopenaiapi_requestor.py" , seperti yang ditunjukkan di bawah. Gantikan fail dan balas api35 pada akaun awam Lele Sensing School untuk mendapatkan fail untuk penggantian.

Windows:
C:ProgramDataAnaconda3Libsite-packagesopenaiapi_requestor.py
atau
C:ProgramDataAnaconda3envsxxxlibsite-packagesopenaiapi_requestor.py
🎜/miniux
🎜 pythonxx/site-packages/openaiapi_requestor.py
atau
/root/miniconda3/envs/xxx/lib/pythonxx/site-packages/openaiapi_requestor.py
Ganti fail ini dalam akaun awam Lele Reply api35 in Sekolah Persepsi untuk mendapatkan fail untuk penggantian.

3 Arahan panggilan antara muka

Kaedah panggilan antara muka kekal tidak berubah dan konsisten dengan kaedah panggilan openai sendiri. Terdapat terutamanya 7 parameter dalam input.

(1) model: nama model, gpt-3.5-turbo atau gpt-3.5-turbo-0301

(2) mesej: soalan atau kandungan yang perlu dilengkapkan, yang diserlahkan di bawah.

(3) Suhu: Mengawal rawak keputusan 0.0 bermakna keputusan tetap Jika rawak tinggi, ia boleh ditetapkan kepada 0.9.

(4) max_tokens: Bilangan maksimum perkataan yang dikembalikan (termasuk soalan dan jawapan Biasanya aksara Cina merangkumi dua token). Andaikan ia ditetapkan kepada 100. Jika terdapat 40 aksara Cina dalam soalan segera, maka hasil yang dikembalikan akan termasuk sehingga 10 aksara Cina. Bilangan maksimum token yang dibenarkan oleh ChatGPT API ialah 4096, iaitu tetapan maksimum max_tokens ialah 4096 tolak bilangan token dalam soalan.

(5) top_p: Tetapkan kepada 1.

(6) frequency_penalty: Hanya tetapkan kepada 0.

(7) Presence_penalty: Hanya tetapkan kepada 0.

(8) strim: Kawal output berterusan atau output lengkap.

Perlu diingat bahawa parameter input di atas menambah strim, iaitu, sama ada untuk menggunakan kaedah aliran kawalan untuk mengeluarkan.

Jika nilai strim adalah Palsu, maka semua hasil teks akan dikembalikan sepenuhnya, yang boleh dibaca melalui response.choices[0].delta['content']. Walau bagaimanapun, lebih banyak bilangan perkataan, lebih lama masa menunggu untuk pemulangan Masa boleh merujuk kepada 4 perkataan/saat apabila membaca aliran kawalan. Jika nilai stim adalah Benar, hasil yang dikembalikan ialah penjana Python, dan hasilnya perlu diperolehi melalui lelaran Purata adalah kira-kira 4 perkataan sesaat (134 perkataan dalam 33 saat, 157 perkataan dalam 39 saat). Program membaca adalah seperti berikut.

4 mesej

Medan mesej terdiri daripada dua bahagian: peranan dan kandungan, seperti yang ditunjukkan di bawah:

  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?"}
    ]

Dalam gpt- Dalam 3.5 -model turbo, peranan termasuk tiga jenis: sistem, pembantu dan pengguna. Peranan Sistem adalah setara dengan memberitahu ChatGPT peranan yang hendak digunakan untuk menjawab soalan Anda perlu menentukan peranan dan kandungan soalan tertentu dalam kandungan. Perbezaan utama gpt-3.5-turbo-0301 ialah ia memberi lebih perhatian kepada kandungan masalah dan tidak memberi perhatian khusus kepada bahagian peranan tertentu. Model gpt-3.5-turbo-0301 sah sehingga 1 Jun dan gpt-3.5-turbo akan terus dikemas kini.

Penolong pembantu dan pengguna pengguna adalah setara dengan menentukan peranan dan kandungan boleh ditulis terus ke dalam isu yang menjadi perhatian.

5 Contoh program

(1) strim = Palsu

import openai
 
def openai_reply(content, apikey):
    openai.api_key = apikey
    response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo-0301",#gpt-3.5-turbo-0301
    messages=[
    {"role": "user", "content": content}
    ],
    temperature=0.5,
    max_tokens=1000,
    top_p=1,
    frequency_penalty=0,
    presence_penalty=0,
    )
    # print(response)
    return response.choices[0].message.content
 
 
if __name__ == '__main__':
    content = '你是谁?'
    ans = openai_reply(content, '你的APIKEY')
    print(ans)

(2) strim = Benar

import time
import openai
 
openai.api_key = "你的APIKEY"
response = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "user", "content": 'how are you'}
    ],
  temperature=0,
  max_tokens=1000,
  stream=True,
  top_p=1,
  frequency_penalty=0,
  presence_penalty=0,
  user='RdFast智能创作机器人小程序'
)
 
print(response)
print('response["choices"][0]["text"]结果如下所示:')
ans = ''
for r in response:
    if 'content' in r.choices[0].delta:
      ans += r.choices[0].delta['content']
      print(ans)
 
print(ans)

3 kesan panggilan API

Bagaimana untuk memanggil antara muka GPT3.5 dalam Python

Atas ialah kandungan terperinci Bagaimana untuk memanggil antara muka GPT3.5 dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam