效果图

废话不多说直接上代码

代码1:后端纯净代码

import openai
import time

# 定义 OpenAI API key
openai.api_key = "请在此输入你的key"
# 定义模型 ID
model_engine = "text-davinci-003"
# 定义对话历史记录
conversation_history = []

# 定义聊天函数
def chat(prompt):
    # 获取 OpenAI 的 GPT 模型的响应
    response = openai.Completion.create(
        #输入需要使用的引擎
        engine=model_engine,
        #输入发给openai的内容
        prompt=prompt,
        temperature=0.7,
        #这个模型最大4096个token好像,可以设置大一点
        max_tokens=3400,
        n=1,
        stop=None,
        frequency_penalty=0,
        presence_penalty=0
    )
    message = response.choices[0].text.strip()
    # 将聊天历史记录添加到会话历史记录中
    conversation_history.append(message)
    # 返回模型的文本响应
    return message


# 测试聊天函数
while True:
    # 获取用户输入的信息
    user_input = input("请输入问题: ")

    # 结束对话的条件
    if user_input.lower() == "exit":
        break

    # 聊天并打印模型的响应
    response = chat(user_input)
    print("ChatGPT: " + response)
    time.sleep(1)

代码2:包含前端代码

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import gradio as gr
import openai
import time
# 定义 OpenAI API key
openai.api_key = "请输入你的key"
# 定义模型 ID
model_engine = "text-davinci-003"
# 定义对话历史记录
conversation_history = []
# 定义聊天函数
def chat(prompt):
    # 获取 OpenAI 的 GPT 模型的响应
    response = openai.Completion.create(
        #输入需要使用的引擎
        engine=model_engine,
        #输入发给openai的内容
        prompt=prompt,
        temperature=0.7,
        #这个模型最大4096个token好像,可以设置大一点
        max_tokens=3400,
        n=1,
        stop=None,
        frequency_penalty=0,
        presence_penalty=0
    )
    message = response.choices[0].text.strip()
    # 将聊天历史记录添加到会话历史记录中
    conversation_history.append(message)
    # 返回模型的文本响应
    return message
#输出接口
def greet(name):
    response = chat(name)
    time.sleep(1)
    return "ChatGtp:" + response
if __name__ == '__main__':
    iface = gr.Interface(fn=greet, inputs=[
        gr.Textbox(placeholder='请输入您想问chatgtp的问题',
                   label="您想问ChatGtp什么问题?",
                   lines=3),
    ], outputs=[
        gr.Textbox(
            lines=15
        )
    ])
    iface.launch(share=True)

介绍

1.使用的技术

openai相关接口+gradio(图形技术+自动获取域名)

2.模型(引擎)

官方发布了很多引擎,但是只有chatgtp是整个这下面所有引擎的,所以目前只可以使用其中一种。
https://platform.openai/examples

# 可以在这里设置引擎内容,如何找具体对应的引擎,看第三张照片,并且页面下滑,还有对应的demo
model_engine = "text-davinci-003"



更多推荐

50行不到的代码,实现自己的ChatGPT服务