“我想拥有一个专属于我的聊天机器人,
它能懂得我说的话,接收我的情绪,陪伴着我......”
代码分解
⬇️⬇️⬇️
streamlit
:创建一个用户友好的网络应用程序界面langchain_openai
:通过 LangChain 实现与 ChatGPT 的交互langchain_core.messages
:提供用于构建对话历史记录的消息对象类
Python
此部分设置 Web 应用程序的标题、图标和布局
标题为聊天机器人界面创建了一个标题
3. Session State Initialization:
Python
此代码检查 Streamlit 会话状态中是否存在“sessionMessages”键 如果没有,它会初始化一个空列表来存储对话消息 然后它添加来自聊天机器人的开始消息
4. load_answer Function:
Python
该函数将用户问题作为输入
它将问题作为 HumanMessage 对象添加到消息历史记录中
然后它调用chat函数(稍后定义)来处理带有上下文的问题
该函数从响应对象中提取答案内容并返回
最后,它将聊天机器人的响应作为 AIMessage 对象添加到消息历史记录中
5. get_text Function:
Python
此功能创建一个文本输入字段,供用户输入他们的问题。
它设置一个占位符文本“You: ”和一个输入元素的唯一键。
然后该函数返回用户输入的文本
6. ChatOpenAI Initialization:
Python
此行ChatOpenAI从 LangChain 创建一个实例以与 ChatGPT 进行交互
用您的实际 ChatGPT API 密钥替换“API_KEY”
temperature设置为 0,以获得更加真实和可控的响应方式
7. User Input:
Python
此行调用get_text函数来检索用户的问题
8. Generate Button:
Python
此代码创建一个标有“生成”的按钮
单击按钮将触发条件语句
如果用户输入了一些文本,它会调用该load_answer函数来处理它
然后,ChatGPT 的回复将显示在“答案”子标题下
如果用户单击按钮时输入的内容为空,则会出现警告消息
9. Conversation History:
Python
此部分显示对话历史记录
它遍历会话中的消息列表
🧑💻学会了吗?
想了解更多关于澳洲IT圈的最新消息欢迎扫码进群~