优化代码,提高解耦
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
现在问题:
|
||||
1. rag代码与博客你已经全部修正完了
|
||||
2. rag里的readme你还没修
|
||||
3. langgraph也没修
|
||||
|
||||
|
||||
# 🧩 模块说明:RAG 进阶 - 从基础到智能 Agent
|
||||
|
||||
> 📌 核心知识点:持久化向量库(Chroma)|精排序(Reranker)|RAG 工具化|Agent 集成|记忆型对话|六大模块融合
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,33 @@
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
from pathlib import Path
|
||||
|
||||
# 1. 加载.env文件
|
||||
load_dotenv()
|
||||
|
||||
# 2. 解决 UUID v7 警告
|
||||
try:
|
||||
from langsmith import uuid7
|
||||
import uuid
|
||||
uuid.uuid4 = uuid7 # 全局替换
|
||||
except ImportError:
|
||||
pass # 如果没装 langsmith,省略
|
||||
|
||||
# 3. 获取API_KEYS
|
||||
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
|
||||
LANGCHAIN_API_KEY = os.getenv("LANGCHAIN_API_KEY")
|
||||
|
||||
if not OPENAI_API_KEY:
|
||||
raise ValueError("× 请在.env中设置OPENAI_API_KEY")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# 本文件用于下载并获取embedding向量化模型
|
||||
|
||||
from pathlib import Path
|
||||
from langchain_huggingface import HuggingFaceEmbeddings
|
||||
|
||||
# 获取embeddings模型 - 首次调用时自动下载
|
||||
def get_embeddings(model_name="BAAI/bge-small-zh-v1.5",device="cpu",**kwargs):
|
||||
# 支持更换其他向量化模型
|
||||
local_dir = Path("models")/model_name.replace("/", "_")
|
||||
if not local_dir.exists():
|
||||
print(f'⚠️ 首次使用嵌入模型,正在下载到{local_dir.absolute()}')
|
||||
print("💡 提示:需要联网(必需梯子),完成后可离线使用")
|
||||
from huggingface_hub import snapshot_download
|
||||
# 模型下载工具
|
||||
snapshot_download(
|
||||
repo_id = model_name,
|
||||
local_dir = local_dir,
|
||||
)
|
||||
print('✅ 下载完成!')
|
||||
|
||||
# 构造参数字典
|
||||
model_kwargs = {
|
||||
"device":device,
|
||||
"local_files_only": True, # 仅使用本地文件
|
||||
}
|
||||
|
||||
# 此处实例化时,把kwargs传入
|
||||
_EMBEDDINGS = HuggingFaceEmbeddings(
|
||||
model_name = str(local_dir), # 使用本地已下载的模型
|
||||
model_kwargs = model_kwargs,
|
||||
**kwargs # 允许传入参数
|
||||
)
|
||||
return _EMBEDDINGS
|
||||
Reference in New Issue
Block a user