效果图
废话不多说直接上代码
代码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.com/examples
# 可以在这里设置引擎内容,如何找具体对应的引擎,看第三张照片,并且页面下滑,还有对应的demo
model_engine = "text-davinci-003"