概述
想用代码方式,观察一个中文token代表中文的什么内容,下面以代码的方式实战给大家看。
1. 代码
import os
from langchain_openai import ChatOpenAI
from langchain.callbacks.base import BaseCallbackHandler
# 自定义回调处理器
class CustomCallbackHandler(BaseCallbackHandler):
def on_llm_new_token(self, token: str, **kwargs) -> None:
print('token: ', token)
# 设置 OpenAI API 密钥
# os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
# 创建一个带有自定义回调的 ChatOpenAI 实例
llm = ChatOpenAI(
streaming=True,
callbacks=[CustomCallbackHandler()],
temperature=0
)
# 输入提示
# prompt = "请描述一下未来的城市交通。"
prompt = "中国的首都是哪里?"
# 调用语言模型并打印每个 token
response = llm.invoke(prompt)
print("-------response start-------")
print(response)
2. 输出
token:
token: 中国
token: 的
token: 首
token: 都
token: 是
token: 北京
token: 。
token:
-------response start-------
content='中国的首都是北京。' additional_kwargs={} response_metadata={'finish_reason': 'stop', 'model_name': 'gpt-3.5-turbo-0125', 'system_fingerprint': 'fp_0165350fbb'} id='run-6d6b3902-47da-44b7-89a1-2b8f53699cd3-0' usage_metadata={'input_tokens': 0, 'output_tokens': 0, 'total_tokens': 0, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0}}
C:\ProgramData\anaconda3\envs\gptLearning\python.exe E:\workspace\gptLearning\gptLearning\ls02\lessson7_token.py
token:
token: 未
token: 来
token: 的
token: 城
token: 市
token: 交
token: 通
token: 将
token: 更
token: 加
token: 智
token: 能
token: 化
token: 、
token: 高
token: 效
token: 化
token: 和
token: 环
token: 保
token: 。
token: 首
token: 先
token: ,
token: 自
token: 动
token: 驾
token: 驶
token: 技
token: 术
token: 将
token: 得
token: 到
token: 广
token: 泛
token: 应
token: 用
token: ,
token: 车
token: 辆
token: 之
token: 间
token: 可以
token: 实
token: 现
token: 无
token: 缝
token: 通
token: 信
token: 和
token: 协
token: 同
token: 驾
token: 驶
token: ,
token: 大
token: 大
token: 减
token: 少
token: 交
token: 通
token: 事
token: 故
token: 的
token: 发
token: 生
token: 。
token: 其
token: 次
token: ,
token: 共
token: 享
token: 出
token: 行
token: 模
token: 式
token: 将
token: 更
token: 加
token: 普
token: 及
token: ,
token: 人
token: 们
token: 可以
token: 通过
token: 手机
token: APP
token: 实
token: 时
token: 查
token: 找
token: 最
token: 优
token: 出
token: 行
token: 方
token: 案
token: ,
token: 包
token: 括
token: 共
token: 享
token: 单
token: 车
token: 、
token: 共
token: 享
token: 汽
token: 车
token: 、
token: 公
token: 共
token: 交
token: 通
token: 等
token: ,
token: 减
token: 少
token: 私
token: 家
token: 车
token: 使用
token: ,
token: 缓
token: 解
token: 交
token: 通
token: 拥
token: 堵
token: 问题
token: 。
token: 再
token: 者
token: ,
token: 电
token: 动
token: 汽
token: 车
token: 将
token: 成
token: 为
token: 主
token: 流
token: ,
token: 减
token: 少
token: 尾
token: 气
token: 排
token: 放
token: ,
token: 改
token: 善
token: 空
token: 气
token: 质
token: 量
token: 。
token: 此
token: 外
token: ,
token: 城
token: 市
token: 将
token: 建
token: 设
token: 更
token: 多
token: 的
token: 自
token: 行
token: 车
token: 道
token: 和
token: 步
token: 行
token: 街
token: ,
token: 鼓
token: 励
token: 人
token: 们
token: 选择
token: 环
token: 保
token: 的
token: 出
token: 行
token: 方式
token: ,
token: 减
token: 少
token: 对
token: 环
token: 境
token: 的
token: 影
token: 响
token: 。
token: 总
token: 的
token: 来
token: 说
token: ,
token: 未
token: 来
token: 的
token: 城
token: 市
token: 交
token: 通
token: 将
token: 更
token: 加
token: 便
token: 捷
token: 、
token: 舒
token: 适
token: 、
token: 安
token: 全
token: 和
token: 环
token: 保
token: 。
token:
-------response start-------
content='未来的城市交通将更加智能化、高效化和环保。首先,自动驾驶技术将得到广泛应用,车辆之间可以实现无缝通信和协同驾驶,大大减少交通事故的发生。其次,共享出行模式将更加普及,人们可以通过手机APP实时查找最优出行方案,包括共享单车、共享汽车、公共交通等,减少私家车使用,缓解交通拥堵问题。再者,电动汽车将成为主流,减少尾气排放,改善空气质量。此外,城市将建设更多的自行车道和步行街,鼓励人们选择环保的出行方式,减少对环境的影响。总的来说,未来的城市交通将更加便捷、舒适、安全和环保。' additional_kwargs={} response_metadata={'finish_reason': 'stop', 'model_name': 'gpt-3.5-turbo-0125', 'system_fingerprint': 'fp_0165350fbb'} id='run-2a010e18-70de-40cf-95f3-422cab82db4e-0' usage_metadata={'input_tokens': 0, 'output_tokens': 0, 'total_tokens': 0, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0}}
Process finished with exit code 0