Spaces:
Runtime error
Runtime error
Commit ·
e9593ee
1
Parent(s): d8ff6a3
Default to HF free embedding (huggingface); require OPENAI_API_KEY only when using openai
Browse files
app.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
"""
|
| 2 |
Hugging Face Space 应用:在 HF Space 上运行 Weaviate 索引构建
|
| 3 |
-
使用
|
| 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", "
|
| 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("
|
| 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 上使用
|
| 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`:
|
| 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 |
|