TypeChat

用 TypeScript 类型定义,让大模型输出稳定可用的 JSON 数据

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 419 🐛 待处理 13 👀 关注 56
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 8692
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源库,MIT 许可证,完全免费,无付费版本。

项目预览

TypeChat 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队microsoft
定价模式🏷️完全免费
价格说明开源库,MIT 许可证,完全免费,无付费版本。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言JavaScript
技术栈/模型ai,llm,natural-language,types
GitHub 星标★ 8692
上线时间2023-06-20 00:00:00
代码更新2026-11-06
仓库体积3.1 MB
本站数据更新2026-11-08
维护状态活跃
收录时间2026-08-09
浏览次数4

项目介绍

TypeChat 是一个基于 TypeScript 的库,旨在简化自然语言接口的构建。它利用类型(types)作为约束,将用户的自由文本输入转换为结构化的、类型安全的 JSON 响应。其核心思路是:开发者定义 TypeScript 类型(即数据模式),TypeChat 借助大语言模型(LLM)将用户意图映射到这些类型上,并通过校验确保输出符合预期。它解决了传统 NLU 方案需要大量训练数据、难以维护的问题,也避免了直接使用 LLM 输出不稳定、难以集成到类型安全代码中的痛点。核心能力包括:类型驱动的提示词生成、基于 JSON Schema 的响应校验、自动修复机制(当 LLM 输出不符合类型时,自动反馈给模型修正)、以及支持自定义模型和多种交互模式。TypeChat 让开发者无需机器学习背景,即可快速构建可靠的文本交互功能,如指令解析、表单填充、意图分类等。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 8692

技术标签

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • 已安装 Node.js 与 npm(用于 npm install)
  • 一个使用 TypeScript/JavaScript 的项目工程
  • 可访问的大语言模型(LLM)服务(README 未给出具体接入配置)
  • 如需从源码构建,需要 git 以及对应语言的运行时环境

安装与启动步骤

  1. 1安装 TypeChat 库

    在 TypeScript/JavaScript 项目根目录执行,将 typechat 加入依赖。这是 README 给出的唯一正式安装方式。

    npm install typechat
  2. 2克隆源码仓库

    若想从源码使用或研究实现,先克隆仓库。README 指明可从 Python、TypeScript、C#/.NET 三处源码入手。

    git clone https://github.com/microsoft/TypeChat.git
  3. 3进入 TypeScript 源码

    README 的 TypeScript 源码说明位于 typescript/README.md,Python 版本在 python/README.md,可据此选择目录。

    cd TypeChat/typescript
  4. 4运行示例项目

    README 推荐通过 typescript/examples 下的示例项目体验,可本地运行或在 GitHub Codespace 中打开。具体启动命令请见示例目录说明。

  5. 5查阅官方文档

    README 指向官方文档站点,包含 TypeChat 的更多说明与入门指引,遇到用法问题优先查这里。

如何确认成功

在代码中能成功 import/require typechat 且不报模块缺失错误;或能按 typescript/examples 说明把示例项目跑起来。

常见问题

Q:TypeChat 只支持 TypeScript 吗?

A:不是。README 说明除 npm 安装外,还可从源码使用,提供 Python、TypeScript、C#/.NET 三个版本,入口分别在 python/README.md、typescript/README.md 及 TypeChat.net 仓库。

Q:README 里提到的 PyPI / NuGet 安装可以用吗?

A:不可以。README 中 PyPI 与 NuGet 部分是被注释掉的占位内容,当前正式给出的安装命令只有 npm install typechat。

Q:从哪里能看到 TypeChat 的实际效果?

A:README 推荐查看 typescript/examples 下的示例项目,可以下载到本地运行,也可以直接在 GitHub Codespace 中打开体验。

Q:TypeChat 和写提示词(prompt engineering)有什么区别?

A:README 称 TypeChat 用“schema engineering”替代提示词工程:先定义表示意图的 TypeScript 类型,再由它自动构造提示词并校验模型返回是否符合该模式。

注意事项

  • README 未给出 Node 版本、端口、路径等具体参数,本教程仅覆盖其明确写出的安装与源码获取方式。
  • TypeChat 是库/依赖而非独立服务,需嵌入你自己的 TypeScript 项目,并接入 LLM 才能实际调用。
  • 模型服务凭据(如 API Key)在 README 节选中没有说明,请以官方文档 https://microsoft.github.io/TypeChat 为准。

核心亮点

  • 类型即协议:用 TypeScript 类型直接定义输出结构,天然与代码集成,减少数据转换错误。
  • 自动校验与修复:内置 JSON Schema 校验,输出不合规时自动反馈给 LLM 修正,提升稳定性。
  • 零训练成本:无需标注数据和训练模型,仅靠类型定义和提示词即可实现自然语言理解。

不足之处

  • 依赖外部 LLM API,存在网络延迟和调用成本,不适合离线或低延迟场景。
  • 复杂类型和嵌套结构可能导致提示词过长,影响模型响应速度和准确性。

适用场景

  • 将自然语言指令转换为结构化操作(如智能助手、命令行工具)。
  • 从用户输入中提取结构化信息(如表单填写、信息抽取)。
  • 在类型安全的代码库中快速集成 LLM 功能,减少解析错误。

替代项目

LangChain、Semantic Kernel、PromptTools

上一篇:baml

下一篇:smile

同类项目推荐

openai-dotnet 开源

官方 .NET 库,几行代码接入 OpenAI 各类接口

The official .NET library for the OpenAI API

★ 2719 2026-10-26
ai-literacy-superpowers 开源

给 Claude Code/Copilot 装上工程化 agent 工作流

A set of Claude Code and GitHub Copilot plugins providing the AI Literacy framework'···

★ 120 2026-09-15
Agently 开源

用结构化代码快速构建 GenAI 应用,轻松切换模型

[GenAI Application Development Framework] Build GenAI application quick and easy ···

★ 1665 2026-08-09
browsercode 开源

在浏览器里直接跑 AI Agent,不用后端

The browser-native agent framework

★ 788 2026-09-13
deepagentsjs 开源

开箱即用的 TS 智能体框架,复杂任务自动拆解执行

The batteries included agent harness.

★ 1636 2026-09-12
waza 开源

把 Agent 技能当代码测,量化质量再迭代

CLI / Framework for Agent Skills - create, test, measure and improve skill quality a···

★ 1502 2026-10-13
OllamaSharp 开源

在 .NET 中几行代码调用 Ollama 模型,快速集成 AI 能力

The easiest way to use Ollama in .NET

★ 1413 2026-08-09
muse-gadget-sdk 开源

用 C 快速开发 Muse 小组件,轻量高效

Open source SDK to build Muse gadgets

★ 2631 2026-10-06
ComfyUI-ELLA 开源

在 ComfyUI 中一键接入 ELLA,让文生图更懂你的复杂提示

ELLA nodes for ComfyUI

★ 382 2026-08-09