- 博客(126)
- 资源 (29)
- 收藏
- 关注
原创 LLM模型的generate和chat函数区别
在 Hugging Face 的 transformers 库中,GPT(Generative Pre-trained Transformer)类的模型有两个常用的生成文本的方法:generate 和 chat。这两个方法在使用上有一些区别。通常公司发布的 LLM 模型会有一个基础版本,还会有一个 Chat 版本。比如,Qwen-7B(基础版本)和 Qwen-7B-Chat(Chat 版本)。
2024-12-14 11:01:42
718
原创 当 docker-compose.yaml 文件部署时,Dify 线上版本升级过程
本文主要介绍当 docker-compose.yaml 文件部署时,Dify 线上版本升级过程。主要用到的内容就是 docker 目录中的这些文件。对这些文件的详细介绍,参考文献[2]。
2024-11-17 17:00:28
6286
2
原创 Dify 通过导入 DSL 文件创建 Workflow 过程及实现
本文使用 Dify v0.9.2 版本,主要介绍 Dify 通过导入 DSL(或 URL)文件创建(或导出)Workflow 的操作过程及源码分析实现过程。
2024-11-17 16:58:50
4272
原创 Dify 通过 API 调用 RAGFlow 外部知识库
本文使用 Dify v0.10.0+ 和 RAGFlow v0.12.0+ 版本(源码运行)。Dify 中的 RAG 一直被诟病,现在 Dify 提供了外部知识库 API,这样就可以连接到 Dify 之外的知识库并从中检索知识。第一个问题是 API 规范,包括接口格式、输入和输出参数等。第二个问题是哪些外部知识库支持该 API 呢?理论上讲只要支持 API 规范都是可行的。
2024-11-16 22:40:43
7229
9
原创 Dify 中误删或更新 privkeys 后导致 File not found 问题及解决方案
本文使用 Dify v0.10.2 版本,主要介绍了在迁移或部署 Dify 时,可能由于误删或更新 privkeys 后导致 File not found 问题及解决方案,参考文献[1]。
2024-11-16 22:39:00
1551
2
原创 Dify 中获取应用(Chatflow)的对话记录
本文使用 Dify v0.11.1 版本,主要介绍 Dify 中获取应用(Chatflow)对话记录的过程和原理。
2024-11-15 23:55:43
5375
5
原创 Dify 中自带的门诊导诊工作流(Chatflow)
本文使用 Dify v0.7.2 版本。此聊天流程展示了如何构建一个用于门诊导诊的聊天机器人,可通过网页或语音对话来收集病人的数据。简单理解,即根据患者信息(年龄、性别和症状),给患者推荐科室。
2024-11-14 23:16:01
5176
9
原创 打通 Dify 和 ComfyUI 的绘画尝试
通过 Dify 可以调动很多 ComfyUI 工作流,以及第三方的图像、视频、音频模型的 API 接口。真正实现了控制与执行的分离,协同完成内容创作。打通 Dify 和 ComfyUI 技术实现思路:(1)Dify 工作流 HTTP 请求节点;(2)Flask 封装 REST 接口;(3)REST 接口中调用导出的 ComfyUI 工作流 json 文件。其它要注意的是 Dify 给 ComfyUI 的 prompt 参数传递,以及 ComfyUI 生成的图像返回给 Dify。
2024-11-14 23:13:16
886
原创 Dify 中的 @login_required 装饰器
本文主要介绍了 Dify 中的 @login_required 装饰器的具体实现过程,用于确保用户在调用视图函数之前已经登录和认证。源码位置:dify\api\libs\login.py。
2024-11-04 17:28:09
877
原创 Dify 中的 Bearer Token 与 API-Key 鉴权方式
本文使用 Dify v0.10.2 版本,在 Dify 中包括 Bearer Token 与 API-Key 鉴权这 2 种方式。console(URL 前缀/console/api)和 web(URL 前缀/api)蓝图使用的是 Bearer Token 鉴权方式,而 service_api(URL 前缀/v1)蓝图使用的是 API-Key 鉴权方式。
2024-11-04 17:26:36
2215
原创 Python 中的方法解析顺序(MRO)
在 Python 中,MRO(Method Resolution Order,方法解析顺序)是指类继承体系中,Python 如何确定在调用方法时的解析顺序。MRO 决定了在多继承环境下,Python 如何寻找方法或属性,即它会根据一定规则从父类中查找方法或属性,避免重复继承带来的歧义。
2024-09-21 00:03:03
2318
原创 Python 中的 Kombu 类库
Kombu 是一个用于 Python 的消息队列库,提供了高效、灵活的消息传递机制。它是 Celery 的核心组件之一,但也可以单独使用。Kombu 支持多种消息代理(如 RabbitMQ、Redis、Amazon SQS 等),并提供了消息生产者和消费者的功能。安装命令 pip install kombu redis。
2024-09-21 00:01:08
2341
原创 对 Python 中 GIL 的理解
Python 中的全局解释器锁(Global Interpreter Lock,GIL)是 CPython 解释器的一个机制,用来确保在多线程环境下,只有一个线程可以执行 Python 字节码,任何时刻只能有一个线程在执行 Python 代码。这意味着,即使有多个 CPU 核心,Python 的多线程程序在同一时间也只有一个线程在执行,无法充分利用多核处理器的优势。
2024-09-20 08:26:37
1773
原创 Python 中的 typing 模块常见用法
typing 模块是 Python 提供的一个标准库,主要用于为函数、变量和类定义类型提示(Type Hints),从而提高代码的可读性和类型安全性。虽然 Python 是动态类型语言,但通过 typing 模块,开发者可以明确指定变量和函数的参数、返回值的类型,帮助 IDE 或静态代码分析工具提供更好的代码提示和错误检查。虽然 Python 本身不会强制执行这些类型检查,但借助 mypy 等工具,可以进行静态类型分析,帮助发现潜在问题。
2024-09-20 08:23:29
1977
原创 Flask、Werkzeug 和 WSGI 间的关系
Flask 是一个基于 Werkzeug 和 Jinja2 模板引擎的轻量级 Web 框架。Werkzeug 是 Flask 的底层 WSGI 工具包,它提供了 WSGI 服务器、请求和响应对象、路由等基础功能,Flask 在此基础上构建了更高级的 Web 框架功能。
2024-09-19 09:29:15
679
原创 PyCharm 调试 Xinference 遇到问题及解决方案
本文使用的 PyCharm 2024.2.1 版本,如果使用低版本 PyCharm,那么在调试 Xinference v0.15.1 源码时可能会报错 Connection to Python debugger failed Socket closed。
2024-09-19 09:22:12
1740
原创 将flux1画图API封装为Dify工作流
本文主要介绍将公开的 flux1 画图 API(https://api-flux1.api4gpt.com/)封装为 Dify 工作流。
2024-09-18 23:29:34
735
原创 Dify 中的讯飞星火平台工具源码分析
本文主要对 Dify 中的讯飞星火平台工具 spark 进行了源码分析,该工具可根据用户的输入生成图片,由讯飞星火提供图片生成 API。通过本文学习可自行实现将第三方 API 封装为 Dify 中工具的能力。
2024-09-18 23:27:31
2651
2
原创 在Ubuntu20.04中Docker使用GPU设备可能遇到的一种问题
在使用pytorch/torchserve:0.11.0-gpu镜像的时候,可能会遇到Error response from daemon: could not select device driver "nvidia" with capabilities: [[gpu]]。本质原因是没有安装nvidia-docker相关依赖包。
2024-08-08 21:15:48
714
原创 在Dify中添加非内置的SiliconCloud模型
本文介绍了在Dify中添加SiliconCloud模型的两种方式,重点介绍了Dify中添加非内置的SiliconCloud模型的操作过程。
2024-08-08 21:14:13
1211
原创 Python操作Redis指南
文本主要介绍使用Python中的redis-py库来操作Redis数据库,包括安装必要的包、建立和关闭连接、执行增删改查操作以及处理可能的异常。这些操作将在Python应用程序中与Redis数据库进行有效的交互。
2024-07-27 18:57:08
502
原创 Python操作PostgreSQL指南
文本介绍了使用Python中的psycopg2库来操作PostgreSQL数据库,包括安装必要的包、建立和关闭连接、执行增删改查操作以及处理可能的异常。这些操作将在Python应用程序中与PostgreSQL数据库进行有效的交互。
2024-07-27 18:56:22
1942
2
原创 Python客户端操作Elasticsearch
这段代码是使用Python的elasticsearch模块与Elasticsearch进行交互的示例。
2024-07-27 18:55:40
1044
原创 Poetry入门教程
以前使用模块管理和虚拟环境为pip和Virtualenv组合,随着Rasa、Dify等开源项目逐步使用Poetry模块管理,也开始尝试使用Poetry。本文简要介绍Poetry入门操作。
2024-07-27 18:54:45
2429
原创 Dify中语音和文字间转换问题的一种暂时注释方式
本文主要解释了Dify中语音和文字间转换可能会遇到的问题,并给出了一种暂时注释的解决方案。
2024-07-27 18:53:28
3476
16
原创 图文长故事生成器工作流
本文主要从2个角度介绍了图文长故事生成器工作流,分别是每个故事画一张图(比如关于心态的故事)和每个段落画一张图。因为每个故事由多个段落组成,后者即对每个段落画一张图。更具体的工作流不再介绍,详细参考文献[2]。
2024-07-27 18:52:29
1368
原创 Dify自带的长故事生成器工作流
本文主要简要的介绍了Dify自带的长故事生成器工作流的实践过程,尤其是迭代节点和代码节点的灵活组合,可以让Dify工作流如虎添翼。当工作流执行结束后,可以通过查看日志->追踪,对于工作流中每个节点执行情况进行详细的查看和调试。
2024-07-27 18:51:16
3490
原创 Dify中HTTP请求节点的常见操作
HTTP节点包括API请求类型(GET、POST、HEAD、PATCH、PUT、DELETE),鉴权类型(无、API-Key基础、API-Key Bearer、API-Key自定义),HEADERS键值设置,PARAMS键值设置,BODY,超时设置(连接超时、读取超时、写入超时),输出变量(body String 响应内容、status_code Number 响应状态码、headers Object 响应头列表 JSON、files Array[File] 文件列表)。
2024-07-27 18:49:25
13235
31
原创 ComfyUI中的BizyAir节点操作
因为多模态模型对计算机硬件GPU要求高,BizyAir定位是可以在任何环境中运行Comfy节点。本质是把部分节点放在云端执行返回结果。如果能把耗时耗GPU节点放在云端加速好,这也是非常不错的。
2024-07-21 01:23:34
2458
原创 Dify中接入GPT-4o mini模型
GPT-4o mini("o"代表"omni")是小型型号类别中最先进的型号,也是OpenAI迄今为止最便宜的型号。它是多模态的(接受文本或图像输入并输出文本),具有比 gpt-3.5-turbo 更高的智能,但速度同样快。它旨在用于较小的任务,包括视觉任务。建议在之前使用 gpt-3.5-turbo 的地方选择 gpt-4o-mini ,因为此模型功能更强大且更便宜。
2024-07-21 01:22:36
1614
原创 Dify中的高质量索引模式实现过程
思考在什么情况下会使用到高质量索引模式呢?第1种情况是在知识库中上传文档,文档被拆分为段落后需要进行编码(增加);第2种情况是在召回测试的时候,需要对query进行编码(查询);第3种情况是当文档中的段落增加和更新时需要进行编码(增加和更新)。索引模式是针对知识库设置的,即对该知识库中所有的文档都生效。本文主要解释Dify中的高质量索引模式实现过程。
2024-07-15 22:54:56
2879
原创 TF和TF-IDF区别和联系
TF(Term Frequency)和TF-IDF(Term Frequency-Inverse Document Frequency)都是用于文本挖掘和信息检索的统计方法,用于评估一个词在文档或文档集合中的重要性。
2024-07-15 22:53:43
830
原创 Dify中Jieba类的create()方法实现过程
整个create方法的目的是为了处理一批文本,提取它们的关键词,并更新关键词表,以便于后续的关键词搜索和索引。这个过程通过获取锁来保证数据的一致性和操作的原子性。该create方法是Jieba类的一部分,用于处理文本列表,提取关键词,并更新关键词表。
2024-07-14 23:04:34
1022
原创 Dify中高质量索引模式时,通过线程池处理chunk过程
本文主要介绍了Dify中高质量索引模式时,如何通过线程池执行器来处理chunk的过程。源码位置:dify\api\core\indexing_runner.py\IndexingRunner._load。核心思想:假设一个数据集中有一个文档,该文档可以拆分为12个段(segment)。如果chunk_size=10,那么分为2批提交给线程池执行器进行处理。
2024-07-13 23:29:19
1414
原创 Python中的名称修改和特殊属性
在 Python 中,以双下划线(__)开头但不以双下划线结尾的变量主要用于类的私有属性,这种命名方式被称为名称修饰(name mangling)。名称修饰会将变量名转换为类名和变量名的组合,从而避免在子类中发生意外覆盖。
2024-07-12 23:04:38
439
人工智能干货推荐.txt
2019-06-20
flasky.zip
2019-05-29
TextRNN的TensorFlow实现
2019-01-24
ResNet的Keras实现
2019-01-22
ResNet的TensorFlow实现
2019-01-22
apache-ant-1.8.3-bin.tar
2014-11-02
概率与计算
2014-08-21
Git-1.9.4-preview20140611.exe
2014-07-15
python-delicious-master
2014-05-28
岭回归分析总结
2014-04-21
MySql常用命令详解
2013-05-08
JavaScript权威指南
2013-03-22
Snort入侵检测
2013-03-12
知者无畏:一个真实的病毒世界
2013-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人