Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

第 18 章 OpenAI

目录

18.1. ChatGPT
18.1.1. openai api 1.0
18.1.2. gpt-3.5-turbo
18.1.3. 流式输出
18.2. Embedding

18.1. ChatGPT

18.1.1. openai api 1.0

			
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
##############################################
# Home	: https://www.netkiller.cn
# Author: Neo <netkiller@msn.com>
# Upgrade: 2024-01-30
##############################################
import os
from openai import OpenAI

# from openai import request
# from requests import request

api_key = os.getenv("OPENAI_API_KEY","sk-UB5SdJmT3BlbkFJnPC9GjYuEHzyuotulWBFgY0sAQ70vTnKr")

question = "netkiller 陈景峰是谁?他写了那些电子书?"

client = OpenAI(api_key=api_key)
response = client.chat.completions.create(
    # model="gpt-3.5-turbo",
    model="gpt-4",
    messages=[{"role": "user", "content": question}],
    temperature=1,
    stream=True,
)

print(f"问题:{question}")

for chunk in response:
    #print(chunk)
    content = chunk.choices[0].delta.content
    if content is not None:
        print(content, end="")
			
			

18.1.2. gpt-3.5-turbo

			
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
##############################################
# Home	: https://www.netkiller.cn
# Author: Neo <netkiller@msn.com>
# Upgrade: 2023-06-25
##############################################
import os
import openai

# openai.api_key = os.getenv("OPENAI_API_KEY")
openai.api_key = "sk-DNsMaVmxxIm3Xp7ZTZrZw2mcGgDF1nev5OT3BlbkFJ8wb3Y8"

completion = openai.ChatCompletion.create(
    model="gpt-3.5-turbo", messages=[{"role": "user", "content": "谁是netkiller?"}]
)
print(openai.Model.list())
print(completion)
response = completion.choices[0].message.content
print(response)	
			
			

18.1.3. 流式输出

			
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
##############################################
# Home	: https://www.netkiller.cn
# Author: Neo <netkiller@msn.com>
# Upgrade: 2023-10-07
##############################################
import openai

# openai.api_key = os.getenv("OPENAI_API_KEY")
openai.api_key = "sk-UB5SdJmlbkFJnPC9GjYuY0sAEHzyuotulWBFgT3BQ70vTnKr"

question = "netkiller 写了那些电子书?"

response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[{"role": "user", "content": question}],
    stream=True,
)

print(f"问题:{question}")

for chunk in response:
    content = chunk["choices"][0].get("delta", {}).get("content")
    if content is not None:
        print(content, end="")

print()