LangChain

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开发框架 🍴 复刻 147 🐛 待处理 51 👀 关注 29
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1080
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,MIT许可证

项目预览

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

项目数据

分类开发框架
开发团队tryAGI
定价模式🏷️完全免费
价格说明开源免费,MIT许可证
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言C#
技术栈/模型ai,csharp,dotnet,langchain,langchain-csharp,langchain-dotnet,llm,openai,sdk
GitHub 星标★ 1080
上线时间2023-06-03 00:00:00
代码更新2026-11-02
仓库体积5.9 MB
本站数据更新2026-11-05
维护状态活跃
收录时间2026-09-12
浏览次数2

项目介绍

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

Star 增长趋势

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

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

技术标签

使用教程

⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。

难度:入门 约 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_KEY是OpenAiProvider 读取的环境变量,缺失会抛异常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

上一篇:chat-gun

下一篇:langchainjs

同类项目推荐

nlp.js 开源

用 JavaScript 快速构建能理解意图的聊天机器人

An NLP library for building bots, with entity extraction, sentiment analysis, automa···

★ 6577 2026-08-09
smile 开源

Java开发者一站式机器学习工具箱,高效构建智能应用

Statistical Machine Intelligence & Learning Engine

★ 6429 2026-08-09
Awesome-AI-Memory 开源

一站式掌握大模型记忆技术,从研究到落地。

Awesome AI Memory | LLM Memory | A curated knowledge base on AI memory for LLMs and ···

★ 1302 2026-08-09
llm-agents.nix 开源

用 Nix 一键装齐 AI 编程代理,版本锁定每天自动更新

Nix packages for AI coding agents and development tools. Automatically updated daily···

★ 2235 2026-09-16
haystack 开源

搭积木式编排 LLM 应用,从原型到生产一步到位。

Open-source AI orchestration framework for building context-engineered, production-r···

★ 26926 2026-08-09
ontogpt 开源

用大模型从文本中自动抽取结构化知识,构建本体图谱

LLM-based ontological extraction tools, including SPIRES

★ 1086 2026-08-09
botman 开源

用 PHP 一套代码,快速接入多平台聊天机器人。

A framework agnostic PHP library to build chat bots

★ 6147 2026-08-09
swift-ios-skills 开源

让 AI 写出更地道的 SwiftUI 代码,适配 iOS 26 新特性。

Agent Skills for iOS 26+, Swift 6.3, SwiftUI, and modern Apple frameworks

★ 1271 2026-08-09
LazyMind 开源

自托管 AI 技能运行时,知识工作全流程自己掌控

An AI Skill Runtime for knowledge-intensive work which makes everything under your c···

★ 564 2026-10-15