From 173e2866a3a173016735514367b7c0956ba7ef31 Mon Sep 17 00:00:00 2001 From: figmar Date: Sun, 30 Aug 2026 19:27:22 +0800 Subject: [PATCH] deepdata: track product config and env defaults for self-contained deployment --- .dockerignore | 22 ++ .gitignore | 420 ++++++++++++++++--------------- deepflow/.dockerignore | 53 ++++ deepflow/.env | 97 +++++++ deepflow/.gitignore | 8 +- deepflow/.python-version | 1 + deepflow/conf.yaml | 84 +++++++ deepflow/web/.dockerignore | 8 + deepflow/web/src/lib/utils.ts | 9 + deepflow/web/src/typings/md.d.ts | 4 + docker/.env | 79 ++++++ docker/deepflow/.env | 104 ++++++++ runtime/deepflow/.env | 97 +++++++ 13 files changed, 778 insertions(+), 208 deletions(-) create mode 100644 .dockerignore create mode 100644 deepflow/.dockerignore create mode 100644 deepflow/.env create mode 100644 deepflow/.python-version create mode 100644 deepflow/conf.yaml create mode 100644 deepflow/web/.dockerignore create mode 100644 deepflow/web/src/lib/utils.ts create mode 100644 deepflow/web/src/typings/md.d.ts create mode 100644 docker/.env create mode 100644 docker/deepflow/.env create mode 100644 runtime/deepflow/.env diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..789506f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,22 @@ +# Environment files (local dev only, never in images) +#**/.env +!.env.example + +# Python +**/__pycache__/ +**/*.pyc +**/.venv/ +**/venv/ + +# Logs +**/logs/ +**/*.log + +# IDE +.idea/ +.vscode/ +*.iml + +# Git +.git/ +.gitignore diff --git a/.gitignore b/.gitignore index be3381d..5caeb74 100644 --- a/.gitignore +++ b/.gitignore @@ -1,204 +1,216 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -# next.js build output -.next - -# Java -*.class -*.jar -*.war -*.ear -*.zip -*.tar.gz -*.rar - -# Maven -target/ -pom.xml.tag -pom.xml.releaseBackup -pom.xml.versionsBackup -pom.xml.next -release.properties -dependency-reduced-pom.xml -buildNumber.properties -.mvn/timing.properties - -# Gradle -.gradle -build/ -!gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -# IntelliJ IDEA -.idea -*.iws -*.iml -*.ipr -out/ - -# Eclipse -.project -.classpath -.c9/ -*.launch -.settings/ -.metadata -bin/ -tmp/ -*.tmp -*.bak -*.swp -*~.nib -local.properties -.settings/ -.loadpath -.recommenders - -# Python -__pycache__/ -*.py[cod] -*$py.class -*.so -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyEnv -.python-version - -# pipenv -Pipfile.lock - -# Celery beat schedule file -celerybeat-schedule - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Docker -*.dockerignore - -# OS -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -ehthumbs.db -Thumbs.db - -# IDE -.vscode/ -*.sublime-project -*.sublime-workspace - -# Milvus -**/volumes/ - -**/rag_storage/ -# Environment files - ignore local .env, but allow templates -.env -!.env.example - -# AI tools/agent -.agents/ -.claude/ -data/ -openspec/ -devspace.yaml +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# next.js build output +.next + +# Java +*.class +*.jar +*.war +*.ear +*.zip +*.tar.gz +*.rar + +# Maven +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties + +# Gradle +.gradle +build/ +!gradle-wrapper.jar +!**/src/main/**/build/ +!**/src/test/**/build/ + +# IntelliJ IDEA +.idea +*.iws +*.iml +*.ipr +out/ + +# Eclipse +.project +.classpath +.c9/ +*.launch +.settings/ +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyEnv +.python-version + +# pipenv +Pipfile.lock + +# Celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Docker +*.dockerignore + +# OS +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# IDE +.vscode/ +*.sublime-project +*.sublime-workspace + +# Milvus +**/volumes/ + +**/rag_storage/ +# Environment files - ignore local .env, but allow templates +.env +!.env.example + +# AI tools/agent +.agents/ +.claude/ +data/ +openspec/ +devspace.yaml + +# --- Product deliverables tracked in this repository --- +!*.dockerignore +!docker/.env +!deepflow/.env +!docker/deepflow/.env +!runtime/deepflow/.env +!deepflow/.python-version +!deepflow/web/src/lib/ +!deepflow/web/src/lib/** +!deepflow/web/src/typings/ +!deepflow/web/src/typings/** diff --git a/deepflow/.dockerignore b/deepflow/.dockerignore new file mode 100644 index 0000000..3faf7a1 --- /dev/null +++ b/deepflow/.dockerignore @@ -0,0 +1,53 @@ +.env +Dockerfile +.dockerignore +.git +.gitignore + +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +.venv/ + +# Web +node_modules +npm-debug.log +.next + +# IDE +.idea/ +.vscode/ +*.swp +*.swo + +# OS +.DS_Store +Thumbs.db + +# Project specific +conf.yaml +web/ +docs/ +examples/ +assets/ +tests/ +*.log diff --git a/deepflow/.env b/deepflow/.env new file mode 100644 index 0000000..d201ebd --- /dev/null +++ b/deepflow/.env @@ -0,0 +1,97 @@ +# Application Settings +DEBUG=True +APP_ENV=development + +# docker build args +NEXT_PUBLIC_API_URL="/deepflow-backend" + +AGENT_RECURSION_LIMIT=30 + +# CORS settings +# Comma-separated list of allowed origins for CORS requests +# Example: ALLOWED_ORIGINS=http://localhost:3000,http://example.com +ALLOWED_ORIGINS=* + +# Enable or disable MCP server configuration, the default is false. +# Please enable this feature before securing your front-end and back-end in a managed environment. +# Otherwise, you system could be compromised. +ENABLE_MCP_SERVER_CONFIGURATION=true + +# Enable or disable PYTHON_REPL configuration, the default is false. +# Please enable this feature before securing your in a managed environment. +# Otherwise, you system could be compromised. +ENABLE_PYTHON_REPL=false + +# Search Engine, Supported values: tavily (recommended), duckduckgo, brave_search, arxiv, searx +SEARCH_API=tavily +TAVILY_API_KEY=tvly-xxx +# SEARX_HOST=xxx # Required only if SEARCH_API is searx.(compatible with both Searx and SearxNG) +# BRAVE_SEARCH_API_KEY=xxx # Required only if SEARCH_API is brave_search +# JINA_API_KEY=jina_xxx # Optional, default is None + +# Optional, RAG provider +# RAG_PROVIDER=vikingdb_knowledge_base +# VIKINGDB_KNOWLEDGE_BASE_API_URL="api-knowledgebase.mlp.cn-beijing.volces.com" +# VIKINGDB_KNOWLEDGE_BASE_API_AK="AKxxx" +# VIKINGDB_KNOWLEDGE_BASE_API_SK="" +# VIKINGDB_KNOWLEDGE_BASE_RETRIEVAL_SIZE=15 + +# RAG_PROVIDER=ragflow +# RAGFLOW_API_URL="http://localhost:9388" +# RAGFLOW_API_KEY="ragflow-xxx" +# RAGFLOW_RETRIEVAL_SIZE=10 +# RAGFLOW_CROSS_LANGUAGES=English,Chinese,Spanish,French,German,Japanese,Korean # Optional. To use RAGFlow's cross-language search, please separate each language with a single comma + +# RAG_PROVIDER=dify +# DIFY_API_URL="https://api.dify.ai/v1" +# DIFY_API_KEY="dataset-xxx" + +# MOI is a hybrid database that mainly serves enterprise users (https://www.matrixorigin.io/matrixone-intelligence) +# RAG_PROVIDER=moi +# MOI_API_URL="https://cluster.matrixonecloud.cn" +# MOI_API_KEY="xxx-xxx-xxx-xxx" +# MOI_RETRIEVAL_SIZE=10 +# MOI_LIST_LIMIT=10 + +# RAG_PROVIDER: milvus (using free milvus instance on zilliz cloud: https://docs.zilliz.com/docs/quick-start ) +RAG_PROVIDER=milvus +MILVUS_URI=http://milvus:19530 +MILVUS_USER=root +MILVUS_PASSWORD=Milvus +MILVUS_AUTO_LOAD_EXAMPLES=false +# MILVUS_EMBEDDING_PROVIDER=openai # support openai,dashscope +# MILVUS_EMBEDDING_BASE_URL= +# MILVUS_EMBEDDING_MODEL= +# MILVUS_EMBEDDING_API_KEY= + +# RAG_PROVIDER: milvus (using milvus lite on Mac or Linux) +# RAG_PROVIDER=milvus +# MILVUS_URI=./milvus_demo.db +# MILVUS_COLLECTION=documents +# MILVUS_EMBEDDING_PROVIDER=openai # support openai,dashscope +# MILVUS_EMBEDDING_BASE_URL= +# MILVUS_EMBEDDING_MODEL= +# MILVUS_EMBEDDING_API_KEY= +# MILVUS_AUTO_LOAD_EXAMPLES=true + +# Optional, volcengine TTS for generating podcast +VOLCENGINE_TTS_APPID=xxx +VOLCENGINE_TTS_ACCESS_TOKEN=xxx +# VOLCENGINE_TTS_CLUSTER=volcano_tts # Optional, default is volcano_tts +# VOLCENGINE_TTS_VOICE_TYPE=BV700_V2_streaming # Optional, default is BV700_V2_streaming + +# Option, for langsmith tracing and monitoring +# LANGSMITH_TRACING=true +# LANGSMITH_ENDPOINT="https://api.smith.langchain.com" +# LANGSMITH_API_KEY="xxx" +# LANGSMITH_PROJECT="xxx" + +# [!NOTE] +# For model settings and other configurations, please refer to `docs/configuration_guide.md` + +# Option, for langgraph mongodb checkpointer +# Enable LangGraph checkpoint saver, supports MongoDB, Postgres +#LANGGRAPH_CHECKPOINT_SAVER=true +# Set the database URL for saving checkpoints +#LANGGRAPH_CHECKPOINT_DB_URL=mongodb://localhost:27017/ +#LANGGRAPH_CHECKPOINT_DB_URL=postgresql://localhost:5432/postgres diff --git a/deepflow/.gitignore b/deepflow/.gitignore index f2341f7..831d897 100644 --- a/deepflow/.gitignore +++ b/deepflow/.gitignore @@ -14,11 +14,11 @@ static/browser_history/*.gif .venv venv/ -# Environment variables -.env +# Environment defaults are tracked for a self-contained repo +# .env -# user conf -conf.yaml +# Product conf is tracked +# conf.yaml .idea/ .langgraph_api/ diff --git a/deepflow/.python-version b/deepflow/.python-version new file mode 100644 index 0000000..e4fba21 --- /dev/null +++ b/deepflow/.python-version @@ -0,0 +1 @@ +3.12 diff --git a/deepflow/conf.yaml b/deepflow/conf.yaml new file mode 100644 index 0000000..6375998 --- /dev/null +++ b/deepflow/conf.yaml @@ -0,0 +1,84 @@ +# [!NOTE] +# Read the `docs/configuration_guide.md` carefully, and update the +# configurations to match your specific settings and requirements. +# - Replace `api_key` with your own credentials. +# - Replace `base_url` and `model` name if you want to use a custom model. +# - Set `verify_ssl` to `false` if your LLM server uses self-signed certificates +# - A restart is required every time you change the `conf.yaml` file. + + BASIC_MODEL: + base_url: https://dashscope.aliyuncs.com/compatible-mode/v1 + model: "qwen3.6-plus" + api_key: sk-e653053a9ce049b795682194b91a56c9 + max_retries: 3 # Maximum number of retries for LLM calls + verify_ssl: false # Uncomment this line to disable SSL certificate verification for self-signed certificates + + # Local model configuration example: + + # Ollama (Tested and supported for local development) + # BASIC_MODEL: + # base_url: "http://localhost:11434/v1" # Ollama OpenAI compatible endpoint + # model: "qwen3:14b" # or "llama3.2", etc. + # api_key: "ollama" # Ollama doesn't need real API key + # max_retries: 3 + # verify_ssl: false # Local deployment usually doesn't need SSL verification + + # To use Google Ai Studio as your basic platform: + # BASIC_MODEL: + # platform: "google_aistudio" + # model: "gemini-2.5-flash" # or "gemini-1.5-pro", "gemini-2.5-flash-exp", etc. + # api_key: your_gemini_api_key # Get from https://aistudio.google.com/app/apikey + # max_retries: 3 + +# Reasoning model is optional. +# Uncomment the following settings if you want to use reasoning model +# for planning. + + REASONING_MODEL: + base_url: https://dashscope.aliyuncs.com/compatible-mode/v1 + model: "qwen3.6-plus" + api_key: sk-e653053a9ce049b795682194b91a56c9 + max_retries: 3 # Maximum number of retries for LLM calls + + +# OTHER SETTINGS: +# Search engine configuration (Only supports Tavily currently) +# SEARCH_ENGINE: +# engine: tavily +# # Only include results from these domains +# include_domains: +# - example.com +# - trusted-news.com +# - reliable-source.org +# - gov.cn +# - edu.cn +# # Exclude results from these domains +# exclude_domains: +# - example.com +# # Include an answer in the search results +# include_answer: false +# # Search depth: "basic" or "advanced" +# search_depth: "advanced" +# # Include raw content from pages +# include_raw_content: true +# # Include images in search results +# include_images: true +# # Include descriptions for images +# include_image_descriptions: true +# # Minimum score threshold for results (0-1) +# min_score_threshold: 0.0 +# # Maximum content length per page +# max_content_length_per_page: 4000 + + sandbox: + use: deepflow.community.aio_sandbox:AioSandboxProvider + image: enterprise-public-cn-beijing.cr.volces.com/vefaas-public/all-in-one-sandbox:latest + port: 8080 + auto_start: true + replicas: 2 + container_prefix: deepdata-deepflow-sandbox + # 把 DeepData 的 dataset 卷透进沙箱,Agent 写报告能直接落到 /dataset/deepflow-output + mounts: + - host_path: /var/lib/docker/volumes/deepdata-dataset-volume/_data + container_path: /dataset + read_only: false \ No newline at end of file diff --git a/deepflow/web/.dockerignore b/deepflow/web/.dockerignore new file mode 100644 index 0000000..86f0b3b --- /dev/null +++ b/deepflow/web/.dockerignore @@ -0,0 +1,8 @@ +.env +Dockerfile +.dockerignore +node_modules +npm-debug.log +README.md +.next +.git diff --git a/deepflow/web/src/lib/utils.ts b/deepflow/web/src/lib/utils.ts new file mode 100644 index 0000000..38495d3 --- /dev/null +++ b/deepflow/web/src/lib/utils.ts @@ -0,0 +1,9 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: MIT + +import { clsx, type ClassValue } from "clsx" +import { twMerge } from "tailwind-merge" + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)) +} diff --git a/deepflow/web/src/typings/md.d.ts b/deepflow/web/src/typings/md.d.ts new file mode 100644 index 0000000..c94d67b --- /dev/null +++ b/deepflow/web/src/typings/md.d.ts @@ -0,0 +1,4 @@ +declare module "*.md" { + const content: string; + export default content; +} diff --git a/docker/.env b/docker/.env new file mode 100644 index 0000000..0004eda --- /dev/null +++ b/docker/.env @@ -0,0 +1,79 @@ +# 镜像仓库与版本 +REGISTRY= +VERSION=latest + +# 数据库核心密码【必须修改】 +DB_PASSWORD=Apescale123 + +# JWT配置 (必须 >= 32 字符,即 256 bits) +JWT_SECRET=ApescaleSuperSecureJwtSecretKey2026v1 +DEEPDATA_JWT_ENABLE=false + +# 日志轮转配置 +LOG_ROTATION_MAX_SIZE=100MB +LOG_ROTATION_BACKUP_COUNT=30 +LOG_LEVEL=INFO + +# 日志磁盘监控 +LOG_PVC_MONITOR_ENABLED=true +LOG_PVC_MONITOR_PATH=/var/log/deepdata +LOG_PVC_MONITOR_THRESHOLD=0.9 +LOG_PVC_MONITOR_INTERVAL_SECONDS=300 +LOG_PVC_MONITOR_DELETE_BATCH_SIZE=10 +LOG_PVC_MONITOR_FILE_SUFFIXES=log,out,err + +# Milvus向量库配置(启用milvus profile生效) +MILVUS_URI=http://milvus:19530 +MINIO_ACCESS_KEY=minioadmin +MINIO_SECRET_KEY=Minio@Passw0rd + +# LabelStudio配置 +LABEL_STUDIO_USERNAME=admin@demo.com +LABEL_STUDIO_PASSWORD=LabelStudio@123 +LABEL_STUDIO_USER_TOKEN=50d54c9fa842a1cd8e26c55efa7113db22870c47 +LABEL_STUDIO_HOST=http://labelstudio.ailab.yilise.com +LABEL_STUDIO_BASE_URL=http://label-studio:8000 + +# MinerU额外启动参数 +EXTRA_ARGS= + + +MINIO_ACCESS_KEY_ID=minioadmin +MINIO_SECRET_ACCESS_KEY=Minio@Passw0rd +AWS_REGION=us-east-1 + +# ========================================== +# Ray 分布式集群配置 +# ========================================== + +# 1. Redis 密码 (Ray Head 强依赖 Redis) +RAY_REDIS_PASSWORD=ray_redis_secret +RAY_REDIS_ADDRESS=deepdata-ray-redis:6379 + +# 2. Dashboard 地址 (用于 Client 提交任务,即 job_task_scheduler.py 读取的值) +# 注意:默认值是 K8s 的 svc,这里覆盖为 Compose 服务名 +RAY_DASHBOARD_ADDRESS=http://deepdata-ray-head:8265 + +# 3. Head GCS 地址 (用于 Worker 节点加入集群) +RAY_HEAD_GCS_ADDRESS=deepdata-ray-head:6379 + +# Ray Head 端口配置 +RAY_HEAD_PORT=6379 +RAY_DASHBOARD_PORT=8265 +RAY_CLIENT_PORT=10001 + +# Ray Worker 资源配置 (可根据服务器性能调整) +# NUM_CPUS: 每个 Worker 容器分配的 CPU 核数 +RAY_WORKER_NUM_CPUS=4 +# NUM_GPUS: 如果不需要 GPU 则设为 0 +RAY_WORKER_NUM_GPUS=0 + +ENABLE_RAY_EXECUTION=true + +# ========================================== +# Collection Task Execution Mode +# - local: Backend 本地执行 (默认,兼容旧版) +# - runtime: 提交给 Runtime -> Ray 集群执行 +# ========================================== +COLLECTION_EXECUTION_MODE=runtime + diff --git a/docker/deepflow/.env b/docker/deepflow/.env new file mode 100644 index 0000000..82ff66e --- /dev/null +++ b/docker/deepflow/.env @@ -0,0 +1,104 @@ +# Application Settings +DEBUG=True +APP_ENV=development + +# docker build args +NEXT_PUBLIC_API_URL="/deepflow-backend" + +AGENT_RECURSION_LIMIT=30 + +# CORS settings +# Comma-separated list of allowed origins for CORS requests +# Example: ALLOWED_ORIGINS=http://localhost:3000,http://example.com +ALLOWED_ORIGINS=* + +# Enable or disable MCP server configuration, the default is false. +# Please enable this feature before securing your front-end and back-end in a managed environment. +# Otherwise, you system could be compromised. +ENABLE_MCP_SERVER_CONFIGURATION=true + +# Enable or disable PYTHON_REPL configuration, the default is false. +# Please enable this feature before securing your in a managed environment. +# Otherwise, you system could be compromised. +ENABLE_PYTHON_REPL=false + +# Search Engine, Supported values: tavily (recommended), duckduckgo, brave_search, arxiv, searx +SEARCH_API=tavily +TAVILY_API_KEY=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 +# SEARX_HOST=xxx # Required only if SEARCH_API is searx.(compatible with both Searx and SearxNG) +# BRAVE_SEARCH_API_KEY=xxx # Required only if SEARCH_API is brave_search +# JINA_API_KEY=jina_xxx # Optional, default is None + +# Optional, RAG provider +# RAG_PROVIDER=vikingdb_knowledge_base +# VIKINGDB_KNOWLEDGE_BASE_API_URL="api-knowledgebase.mlp.cn-beijing.volces.com" +# VIKINGDB_KNOWLEDGE_BASE_API_AK="AKxxx" +# VIKINGDB_KNOWLEDGE_BASE_API_SK="" +# VIKINGDB_KNOWLEDGE_BASE_RETRIEVAL_SIZE=15 + +# RAG_PROVIDER=ragflow +# RAGFLOW_API_URL="http://localhost:9388" +# RAGFLOW_API_KEY="ragflow-xxx" +# RAGFLOW_RETRIEVAL_SIZE=10 +# RAGFLOW_CROSS_LANGUAGES=English,Chinese,Spanish,French,German,Japanese,Korean # Optional. To use RAGFlow's cross-language search, please separate each language with a single comma + +# RAG_PROVIDER=dify +# DIFY_API_URL="https://api.dify.ai/v1" +# DIFY_API_KEY="dataset-xxx" + +# MOI is a hybrid database that mainly serves enterprise users (https://www.matrixorigin.io/matrixone-intelligence) +# RAG_PROVIDER=moi +# MOI_API_URL="https://cluster.matrixonecloud.cn" +# MOI_API_KEY="xxx-xxx-xxx-xxx" +# MOI_RETRIEVAL_SIZE=10 +# MOI_LIST_LIMIT=10 + +# RAG_PROVIDER: milvus (using free milvus instance on zilliz cloud: https://docs.zilliz.com/docs/quick-start ) +RAG_PROVIDER=milvus +MILVUS_URI=http://milvus:19530 +MILVUS_USER=root +MILVUS_PASSWORD=Milvus +MILVUS_AUTO_LOAD_EXAMPLES=false +MILVUS_COLLECTION=kb_deepdata +MILVUS_EMBEDDING_PROVIDER=dashscope # 或 dashscope,看 DeepData 侧用的哪家 +MILVUS_EMBEDDING_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 +MILVUS_EMBEDDING_MODEL=text-embedding-v2 +MILVUS_EMBEDDING_API_KEY=sk-e653053a9ce049b795682194b91a56c9 + + +# MILVUS_EMBEDDING_PROVIDER=openai # support openai,dashscope +# MILVUS_EMBEDDING_BASE_URL= +# MILVUS_EMBEDDING_MODEL= +# MILVUS_EMBEDDING_API_KEY= + +# RAG_PROVIDER: milvus (using milvus lite on Mac or Linux) +# RAG_PROVIDER=milvus +# MILVUS_URI=./milvus_demo.db +# MILVUS_COLLECTION=documents +# MILVUS_EMBEDDING_PROVIDER=openai # support openai,dashscope +# MILVUS_EMBEDDING_BASE_URL= +# MILVUS_EMBEDDING_MODEL= +# MILVUS_EMBEDDING_API_KEY= +# MILVUS_AUTO_LOAD_EXAMPLES=true + +# Optional, volcengine TTS for generating podcast +VOLCENGINE_TTS_APPID=xxx +VOLCENGINE_TTS_ACCESS_TOKEN=xxx +# VOLCENGINE_TTS_CLUSTER=volcano_tts # Optional, default is volcano_tts +# VOLCENGINE_TTS_VOICE_TYPE=BV700_V2_streaming # Optional, default is BV700_V2_streaming + +# Option, for langsmith tracing and monitoring +# LANGSMITH_TRACING=true +# LANGSMITH_ENDPOINT="https://api.smith.langchain.com" +# LANGSMITH_API_KEY="xxx" +# LANGSMITH_PROJECT="xxx" + +# [!NOTE] +# For model settings and other configurations, please refer to `docs/configuration_guide.md` + +# Option, for langgraph mongodb checkpointer +# Enable LangGraph checkpoint saver, supports MongoDB, Postgres +#LANGGRAPH_CHECKPOINT_SAVER=true +# Set the database URL for saving checkpoints +#LANGGRAPH_CHECKPOINT_DB_URL=mongodb://localhost:27017/ +#LANGGRAPH_CHECKPOINT_DB_URL=postgresql://localhost:5432/postgres diff --git a/runtime/deepflow/.env b/runtime/deepflow/.env new file mode 100644 index 0000000..7544e40 --- /dev/null +++ b/runtime/deepflow/.env @@ -0,0 +1,97 @@ +# Application Settings +DEBUG=True +APP_ENV=development + +# docker build args +NEXT_PUBLIC_API_URL="/deepflow-backend" + +AGENT_RECURSION_LIMIT=30 + +# CORS settings +# Comma-separated list of allowed origins for CORS requests +# Example: ALLOWED_ORIGINS=http://localhost:3000,http://example.com +ALLOWED_ORIGINS=* + +# Enable or disable MCP server configuration, the default is false. +# Please enable this feature before securing your front-end and back-end in a managed environment. +# Otherwise, you system could be compromised. +ENABLE_MCP_SERVER_CONFIGURATION=true + +# Enable or disable PYTHON_REPL configuration, the default is false. +# Please enable this feature before securing your in a managed environment. +# Otherwise, you system could be compromised. +ENABLE_PYTHON_REPL=false + +# Search Engine, Supported values: tavily (recommended), duckduckgo, brave_search, arxiv, searx +SEARCH_API=tavily +TAVILY_API_KEY=tvly-xxx +# SEARX_HOST=xxx # Required only if SEARCH_API is searx.(compatible with both Searx and SearxNG) +# BRAVE_SEARCH_API_KEY=xxx # Required only if SEARCH_API is brave_search +# JINA_API_KEY=jina_xxx # Optional, default is None + +# Optional, RAG provider +# RAG_PROVIDER=vikingdb_knowledge_base +# VIKINGDB_KNOWLEDGE_BASE_API_URL="api-knowledgebase.mlp.cn-beijing.volces.com" +# VIKINGDB_KNOWLEDGE_BASE_API_AK="AKxxx" +# VIKINGDB_KNOWLEDGE_BASE_API_SK="" +# VIKINGDB_KNOWLEDGE_BASE_RETRIEVAL_SIZE=15 + +# RAG_PROVIDER=ragflow +# RAGFLOW_API_URL="http://localhost:9388" +# RAGFLOW_API_KEY="ragflow-xxx" +# RAGFLOW_RETRIEVAL_SIZE=10 +# RAGFLOW_CROSS_LANGUAGES=English,Chinese,Spanish,French,German,Japanese,Korean # Optional. To use RAGFlow's cross-language search, please separate each language with a single comma + +# RAG_PROVIDER=dify +# DIFY_API_URL="https://api.dify.ai/v1" +# DIFY_API_KEY="dataset-xxx" + +# MOI is a hybrid database that mainly serves enterprise users (https://www.matrixorigin.io/matrixone-intelligence) +# RAG_PROVIDER=moi +# MOI_API_URL="https://cluster.matrixonecloud.cn" +# MOI_API_KEY="xxx-xxx-xxx-xxx" +# MOI_RETRIEVAL_SIZE=10 +# MOI_LIST_LIMIT=10 + +# RAG_PROVIDER: milvus (using free milvus instance on zilliz cloud: https://docs.zilliz.com/docs/quick-start ) +RAG_PROVIDER=milvus +MILVUS_URI=http://milvus:19530 +MILVUS_USER=root +MILVUS_PASSWORD=Milvus +MILVUS_AUTO_LOAD_EXAMPLES=false +# MILVUS_EMBEDDING_PROVIDER=openai # support openai,dashscope +# MILVUS_EMBEDDING_BASE_URL= +# MILVUS_EMBEDDING_MODEL= +# MILVUS_EMBEDDING_API_KEY= + +# RAG_PROVIDER: milvus (using milvus lite on Mac or Linux) +# RAG_PROVIDER=milvus +# MILVUS_URI=./milvus_demo.db +# MILVUS_COLLECTION=documents +# MILVUS_EMBEDDING_PROVIDER=openai # support openai,dashscope +# MILVUS_EMBEDDING_BASE_URL= +# MILVUS_EMBEDDING_MODEL= +# MILVUS_EMBEDDING_API_KEY= +# MILVUS_AUTO_LOAD_EXAMPLES=true + +# Optional, volcengine TTS for generating podcast +VOLCENGINE_TTS_APPID=xxx +VOLCENGINE_TTS_ACCESS_TOKEN=xxx +# VOLCENGINE_TTS_CLUSTER=volcano_tts # Optional, default is volcano_tts +# VOLCENGINE_TTS_VOICE_TYPE=BV700_V2_streaming # Optional, default is BV700_V2_streaming + +# Option, for langsmith tracing and monitoring +# LANGSMITH_TRACING=true +# LANGSMITH_ENDPOINT="https://api.smith.langchain.com" +# LANGSMITH_API_KEY="xxx" +# LANGSMITH_PROJECT="xxx" + +# [!NOTE] +# For model settings and other configurations, please refer to `docs/configuration_guide.md` + +# Option, for langgraph mongodb checkpointer +# Enable LangGraph checkpoint saver, supports MongoDB, Postgres +#LANGGRAPH_CHECKPOINT_SAVER=true +# Set the database URL for saving checkpoints +#LANGGRAPH_CHECKPOINT_DB_URL=mongodb://localhost:27017/ +#LANGGRAPH_CHECKPOINT_DB_URL=postgresql://localhost:5432/postgres