项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-12 · 当前星标 ★ 1080
使用教程
⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。
⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。
环境要求
- 已安装 .NET SDK,可用 dotnet 命令(项目为 C#/.NET 实现)
- 有效的 OpenAI API Key,并可通过环境变量 OPENAI_API_KEY 传入
- NuGet 依赖:LangChain、LangChain.Databases.Sqlite、LangChain.DocumentLoaders.Pdf
- 可访问外网(首次运行需下载示例 PDF 并请求 OpenAI 接口)
安装与启动步骤
-
1确认 .NET 环境
README 未给出安装章节,项目是 C#/.NET 实现,先确认本机已装 .NET SDK 且 dotnet 命令可用。
dotnet --version -
2设置 API 密钥
README 示例通过环境变量 OPENAI_API_KEY 初始化 OpenAiProvider,未设置会直接抛异常,需先导出。
export OPENAI_API_KEY=sk-xxxxxxxx -
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编写示例代码
按 README 示例初始化 OpenAiProvider、OpenAiLatestFastChatModel、TextEmbeddingV3SmallModel 和 SqLiteVectorDatabase 并写入 Program。
-
5运行程序
首次运行会下载 PDF、生成 embedding 并写入 vectors.db,耗时与费用均高于后续重跑,请耐心等待。
dotnet run
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 是 | OpenAiProvider 读取的环境变量,缺失会抛异常 | sk-xxxxxxxx |
dataSource(vectors.db) | 否 | SQLite 向量库文件路径,不存在会自动创建 | vectors.db |
dimensions | 否 | 向量维度,TextEmbeddingV3SmallModel 必须为 1536 | 1536 |
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···
smile
开源
Java开发者一站式机器学习工具箱,高效构建智能应用
Statistical Machine Intelligence & Learning Engine
Awesome-AI-Memory
开源
一站式掌握大模型记忆技术,从研究到落地。
Awesome AI Memory | LLM Memory | A curated knowledge base on AI memory for LLMs and ···
llm-agents.nix
开源
用 Nix 一键装齐 AI 编程代理,版本锁定每天自动更新
Nix packages for AI coding agents and development tools. Automatically updated daily···
haystack
开源
搭积木式编排 LLM 应用,从原型到生产一步到位。
Open-source AI orchestration framework for building context-engineered, production-r···
ontogpt
开源
用大模型从文本中自动抽取结构化知识,构建本体图谱
LLM-based ontological extraction tools, including SPIRES
botman
开源
用 PHP 一套代码,快速接入多平台聊天机器人。
A framework agnostic PHP library to build chat bots
swift-ios-skills
开源
让 AI 写出更地道的 SwiftUI 代码,适配 iOS 26 新特性。
Agent Skills for iOS 26+, Swift 6.3, SwiftUI, and modern Apple frameworks
LazyMind
开源
自托管 AI 技能运行时,知识工作全流程自己掌控
An AI Skill Runtime for knowledge-intensive work which makes everything under your c···
