【Dify基础实战】跟网页对话

Dify跟网页对话的测试效果如下

一、配置大模型

Dify部署先看这篇 《从零开始Dify本地部署|Windows》

启动Dify后,右上角个人中心-设置-模型供应商
可以配置OpenAI智谱AI通义千问Kimi

我以硅基流动为例,要注册的可以看这篇 《【1024送福利】硅基流动送2000万token啦!撒花✿✿ 附使用教程》

拿到硅基流动的API-Key后,配置如下

填上API-Key后就加载出所有的模型,需要哪个模型,就开哪个模型,我开的这几个都是免费的模型

这样就配置好了大模型

二、创建工作流应用

三、工作流整体框架

  1. 开始:输入 问题 和 网页网址
  2. 解析网页
  3. 代码处理网页
  4. LLM跟网页对话
  5. 结束

四、工作流详情

这部分是五个节点的详细配置

4.1 开始节点

4.2 获取单页面

  1. 点 开始节点后面的 “+”号
  2. 搜索“jina”
  3. 选中“获取单页面”
  4. 变量网址赋值Search_URL

4.3 代码执行-页面处理

为了跟大模型对话有更好的性能,我们可以把不需要的字符先处理一下。

比如图片和多个换行符

注意: main函数的输出得是dict格式dict中的key才能作为输出变量result

Dify仅支持部分python包,所以不能用re包来处理网页中的字符,就用的其他字符处理方法。

这段代码中实现了

  • 移除 Markdown 图片格式
  • 优化换行符
  • def process_content(content):
        # 1. 去除图片的 Markdown 格式
        lines = content.split('\n')
        filtered_lines = [line for line in lines if not line.startswith("![Image")]
        content_without_images = "\n".join(filtered_lines)
        
        # 2. 处理换行符:将大于3个连续换行符替换为两个
        # 逐行处理并移除多余换行
        result = []
        empty_count = 0
        for line in content_without_images.splitlines():
            if not line.strip():  # 如果是空行
                empty_count += 1
            else:
                empty_count = 0
            # 如果连续空行少于等于2,保留
            if empty_count <= 2:
                result.append(line)
        
        # 合并为最终结果
        return "\n".join(result)
    
    def main(json_data:str)-> dict:
        # 将 JSON 字符串转换为字典
        data = json.loads(json_data)
        
        # 提取 content 字段
        content = data.get("data", {}).get("content", "")
        # 处理 content
        processed_content = process_content(content)
    
        return {
            "result": processed_content,
        }
    

    4.4 LLM-跟网页对话

  • 任意选择一个大模型(在配置时勾选上的大模型)
  • 上下文选择代码处理的结果
  • systemuser的提示词设置,按需配置
  • 你是智能客服,请以高效、简洁、礼貌、有序地回答问题
    
    基于{{上下文}},针对用户问题{{开始.Query}},提供简洁回答。
    
    请直接回答问题,无需提及信息来源。
    

    4.5 结束节点

    五、测试效果和详情

    网址链接

    https://mp.weixin.qq.com/s/0Wv-0_dulHQGc1MM5YfElw
    

    用户问题

    购买一手住房的,公积金贷款期限是多少年?
    

    详情中可以看到各个节点的运行详情

    作者:华尔街的幻觉

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【Dify基础实战】跟网页对话

    发表回复