当前位置: 首页 > article >正文

基于 OpenAI ChatGPT 3.5 的 LangGraph 对话机器人示例

基于 OpenAI ChatGPT 3.5 的 LangGraph 对话机器人示例:

# 安装依赖(如果未安装)
# pip install langgraph langchain-openai

import os
from langchain_openai import ChatOpenAI
from langgraph.graph import StateGraph, END
from typing import TypedDict, List, Dict

# ===== 1. 配置 OpenAI =====
os.environ["OPENAI_API_KEY"] = "sk-your-key-here"  # 替换为你的 API 密钥
model = ChatOpenAI(model="gpt-3.5-turbo")  # 指定模型

# ===== 2. 定义对话状态 =====
# TypedDict 的作用 这是 Python 3.8+ 引入的类型注解功能,用于定义字典的固定结构。此处 ChatState 表示一个类型化的字典,强制要求包含特定键和值类型。
# 类比理解:将 ChatState 视为一个数据容器模板:模板规则:容器必须有一个名为 history 的抽屉。抽屉内容:这个抽屉里只能放文件夹(字典),每个文件夹上必须贴有 user 或 assistant 的标签(键),标签对应的内容是字符串。
class ChatState(TypedDict):
    history: List[Dict[str, str]]  # 格式示例:[{"user": "你好"}, {"assistant": "你好!"}]

# ===== 3. 定义核心节点 =====
#  `ai_reply` 方法生成 AI 的回复
def ai_reply(state: ChatState):
    """生成 AI 回复"""
    # 提取用户最后一条消息
    last_user_msg = [msg["user"] for msg in state["history"

http://www.kler.cn/a/569170.html

相关文章:

  • Visual Studio 2022开发C++程序实现目录下重复文件查找
  • 【SpringBoot+Vue】博客项目开发二:用户登录注册模块
  • c++ 文件及基本读写总结
  • Qt之QStateMachine等待
  • 【每日八股】MySQL篇(四):索引(下)
  • 计算机毕业设计SpringBoot+Vue.js人力资源管理系统(源码+文档+PPT+讲解)
  • 【音视频】VLC播放器
  • Hive-08之数据仓库之建模、分析
  • 【Python 语法】Python 数据结构
  • Deepseek助力思维导图与流程图制作:高效出图新选择
  • LeetCode 热题100 3. 无重复字符的最长子串
  • CF 118A.String Task(Java实现)
  • Git与GitHub实战指南:从入门到高效协作
  • 华宇TAS应用中间件与统信最新版本操作系统完成兼容互认证
  • React Axios + Django 跨域解决方案详解
  • 实现 Leaflet 多类型点位标记与聚合功能的实战经验分享
  • 2025最新Nginx高频面试题
  • 数据库操作命令详解:CREATE、ALTER、DROP 的使用与实践
  • C# 装箱(Boxing)与拆箱(Unboxing)
  • fastadmin 后台商品sku(vue)