refactor(m6): restructure non-code assets including filenames, environment setup, and minor fixes

This commit is contained in:
Annyfee
2026-01-03 16:38:19 +08:00
parent 69ce287cb5
commit ee95c05d13
5 changed files with 20 additions and 5 deletions
+83
View File
@@ -0,0 +1,83 @@
import config
import os
from langchain_community.document_loaders import TextLoader # 加载
from langchain_text_splitters import RecursiveCharacterTextSplitter # 分割
# 创建一个演示txt文件
knowledge_base_content = """
### 模块 01 — Agent 入门 & 环境搭建
- **目标**:理解 Agent 概念,完成环境配置与首次调用。
- **内容**:环境依赖|API Key 配置|最小可运行 Agent
### 模块 02 — LLM 基础调用
- **目标**:掌握模型调用逻辑,初步构建智能体能力。
- **内容**LLM了解与调用|Prompt编写与逻辑构思|多轮对话记忆|独立搭建一个智能体
### 模块 03 — Function Calling 与工具调用
- **目标**:实现 LLM 调用外部函数,赋予模型“执行力”。
- **内容**Function calling原理|工具函数封装|API接入实践|多轮调用流程|Agent能力扩展
### 模块 04 — LangChain 基础篇
- **目标**:认识Langchain六大模块,学会用Langchain构建智能体。
- **内容**LLM 调用|Prompt 设计|Chain 构建|Memory 记忆|实战练习
### 模块 05 — LangChain 进阶篇
- **目标**:掌握Langchain Agents的核心机制,构建能调用工具、持续思考、具备记忆的智能体。
- **内容**Function Calling@tool 工具封装|ReAct 循环|Agent 构建|SQL Agent|记忆+流式|开发优化
"""
with open('knowledge_base.txt','w',encoding='utf8') as f:
f.write(knowledge_base_content)
# 1.加载
# TextLoader 读取.txt文件,并将其转换为Document对象
loader = TextLoader('knowledge_base.txt',encoding='utf8')
docs = loader.load()
print(f'{docs}已加载完成!')
# 2.分割
text_splitter = RecursiveCharacterTextSplitter(
# 本节重点
chunk_size=250, # 设定的chunk块大小(字符数),
chunk_overlap=40 # 设定的重叠大小(字符数)
) # 创建分割器的配置模板
splits = text_splitter.split_documents(docs) # 实际执行切割
print(f'分块结果:{len(splits)}')
for i,doc in enumerate(splits):
print(f'片段{i+1}(长度:{len(doc.page_content)})')
print(doc.page_content)
print('-'*100+'\n')
# 观察:
# 我们的文本被分割成了四块,没有一块的长度超过250.
# 所以没有用到overlap(重叠),这是最好的结果
# 删除txt文件
os.remove('knowledge_base.txt')