调用open.ai接口实现人工智能对话

1.环境需要魔法

2.需要chatgpt账号

效果如下:

这是无界面的版本:

 

代码如下版本1 :

import openai
import tkinter as tk

def openai_reply(messages, apikey):
    openai.api_key = apikey
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo-0301",
        messages=messages,
        temperature=0.5,
        max_tokens=1000,
        top_p=1,
        frequency_penalty=0,
        presence_penalty=0,
    )
    return response.choices[0].message.content

def send_message():
    user_input = user_input_entry.get()
    conversation.append({"role": "user", "content": user_input})
    ans = openai_reply(conversation, '你的密钥')
    conversation.append({"role": "assistant", "content": ans})
    chat_text.config(state=tk.NORMAL)
    chat_text.insert(tk.END, "你: " + user_input + "\n")
    chat_text.insert(tk.END, "助手: " + ans + "\n")
    chat_text.config(state=tk.DISABLED)
    user_input_entry.delete(0, tk.END)

conversation = [
    {"role": "system", "content": "你是一个有帮助的助手。"},
]

# 创建GUI窗口
window = tk.Tk()
window.title("AL聊天")

# 创建聊天历史显示区域
chat_text = tk.Text(window, state=tk.DISABLED)
chat_text.pack()

# 创建用户输入框和发送按钮
user_input_entry = tk.Entry(window)
user_input_entry.pack()
send_button = tk.Button(window, text="发送", command=send_message)
send_button.pack()

window.mainloop()

版本2:

import openai

def openai_reply(messages, apikey):
    openai.api_key = apikey
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo-0301",
        messages=messages,
        temperature=0.5,
        max_tokens=1000,
        top_p=1,
        frequency_penalty=0,
        presence_penalty=0,
    )
    return response.choices[0].message.content

if __name__ == '__main__':
    conversation = [
        {"role": "system", "content": "你是一个有帮助的助手。"},
    ]

    while True:
        user_input = input("你: ")
        conversation.append({"role": "user", "content": user_input})

        # 生成助手的回复
        ans = openai_reply(conversation, '你的密钥')
        print("助手:", ans)

        # 将助手的回复添加到对话中
        conversation.append({"role": "机器人", "content": ans})

 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
调用OpenAI接口实现多轮对话,您需要遵循以下步骤: 1. 注册OpenAI账户并获取API密钥。 2. 使用适当的编程语言(如Python)编写代码,以调用OpenAI API并处理响应。 3. 设计一个对话流程,以便处理多轮对话。这可能包括跟踪上下文,确定下一步应该做什么,以及生成响应。 4. 在每个轮次中,向OpenAI API发送用户输入,并解析返回的响应。 5. 使用生成的响应来回答用户,并在必要时跟踪上下文。 6. 在对话完成后,关闭API连接并保存任何需要保存的数据。 以下是一个使用Python实现多轮对话的示例代码: ```python import openai import time # 设置API密钥 openai.api_key = "YOUR_API_KEY" # 设计对话流程 def get_response(prompt, model, temperature=0.5): response = openai.Completion.create( engine=model, prompt=prompt, temperature=temperature, max_tokens=1024, n=1, stop=None, timeout=60, ) return response.choices[0].text.strip() # 处理对话 def run_dialogue(model): context = "" while True: user_input = input("You: ") if user_input.lower() == "exit": break prompt = f"{context}User: {user_input}\nAI:" response = get_response(prompt, model) print("AI: " + response) context += f"User: {user_input}\nAI: {response}\n" # 主函数 def main(): # 选择模型 model = "davinci" print(f"Using {model} model") # 运行对话 run_dialogue(model) if __name__ == "__main__": main() ``` 该代码使用OpenAI API来生成对话响应。它使用一个简单的上下文变量来跟踪对话历史记录,并要求用户输入来开始每个新轮次。您可以根据需要修改该代码以适应您的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值