claudqunwang Cursor commited on
Commit
e9593ee
·
1 Parent(s): d8ff6a3

Default to HF free embedding (huggingface); require OPENAI_API_KEY only when using openai

Browse files
Files changed (1) hide show
  1. app.py +6 -7
app.py CHANGED
@@ -1,6 +1,6 @@
1
  """
2
  Hugging Face Space 应用:在 HF Space 上运行 Weaviate 索引构建
3
- 使用 OpenAI API 进行 embedding,直接上传到 Weaviate Cloud
4
  """
5
  import os
6
  import gradio as gr
@@ -13,7 +13,7 @@ OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "").strip()
13
  WEAVIATE_URL = os.getenv("WEAVIATE_URL", "").strip()
14
  WEAVIATE_API_KEY = os.getenv("WEAVIATE_API_KEY", "").strip()
15
  WEAVIATE_COLLECTION = os.getenv("WEAVIATE_COLLECTION", "GenAICourses").strip()
16
- EMBEDDING_PROVIDER = os.getenv("EMBEDDING_PROVIDER", "openai").strip().lower()
17
 
18
  # 课程文档路径(需要上传到 HF Space)
19
  SCRIPT_DIR = Path(__file__).resolve().parent
@@ -33,8 +33,8 @@ def build_index_worker(clear_first: bool, progress_callback=None):
33
  build_status["progress"] = "开始构建索引..."
34
 
35
  # 检查配置
36
- if not OPENAI_API_KEY:
37
- raise RuntimeError("请在 HF Space Settings → Secrets 中添加 OPENAI_API_KEY")
38
  if not WEAVIATE_URL or not WEAVIATE_API_KEY:
39
  raise RuntimeError("请在 HF Space Settings → Secrets 中添加 WEAVIATE_URL 和 WEAVIATE_API_KEY")
40
 
@@ -178,16 +178,15 @@ with gr.Blocks(title="Weaviate 索引构建工具") as app:
178
  gr.Markdown("""
179
  # 🔍 Weaviate 索引构建工具
180
 
181
- 在 Hugging Face Space 上使用 OpenAI API 进行 embedding,并直接上传到 Weaviate Cloud。
182
 
183
  ## 配置要求
184
 
185
  请在 **Settings → Secrets** 中添加以下环境变量:
186
- - `OPENAI_API_KEY`: OpenAI API Key(用于 embedding)
187
  - `WEAVIATE_URL`: Weaviate Cloud REST 地址
188
  - `WEAVIATE_API_KEY`: Weaviate API Key
189
  - `WEAVIATE_COLLECTION`: Collection 名称(默认: GenAICourses)
190
- - `EMBEDDING_PROVIDER`: openai 或 huggingface(默认: openai)
191
 
192
  ## 使用步骤
193
 
 
1
  """
2
  Hugging Face Space 应用:在 HF Space 上运行 Weaviate 索引构建
3
+ 默认使用 HF 免费 embedding(sentence-transformers),直接上传到 Weaviate Cloud
4
  """
5
  import os
6
  import gradio as gr
 
13
  WEAVIATE_URL = os.getenv("WEAVIATE_URL", "").strip()
14
  WEAVIATE_API_KEY = os.getenv("WEAVIATE_API_KEY", "").strip()
15
  WEAVIATE_COLLECTION = os.getenv("WEAVIATE_COLLECTION", "GenAICourses").strip()
16
+ EMBEDDING_PROVIDER = os.getenv("EMBEDDING_PROVIDER", "huggingface").strip().lower()
17
 
18
  # 课程文档路径(需要上传到 HF Space)
19
  SCRIPT_DIR = Path(__file__).resolve().parent
 
33
  build_status["progress"] = "开始构建索引..."
34
 
35
  # 检查配置
36
+ if EMBEDDING_PROVIDER == "openai" and not OPENAI_API_KEY:
37
+ raise RuntimeError("使用 OpenAI embedding 时请在 Settings → Secrets 中添加 OPENAI_API_KEY")
38
  if not WEAVIATE_URL or not WEAVIATE_API_KEY:
39
  raise RuntimeError("请在 HF Space Settings → Secrets 中添加 WEAVIATE_URL 和 WEAVIATE_API_KEY")
40
 
 
178
  gr.Markdown("""
179
  # 🔍 Weaviate 索引构建工具
180
 
181
+ 在 Hugging Face Space 上使用 **免费** Hugging Face embedding,并直接上传到 Weaviate Cloud。
182
 
183
  ## 配置要求
184
 
185
  请在 **Settings → Secrets** 中添加以下环境变量:
 
186
  - `WEAVIATE_URL`: Weaviate Cloud REST 地址
187
  - `WEAVIATE_API_KEY`: Weaviate API Key
188
  - `WEAVIATE_COLLECTION`: Collection 名称(默认: GenAICourses)
189
+ - `EMBEDDING_PROVIDER`: huggingface(免费,默认)或 openai(需 OPENAI_API_KEY
190
 
191
  ## 使用步骤
192