效果图
废话不多说直接上代码
代码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服务
发布评论