从十年 Java 到智能体开发:我的全套 Python 智能体实战课程(第二帖)2-创建项目
·
1.申请大模型的key,我用的是deepseek
2.在pycharm中创建项目,环境选择uv,我的项目名叫DocMind-v1
正常创建完项目是会有.venv文件夹的,没有的话终端执行一下 uv venv
3.项目终端执行:
uv add langchain langchain-community langchain-text-splitters langchain-openai pypdf chromadb langchain-chroma pydantic python-dotenv
核心框架层(LangChain 生态)
| 库 | 作用 |
|---|---|
langchain |
LangChain 的核心库,提供链(Chain)、智能体(Agent)、记忆(Memory) 等高层抽象,是搭建整个应用的"骨架"。 |
langchain-core |
LangChain 的基础抽象层,定义了 Runnable、BaseMessage、BaseLLM 等核心接口。通常作为依赖自动安装,无需显式关注。 |
langchain-community |
第三方集成仓库,包含大量社区贡献的组件,如各种文档加载器、向量存储封装、工具等。 |
langchain-text-splitters |
文本分割器,负责将长文档(如 PDF 的几十页内容)按语义或段落切割成小块(chunks),以便后续向量化和检索。 |
langchain-openai |
LangChain 与 OpenAI 的官方集成包,提供 ChatOpenAI(聊天模型)和 OpenAIEmbeddings(嵌入模型)接口。 |
langchain-chroma |
LangChain 与 Chroma 的集成包,提供与 Chroma 向量数据库交互的标准化 API。 |
🗄️ 数据存储与检索层
| 库 | 作用 |
|---|---|
chromadb |
Chroma 向量数据库的 Python 客户端。负责存储文档的嵌入向量(embedding),并支持向量相似度搜索。它是 RAG 应用的"记忆库"。 |
📄 文档处理层
| 库 | 作用 |
|---|---|
pypdf |
PDF 解析库,用于从 PDF 文件中提取文本内容。你很可能用它来读取本地或网络的 PDF 文档作为知识源。 |
⚙️ 基础工具与配置层
| 库 | 作用 |
|---|---|
pydantic |
数据验证库,LangChain 大量使用它来定义和校验数据结构(如 BaseModel 子类),确保配置和输入输出符合预期。 |
python-dotenv |
环境变量管理,从 .env 文件中加载配置(如 OPENAI_API_KEY),避免将敏感信息硬编码在代码里。 |
其中 Chroma 是一个开源的向量数据库(Vector Database),专门为 AI 应用(尤其是大语言模型)设计。适合在工作室里快速做模型,后期我们会换成milvus。
4.在项目根目录创建 .env,内容为你的api_key,我用的deepseek:
DEEPSEEK_API_KEY=sk-你的DeepSeek密钥
5.在ollama中搜索一个embdding模型安装,接下来做文本向量化使用,我是8G显存,所以选了个4b模型,在cmd中执行(目录随意)
ollama pull qwen3-embedding:4b
更多推荐


所有评论(0)