Windows下调试Dify相关组件(2)--后端Api

1.部署依赖的服务(代码最外层的docker目录)

1.1 将middleware.env.example复制,并改名为middleware.env。

1.2 查看docker-compose.middleware.yaml,有5个服务

db:postgres数据库。

redis:redis缓存。

sandbox:沙盒,组件运行环境。

ssrf_proxy: 防服务端请求伪造(SSRF,server-side request forgery)攻击代理。

weaviate:向量数据库,没用到知识库可以暂时删掉。

1.3 启动 Docker Desktop

1.4 cmd命令行切到docker目录,运行命令

bash 复制代码
docker-compose -f docker-compose.middleware.yaml up -d

正常完成后 docker ps命令可以查看运行的容器:

2. 安装poetry

2.1 要求**python版本须是3.11或3.12,建议3.12。**已安装python 3.12.2,系统识别python命令。

2.2 Powershell 执行

bash 复制代码
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

或cmd命令行 (如系统配置的是python3命令,请将后面的python改为python3):

bash 复制代码
curl -sSL https://install.python-poetry.org | python -

参考官网:Introduction | Documentation | Poetry - Python dependency management and packaging made easy (python-poetry.org)

2.3 安装完成后,将安装路径加入到系统环境变量Path中,查看版本,目前是2.0.0:

bash 复制代码
poetry --version
3. Api服务(代码最外层的api目录)

1.1 将.env.example复制,并改名为.env。

1.2 随便设置.env文件里的SECRET_KEY,也可以在Linux下运行下面命令去生成key:

bash 复制代码
openssl rand -base64 42

1.3 PyCharm 打开api目录,设置Poetry虚拟环境的解释器

终端运行命令 poetry env info 可以查看python环境情况。

1.4 安装依赖包

bash 复制代码
poetry install

如果提示 pyproject.toml changed significantly since poetry.lock was last generated. Run `poetry lock` to fix the lock file. 则先运行下面命令:

bash 复制代码
poetry lock

1.5 同步数据库表

bash 复制代码
poetry run python -m flask db upgrade

1.6 配置启动如图所示,然后可以调试了

1.7 遇到的问题

一开始用的Python3.11+PyCharm社区2023,调试的时候出现下面警告

sys.settrace() should not be used when the debugger is being used. This may cause the debugger to stop working correctly.

然后能到达断点,但调试不了,原因不明。

后改用Python3.12+PyCharm社区2024就好了。

1.8 结束

相关推荐
Easy数模2 小时前
使用llm进行高级主题建模:通过利用 BERTopic 的表示模型和生成式 AI 深入探讨主题建模
人工智能·llm·nlp
山顶夕景15 小时前
【LLM】Kimi-K2模型架构(MuonClip 优化器等)
大模型·llm·agent·强化学习·智能体
聚客AI21 小时前
🔥开源碾压闭源!Qwen3-Coder终端接入指南,小白也能玩转
人工智能·llm·掘金·日新计划
数据智能老司机1 天前
基础图谱增强检索生成(GraphRAG)——智能代理式 RAG
langchain·llm·aigc
Hi202402171 天前
支持OCR和AI解释的Web PDF阅读器:解决大文档阅读难题
pdf·flask·llm·ocr·阅读器
中等生1 天前
ReAct: 减少 LLM 幻觉,提升准确度
llm·openai·ai编程
智泊AI1 天前
NLP是什么?一文带你搞懂“自然语言处理(NLP)”看这篇就够了!
llm
harykali1 天前
Datawhale AI夏令营:Baseline与调优
性能优化·llm
charlee442 天前
PandasAI连接LLM进行智能数据分析
ai·数据分析·llm·pandasai·deepseek
EdisonZhou2 天前
多Agent协作入门:群聊编排模式
llm·aigc·.net core