LangChain

用 C# 直接搭 LLM 应用,不切 Python

LangChain 的 C# 实现,面向 .NET 开发者提供构建大语言模型应用的完整抽象层。它把提示词模板、模型调用、输出解析、链式编排、记忆管理、检索增强生成(RAG)、Agent 与工具调用等能力封装成 C# 类库,让习惯 .NET 生态的团队不必切换到 Python 就能开发 LLM 应用。项目尽量对齐原版 LangChain 的概念与命名,降低跨语言迁移成本,同时允许引入 C# 特有的新实体。核心价值在于打通 OpenAI 等模型服务与 .NET 现有业务代码,支持依赖注入、异步编程和强类型,适合企业级后端、桌面与服务端集成场景。

开源 free 开发框架
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1074
维护状态 活跃
是否开源
定价模式 free

项目数据

分类开发框架
开发团队tryAGI
所属国家
定价模式free
价格说明开源免费,MIT许可证
访问状态
是否开源
开源协议MIT
主要语言C#
技术栈/模型ai,csharp,dotnet,langchain,langchain-csharp,langchain-dotnet,llm,openai,sdk
GitHub 星标★ 1074
30天Star增速
HF 下载量
上线时间2023-06-03 00:00:00
最近更新2026-09-13 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-12
浏览次数0

使用教程

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

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • 已安装 .NET SDK,可用 dotnet 命令(项目为 C#/.NET 实现)
  • 有效的 OpenAI API Key,并可通过环境变量 OPENAI_API_KEY 传入
  • NuGet 依赖:LangChain、LangChain.Databases.Sqlite、LangChain.DocumentLoaders.Pdf
  • 可访问外网(首次运行需下载示例 PDF 并请求 OpenAI 接口)

安装与启动步骤

  1. 1确认 .NET 环境

    README 未给出安装章节,项目是 C#/.NET 实现,先确认本机已装 .NET SDK 且 dotnet 命令可用。

    dotnet --version
  2. 2设置 API 密钥

    README 示例通过环境变量 OPENAI_API_KEY 初始化 OpenAiProvider,未设置会直接抛异常,需先导出。

    export OPENAI_API_KEY=sk-xxxxxxxx
  3. 3安装依赖包

    README 示例明确标注三个依赖包:LangChain、LangChain.Databases.Sqlite、LangChain.DocumentLoaders.Pdf,依次添加。

    dotnet add package LangChain
    dotnet add package LangChain.Databases.Sqlite
    dotnet add package LangChain.DocumentLoaders.Pdf
  4. 4编写示例代码

    按 README 示例初始化 OpenAiProvider、OpenAiLatestFastChatModel、TextEmbeddingV3SmallModel 和 SqLiteVectorDatabase 并写入 Program。

  5. 5运行程序

    首次运行会下载 PDF、生成 embedding 并写入 vectors.db,耗时与费用均高于后续重跑,请耐心等待。

    dotnet run

关键配置

配置项必填说明示例
OPENAI_API_KEYOpenAiProvider 读取的环境变量,缺失会抛异常sk-xxxxxxxx
dataSource(vectors.db)SQLite 向量库文件路径,不存在会自动创建vectors.db
dimensions向量维度,TextEmbeddingV3SmallModel 必须为 15361536
collectionName集合名,仅在需要多个集合时填写harrypotter
textSplitter文本切分器,默认 CharacterTextSplitter(ChunkSize=4000, ChunkOverlap=200)null

如何确认成功

控制台打印出 LLM answer: The cloaked figure.,并输出 Chain Answer 以及 LLM 与 embedding 的 usage 费用统计,即表示运行成功。

常见问题

Q:报错 OPENAI_API_KEY is not set 怎么办?

A:说明环境变量未生效。请在与运行程序同一个终端里设置 export OPENAI_API_KEY=sk-xxxxxxxx(Windows 用 $env:OPENAI_API_KEY="sk-xxxxxxxx")后再运行。

Q:首次运行为什么慢且会产生费用?

A:README 注明首次需从零创建 embedding 并请求 LLM,约花费 0.015 美元;向量库已存在时重跑仅约 0.0004 美元。

Q:检索时报向量维度不匹配?

A:TextEmbeddingV3SmallModel 的 dimensions 必须是 1536,示例已固定该值;若更换 embedding 模型,需同步修改 dimensions。

Q:wiki 上的代码和实际不一致怎么办?

A:README 建议以仓库内 src/Meta/test/WikiTests.cs、examples 目录和集成测试 ReadmeTests.cs 中的代码为准。

注意事项

  • README 没有正式的安装章节,上述安装命令按 .NET 项目常规方式推断,具体以官网 wiki 为准。
  • 示例全程依赖 OpenAI 接口,需要可用密钥和稳定网络。
  • 向量库文件 vectors.db 会缓存在本地,重复运行可显著降低成本与时间。

核心亮点

  • API 抽象对齐 Python 版 LangChain,概念迁移成本低
  • 原生 C#/.NET 实现,支持 async、依赖注入与强类型,易融入现有后端
  • 覆盖提示模板、链、记忆、RAG、Agent 等主流 LLM 应用模式

不足之处

  • 生态与第三方集成数量不及 Python 版 LangChain
  • 版本迭代较快,部分抽象可能随上游调整而变化

适用场景

  • 在 ASP.NET Core 后端集成 OpenAI 做智能问答接口
  • 为 .NET 企业系统添加基于知识库的 RAG 检索问答
  • 用 C# 编写带工具调用的 Agent 自动化业务流程

替代项目

Semantic Kernel、LangChain

项目介绍

LangChain 是开发框架领域的开源项目,由 tryAGI 开发,2023 年首次发布。

在全站 12,753 个收录项目中,它的 GitHub 星标数(1,074)位列前 30%,在开发框架分类中处于中上游。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-13。开源免费,MIT许可证。

它主要面向的使用场景是:在ASP.NETCore后端集成OpenAI做智能问答接口。同类可对比的替代方案包括 Semantic Kernel、LangChain。

上一篇:chat-gun

下一篇:langchainjs

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146676 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166369 2026-08-09
bruno 开源

把 API 测试当代码管理,用 Git 搞定协作与版本追踪

Opensource IDE For Exploring and Testing API's (lightweight alternative to Postman/I···

★ 47057 2026-08-12