langchain-learning-kit/CONFIG_GUIDE.md

4.1 KiB
Raw Permalink Blame History

配置指南

已完成的配置更新

1 Conda 环境名称

  • 更新为: pyth-311
  • 原名称: langchain-learning-kit

2 OpenAI Base URL 支持

  • 新增配置项: OPENAI_BASE_URL
  • 用途: 支持使用代理或转发服务
  • 你的配置: https://api.openai-proxy.org/v1

📝 完整的 .env 配置

请确保你的 .env 文件包含以下内容:

# 应用配置
APP_NAME="LangChain Learning Kit"
DEBUG=False
LOG_LEVEL=INFO

# 服务器配置
HOST=0.0.0.0
PORT=8000

# 数据库配置
DATABASE_URL=mysql+pymysql://root:123456@localhost:3306/langchain_learning

# OpenAI 配置
OPENAI_API_KEY=sk-your-actual-api-key-here
OPENAI_BASE_URL=https://api.openai-proxy.org/v1

# FAISS 存储路径
FAISS_BASE_PATH=data/faiss

# 文本分块配置
CHUNK_SIZE=1000
CHUNK_OVERLAP=200

🔧 OpenAI Base URL 使用说明

工作原理

  1. 配置优先级:

    • 如果模型配置中指定了 base_url,使用模型配置
    • 否则,使用 .env 中的 OPENAI_BASE_URL
    • 如果都未配置,使用 OpenAI 默认地址
  2. 自动应用:

    • 所有 LLM 调用 (ChatOpenAI)
    • 所有 Embedding 调用 (OpenAIEmbeddings)

使用场景

场景 1: 使用代理服务 (你的情况)

OPENAI_BASE_URL=https://api.openai-proxy.org/v1

场景 2: 使用自定义端点

OPENAI_BASE_URL=https://your-custom-endpoint.com/v1

场景 3: 不使用代理 (默认)

# OPENAI_BASE_URL 留空或不配置

验证配置

创建模型后,日志会显示使用的 base_url

# 日志输出示例
{
  "event": "getting_llm",
  "model_name": "gpt-3.5-turbo",
  "base_url": "https://api.openai-proxy.org/v1"
}

🚀 下一步操作

1. 激活环境

conda activate pyth-311

2. 验证配置

python verify_env.py

应该看到:

✓ .env 文件存在
✓ DATABASE_URL: mysql+pymysql://root:123...
✓ OPENAI_API_KEY: sk-your-ac...
✓ OPENAI_BASE_URL: https://api.openai...

3. 初始化数据库

cd app
alembic upgrade head

4. 测试配置加载

python -c "from app.config import get_settings; s = get_settings(); print(f'Base URL: {s.openai_base_url}')"

应该输出:

Base URL: https://api.openai-proxy.org/v1

📋 环境变量说明

变量名 必需 默认值 说明
APP_NAME "LangChain Learning Kit" 应用名称
DEBUG False 调试模式
LOG_LEVEL INFO 日志级别
HOST 0.0.0.0 服务器地址
PORT 8000 服务器端口
DATABASE_URL - MySQL 连接字符串
OPENAI_API_KEY - OpenAI API Key
OPENAI_BASE_URL None OpenAI API 基础地址
FAISS_BASE_PATH data/faiss FAISS 索引存储路径
CHUNK_SIZE 1000 文本分块大小
CHUNK_OVERLAP 200 文本分块重叠

⚠️ 常见问题

Q1: 配置了 OPENAI_BASE_URL 但没有生效

排查步骤:

  1. 确认 .env 文件在项目根目录
  2. 重启应用 (配置在启动时加载)
  3. 检查日志输出确认 base_url

Q2: 代理地址无法访问

解决方案:

  1. 检查网络连接
  2. 确认代理地址正确
  3. 尝试浏览器访问 https://api.openai-proxy.org/v1/models

Q3: 想对不同模型使用不同的 base_url

解决方案: 在创建模型配置时指定

{
  "name": "gpt-4-proxy",
  "type": "llm",
  "config": {
    "model_name": "gpt-4",
    "api_key": "${OPENAI_API_KEY}",
    "base_url": "https://custom-proxy.com/v1"
  }
}

💡 提示

  1. 环境变量优先级: 模型配置 > .env 文件 > 默认值
  2. 安全性: 不要将 .env 文件提交到 Git (已在 .gitignore)
  3. 变量替换: 配置中可使用 ${VAR_NAME} 引用环境变量
  4. 验证配置: 使用 verify_env.py 脚本检查所有配置

配置更新完成!

所有文件已更新以支持:

  • Conda 环境名称: pyth-311
  • OpenAI Base URL: https://api.openai-proxy.org/v1