WrenAI部署,解决发送消息报错:failed to create asking task
项目地址:WrenAI
- 使用本地MySQL和Ollama,模型使用 qwen3:0.6b 和 nomic-embed-text:latest
- 服务在docker容器中
注意:
- 默认情况下,MySQL 的 root 用户只允许从 localhost (也就是宿主机本机) 登录。
- Ollama也要和MySQL一样允许所有IP访问。
查看容器服务日志的命令:
docker ps
docker logs -f <你的WrenAI容器名称或者ID>
.env 文件
在项目根目录(与 docker-compose.yaml 文件位于同一级),找到一个名为 .env 的文件。如果不存在就新建一个。在该 .env 文件中,添加下面这一行来定义你的 MySQL 数据库连接信息:
WRENAI_DATABASE_URL=mysql+pymysql://root:123456@host.docker.internal:3306/wrenai
请注意: 确保将末尾的 wrenai 替换为你实际的数据库名称。
config.yaml 文件
type: llm
provider: litellm_llm
models:
- api_base: http://host.docker.internal:11434
model: ollama_chat/qwen3:0.6b
alias: default
timeout: 600
kwargs:
n: 1
temperature: 0
---
type: embedder
provider: litellm_embedder
models:
- model: openai/nomic-embed-text:latest
alias: default
api_base: http://host.docker.internal:11434/v1
timeout: 600
---
type: engine
provider: wren_ui
endpoint: http://wren-ui:3000
---
type: engine
provider: wren_ibis
endpoint: http://ibis-server:8000
---
type: document_store
provider: qdrant
location: http://qdrant:6333
embedding_model_dim: 768
timeout: 120
recreate_index: true
---
type: pipeline
pipes:
- name: db_schema_indexing
embedder: litellm_embedder.default
document_store: qdrant
- name: historical_question_indexing
embedder: litellm_embedder.default
document_store: qdrant
- name: table_description_indexing
embedder: litellm_embedder.default
document_store: qdrant
- name: db_schema_retrieval
llm: litellm_llm.default
embedder: litellm_embedder.default
document_store: qdrant
- name: historical_question_retrieval
embedder: litellm_embedder.default
document_store: qdrant
- name: sql_generation
llm: litellm_llm.default
engine: wren_ui
document_store: qdrant
- name: sql_correction
llm: litellm_llm.default
engine: wren_ui
document_store: qdrant
- name: followup_sql_generation
llm: litellm_llm.default
engine: wren_ui
document_store: qdrant
- name: sql_answer
llm: litellm_llm.default
- name: semantics_description
llm: litellm_llm.default
- name: relationship_recommendation
llm: litellm_llm.default
engine: wren_ui
- name: question_recommendation
llm: litellm_llm.default
- name: question_recommendation_db_schema_retrieval
llm: litellm_llm.default
embedder: litellm_embedder.default
document_store: qdrant
- name: question_recommendation_sql_generation
llm: litellm_llm.default
engine: wren_ui
document_store: qdrant
- name: chart_generation
llm: litellm_llm.default
- name: chart_adjustment
llm: litellm_llm.default
- name: intent_classification
llm: litellm_llm.default
embedder: litellm_embedder.default
document_store: qdrant
- name: misleading_assistance
llm: litellm_llm.default
- name: data_assistance
llm: litellm_llm.default
- name: sql_pairs_indexing
document_store: qdrant
embedder: litellm_embedder.default
- name: sql_pairs_retrieval
document_store: qdrant
embedder: litellm_embedder.default
llm: litellm_llm.default
- name: preprocess_sql_data
llm: litellm_llm.default
- name: sql_executor
engine: wren_ui
- name: user_guide_assistance
llm: litellm_llm.default
- name: sql_question_generation
llm: litellm_llm.default
- name: sql_generation_reasoning
llm: litellm_llm.default
- name: followup_sql_generation_reasoning
llm: litellm_llm.default
- name: sql_regeneration
llm: litellm_llm.default
engine: wren_ui
- name: instructions_indexing
embedder: litellm_embedder.default
document_store: qdrant
- name: instructions_retrieval
embedder: litellm_embedder.default
document_store: qdrant
- name: sql_functions_retrieval
engine: wren_ibis
document_store: qdrant
- name: project_meta_indexing
document_store: qdrant
- name: sql_tables_extraction
llm: litellm_llm.default
---
settings:
engine_timeout: 30
column_indexing_batch_size: 50
table_retrieval_size: 10
table_column_retrieval_size: 100
allow_intent_classification: true
allow_sql_generation_reasoning: true
allow_sql_functions_retrieval: true
enable_column_pruning: false
max_sql_correction_retries: 3
query_cache_maxsize: 1000
query_cache_ttl: 3600
langfuse_host: https://cloud.langfuse.com
langfuse_enable: true
logging_level: DEBUG
development: true
historical_question_retrieval_similarity_threshold: 0.9
sql_pairs_similarity_threshold: 0.7
sql_pairs_retrieval_max_size: 10
instructions_similarity_threshold: 0.7
instructions_top_k: 10
重启服务
现在,一切都已配置妥当。回到你的终端,在 docker-compose.yaml 文件所在的目录中,执行以下命令来彻底重启所有服务:
docker-compose down
docker-compose up -d
总结:
config.yaml:用来配置 AI 模型、向量数据库等应用逻辑。.env:用来存放数据库密码等敏感信息和环境变量。docker-compose.yaml:用来定义和编排所有服务,并指定从哪里加载配置。

浙公网安备 33010602011771号