Pywayne Llm Chat Bot

💬 OpenAI 兼容对话 SDK,流式多轮一键搞定

OpenAI 兼容的同步 LLM 对话 SDK,支持流式输出、多轮会话管理与多用户隔离,适合快速集成大模型能力。

收藏
4.1k
安装
987
版本
0.1.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

pywayne-llm-chat-bot 是一个面向 OpenAI 兼容 API(含 Ollama 等本地部署)的同步 Python SDK,封装了对话、配置与会话管理三大能力。

基础对话:通过 LLMChat 类实例化后,调用 ask() 进行无状态单轮请求,或 chat() 进行带历史记录的多轮对话。两者均支持 stream=True 开启逐字流式输出,适配实时交互场景。

配置管理LLMConfig 类集中管理 temperaturemax_tokenstop_p 等生成参数,以及 system_prompt 系统角色设定,可通过 to_dict() 快速序列化注入 LLMChat

会话隔离ChatManager 提供基于 chat_id 的多实例缓存与生命周期管理,支持按用户/会话维度独立维护对话历史,并可配置 timeout 自动清理过期会话,适合多租户或长连接场景。

显著优点

  • API 兼容性强:原生支持 OpenAI 标准接口及 Ollama 等本地方案,迁移成本低。
  • 流式体验完整:迭代器式 for token in chat.ask() 设计,内存友好且易于嵌入前端。
  • 会话管理内建ChatManager 免除了自建键值存储与过期逻辑的繁琐,开箱即用。
  • 配置粒度灵活:全局默认配置与单会话 LLMConfig 覆盖并存,兼顾一致性与个性化。

潜在缺点与局限性

  • 仅支持同步:未提供异步接口,在高并发服务端场景需配合线程池或 asyncio.to_thread 包装。
  • 历史存储在内存ChatManager 基于字典缓存,进程重启或单节点部署外扩时需额外对接 Redis 等持久化层。
  • 重试与容错缺失:文档未展示指数退避、网络异常降级等策略,生产环境需自行封装。
  • 依赖外部服务:所有功能绑定 OpenAI 格式端点,无法离线运行。

适合人群

  • 需要快速原型验证 LLM 对话的 Python 开发者
  • 构建多用户聊天机器人、客服系统的中后台工程师
  • 在 Ollama/DeepSeek/智谱等 OpenAI 兼容服务间切换的迁移用户

常规风险

  • 密钥泄露api_key 以明文传入,需避免硬编码或日志打印。
  • 无输入校验ask()/chat() 未内置敏感词过滤或 Prompt 注入防护,需上游网关拦截。
  • Token 超限max_tokens 与上下文长度需与服务端模型对齐,否则可能触发截断或报错。
  • 会话膨胀ChatManager 未设默认过期时间,高并发下内存持续增长,建议显式配置 timeout 并监控。

Pywayne Llm Chat Bot 内容

手动下载zip · 3.0 kB
skill-card.mdtext/markdown
请选择文件