Dify平台部署全攻略:快速上手的终极教程!

Dify 是 苏州语灵人工智能科技公司的一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。

1. 下载dify项目到本地

git clone https://github.com/langgenius/dify.git

docker-compose.yaml所在目录

在这里插入图片描述

2. 修改env

cp .env.example .env

2.1. 修改向量存储类型为milvus

端口要和milvus的docker-compose设置的端口一致
在这里插入图片描述在这里插入图片描述

2.2. etcd和minio使用本地部署(可选择)

milvus一键部署跳过这步

在这里插入图片描述

3. 启动服务

docker-compose up -d
docker-compose ps

在这里插入图片描述

http://ip/signin 邮箱登录
在这里插入图片描述

4. 设置模型

右上角设置
在这里插入图片描述

4.1. ollama的LLM模型

模型名称使用ollama list获取

在这里插入图片描述

4.2. Xinference的向量模型

模型名称和id在Xinference页面获取

在这里插入图片描述
在这里插入图片描述

4.3. Xinference的倒排索引模型

模型名称和id在Xinference页面获取

在这里插入图片描述
在这里插入图片描述

5. 知识库使用

5.1. 上传本地文件

在这里插入图片描述
在这里插入图片描述

右上角出现这个报错表示当前使用的默认模型,实际不存在
在这里插入图片描述

5.2. 可先选择经济方式,后续修改

在这里插入图片描述

5.3. 设置知识库使用模型

如果使用倒排索引也可以选择Rerank模型 、
在这里插入图片描述

5.4. 保存等待索引状态

在这里插入图片描述

如果页面出现报错也可查看dify_worker_1的日志

docker ps -a |  grep  dify

在这里插入图片描述
在这里插入图片描述

6. 应用使用

6.1. 创建应用

在这里插入图片描述
在这里插入图片描述

6.2. 修改模型

**加粗样式**

6.3. 引用知识库

在这里插入图片描述

6.4. 调试

在这里插入图片描述

如果你觉得文章还不错,请大家 点赞、分享、留言下!我还为大家准备了学习资料,感兴趣的小伙伴快来找我领取一起交流学习哦!

在这里插入图片描述
在这里插入图片描述

### Milvus向量化搜索引擎的使用和配置 #### 1. 安装和配置Milvus 安装Milvus可以通过Docker、Helm Chart或源码编译等方式完成。对于大多数用户来说,最简单的方式是通过Docker来部署Milvus[^1]。 ```bash docker pull milvusdb/milvus:v2.0-cpu-d061821-5e559c docker run -d --name milvus_cpu_v2.0 \ -p 19530:19530 \ -p 19121:19121 \ -v /home/$USER/milvus/db:/var/lib/milvus/db \ -v /home/$USER/milvus/conf:/var/lib/milvus/conf \ -v /home/$USER/milvus/wal:/var/lib/milvus/wal \ milvusdb/milvus:v2.0-cpu-d061821-5e559c \ bash bin/run_milvus.sh start ``` 这段命令会启动一个带有CPU支持的Milvus实例,并映射必要的端口和服务路径到宿主机上。 #### 2. 创建集合与索引 创建一个新的集合用于存储向量数据之前,需先定义好字段结构以及相应的参数设置: ```python from pymilvus import connections, FieldSchema, CollectionSchema, DataType, Collection connections.connect() fields = [ FieldSchema(name="id", dtype=DataType.INT64, is_primary=True), FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128) ] schema = CollectionSchema(fields) collection_name = "example_collection" milvus_collection = Collection(name=collection_name, schema=schema) index_params = { 'metric_type': 'L2', 'index_type': 'IVF_FLAT', 'params': {'nlist': 128} } milvus_collection.create_index(field_name="embedding", index_params=index_params) ``` 上述Python脚本展示了如何利用`pymilvus`库连接至Milvus服务并建立新的集合及其对应的索引结构。 #### 3. 插入数据 有了预先设定好的集合之后就可以往里面插入实际的数据点了: ```python import random entities = [[random.randint(1, 1000) for _ in range(1)], [random.random() * 100 for _ in range(128)]] res = milvus_collection.insert([entities]) print(res) ``` 这里随机生成了一些整数ID加上浮点型数组作为嵌入向量模拟真实世界中的特征表示形式。 #### 4. 执行搜索操作 最后一步就是执行相似性查询了,在给定目标向量的情况下找到与其最为接近的结果集: ```python search_param = {"metric_type": "L2", "params": {"nprobe": 10}} results = milvus_collection.search( data=[[random.random() * 100 for _ in range(128)]], anns_field='embedding', param=search_param, limit=5 ) for result in results: print(f"IDs of the top {len(result)} hits are:") for hit in result: print(hit.id) ``` 此段代码实现了基于距离度量(如欧氏距离)对已存入数据库内的记录进行K近邻(KNN)查找的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值