给我一个具备基础的聊天互动交互模式包含选择哪个好友并且可以通过网络接入任一聊天对话API,实现AI交互式对话。还能够能够保存每个好友的对话聊天记录,再次选择后加载的python代码我需要这样具体的整段代码直接
时间: 2023-06-16 21:06:39 浏览: 82
我可以提供一个基于Python的示例代码,展示如何选择好友、连接聊天对话API、保存聊天记录等功能。请注意,由于具体的聊天对话API可能有所不同,你需要根据自己使用的API进行相应的修改。
```python
import requests
import json
import os
# 好友列表
friends = ["小明", "小红", "小刚"]
# 聊天记录存储目录
record_dir = "./records/"
# 连接聊天对话API
def connect_api():
# TODO: 连接你使用的聊天对话API
pass
# 选择好友
def select_friend():
# 显示好友列表
print("请选择好友:")
for i, friend in enumerate(friends):
print(f"{i+1}. {friend}")
# 读取用户输入
while True:
try:
choice = int(input("请输入好友编号:"))
if choice < 1 or choice > len(friends):
raise ValueError
return friends[choice-1]
except:
print("输入有误,请重新输入!")
# 发送消息
def send_message(api, friend, message):
# TODO: 发送消息到聊天对话API
pass
# 接收消息
def receive_message(api):
# TODO: 从聊天对话API中接收消息
pass
# 保存聊天记录
def save_record(friend, message):
# 确定聊天记录文件名
filename = record_dir + friend + ".txt"
# 创建存储目录
if not os.path.exists(record_dir):
os.makedirs(record_dir)
# 保存聊天记录
with open(filename, "a", encoding="utf-8") as f:
f.write(message + "\n")
# 加载聊天记录
def load_record(friend):
# 确定聊天记录文件名
filename = record_dir + friend + ".txt"
# 读取聊天记录
if os.path.exists(filename):
with open(filename, "r", encoding="utf-8") as f:
return f.read()
else:
return ""
# 主函数
def main():
# 连接聊天对话API
api = connect_api()
# 选择好友
friend = select_friend()
# 加载聊天记录
record = load_record(friend)
# 显示聊天记录
print(record)
# 循环进行对话
while True:
# 发送消息
message = input("我:")
send_message(api, friend, message)
# 接收消息
message = receive_message(api)
print(f"{friend}:{message}")
# 保存聊天记录
save_record(friend, message)
if __name__ == "__main__":
main()
```
在这个示例代码中,我们首先定义了好友列表和聊天记录存储目录,然后实现了连接聊天对话API、选择好友、发送消息、接收消息、保存聊天记录和加载聊天记录等函数。最后,在主函数中循环进行对话,并调用相应的函数实现各种功能。你需要根据自己的需求修改相应的函数,以适配你使用的聊天对话API。
阅读全文