低代码!小白用10分钟也能利用flowise构建AIGC| 业务问答 | 文本识别 | 网络爬虫

一、与知识对话

在这里插入图片描述

二、采集网页问答

在这里插入图片描述

三、部署安装flowise

flowise工程地址:https://github.com/FlowiseAI/Flowise
flowise 官方文档:https://docs.flowiseai.com/

这里采用docker安装:

step1:克隆工程代码 (如果网络不好,下载压缩文件也是一样)

git clone  https://github.com/FlowiseAI/Flowise.git

step2:进入工程目录docker文件下复制 .env.example 内容创建 .env

关于这个文件参数说明:https://github.com/FlowiseAI/Flowise/blob/main/CONTRIBUTING-ZH.md

数据库支持 sqlite, mysql, postgres,这里我注释了数据库代码,默认则用sqlite;

如果想用mysql,postgres自己起服务也可以;注意mysql要8.0版本以上;

在这里插入图片描述
step3: 创建docker-compose-chroma.yml文件,这里是为了后续在组件当中使用向量数据库chroma

version: '3.1'

services:
    flowise:
        image: flowiseai/flowise
        restart: always
        environment:
            - PORT=${PORT}
            - FLOWISE_USERNAME=${FLOWISE_USERNAME}
            - FLOWISE_PASSWORD=${FLOWISE_PASSWORD}
            - DEBUG=${DEBUG}
            - DATABASE_PATH=${DATABASE_PATH}
            - APIKEY_PATH=${APIKEY_PATH}
            - SECRETKEY_PATH=${SECRETKEY_PATH}
            - FLOWISE_SECRETKEY_OVERWRITE=${FLOWISE_SECRETKEY_OVERWRITE}
            - LOG_PATH=${LOG_PATH}
            - LOG_LEVEL=${LOG_LEVEL}
            - EXECUTION_MODE=${EXECUTION_MODE}
        ports:
            - '0.0.0.0:${PORT}:${PORT}'
        volumes:
            - ~/.flowise:/root/.flowise
        networks:
            - flowise_net
        command: /bin/sh -c "sleep 3; flowise start"
networks:
    flowise_net:
        name: chroma_net
        external: true

step4: 构建容器并且启动,在下图所在所示路径下构建指定yml文件

docker-compose -f docker-compose-chroma.yml up -d

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

此时容器已经起来了

在这里插入图片描述

四、部署安装chroma

chroma工程地址:https://github.com/chroma-core/chroma
chroma官方文档:https://docs.trychroma.com/

step1: 获取chroma工程

git clone https://github.com/chroma-core/chroma.git

step2: 进入工程路径,构建容器镜像

cd chroma
docker-compose up -d --build

step3: 确认2个服务已经成功启动

在这里插入图片描述
step4: 确认chroma在docker容器中的IP地址,比如我的是 172.19.0.2

在这里插入图片描述

五、flowise使用教程

当你按照我上面的步骤,部署启动好了服务,访问
http://localhost:3008/

注意!

  1. 启动服务,如果用openai的官方key,需要本地科学上网,否则对话会擦红石
  2. 如下内容,有很多场景可以实现,比如pdf文件识别,多组件构成,必要条件你得掌握langchain
    才能实现复杂功能开发

(1)关于flowise编排说明

flowise不同于传统的编排,比如从左往右进行,开始结束很明显

所有的链接及其开发需要有一定的langchain认知能力,可以参考我langchain专栏的文章,举例

对于创建一个chain,其实可以遵循函数开发原理

关于langchain官方文档:https://python.langchain.com/docs/get_started/introduction

![在这里插入图片描述](https://img-blog.csdnimg.cn/fc6c2bb1f1d04da5a65707a7df4458fc.png

(2)flowise 面板介绍

在这里插入图片描述

(3)简单的LLM问答

在这里插入图片描述

(4)文件问答

在这里插入图片描述

(5)向量数据库问答

在实现这个flow时候,需要提前将数据向量化到数据库,准备任意QA文档,我这里50个历史问答

在这里插入图片描述

step1 将文档构建到向量数据库

from langchain.embeddings import OpenAIEmbeddings, SentenceTransformerEmbeddings
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.vectorstores import Chroma
from langchain.document_loaders import Docx2txtLoader
import chromadb
import os
import uuid

os.environ["OPENAI_API_KEY"] = '你的OpenAikey'

# 加载器
loader = Docx2txtLoader(r'C:\Users\wenwenc9\Desktop\历史问题50问答.docx')
documents_source = loader.load()

# 切割文件
text_splitter = RecursiveCharacterTextSplitter(chunk_size=50, chunk_overlap=20)
documents = text_splitter.split_documents(documents_source)

将文件向量到数据库
client = chromadb.HttpClient(host='localhost', port=8000)
# embedding_function = SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2")
embedding_function = OpenAIEmbeddings(model="text-embedding-ada-002")


# 通过langchain使用向量库
Chroma = Chroma(
    client=client,
    embedding_function=embedding_function,
)


try:
    collection = client.create_collection(name='history-qa', embedding_function=embedding_function)
    print("不存在集合,创建数据库")
    # 为每个文档创建一个文档id,并且将文档id,元数据,文档内容添加到数据库
    # 为文档增加id
    doc_ids = [str(uuid.uuid4()) for _ in documents]
    for i, _doc in enumerate(documents):
        _id = doc_ids[i]
        _doc.metadata['doc_id'] = _id  # 构建文档序号属性
    Chroma._collection = collection
    # 存储文档
    Chroma.add_documents(documents)
except Exception as e:
    collection = client.get_collection(name='history-qa', embedding_function=embedding_function)
    Chroma._collection = collection
    print('已经存在集合,进行查询')

res = Chroma.as_retriever().invoke("历史最早的纸币是那个国家发行的?")
print(res)

step2:验证是否成功构建生成向量

import os

os.environ["OPENAI_API_KEY"] = '你的key'

import chromadb

from langchain.embeddings import OpenAIEmbeddings

embedding_function = OpenAIEmbeddings()

client = chromadb.HttpClient(host='localhost', port=8000)

# 按名称从现有集合中获取集合对象。 如果未找到,将引发异常。
collection = client.get_collection(name="history-qa")
res = collection.peek(2)  # 返回集合中前 2 项的列表
print(res)

在这里插入图片描述

step4 在flowise服务构建 flow编排

在这里插入图片描述

(6)网页采集问答

目标地址

https://baike.baidu.com/item/%E8%83%8C%E5%BD%B1/2663983?fr=ge_ala
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/175921.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

redis之主从复制和哨兵模式

(一)redis的性能管理 1、redis的数据缓存在内存中 2、查看redis的性能:info memory(重点) used_memory:904192(单位字节) redis中数据占用的内存 used_memory_rss:10522624 redis向操作系统…

阿里云高校计划学生认证领无门槛代金券和教师验证方法

阿里云高校计划扫码完成学生验证即可领取300元无门槛代金券,还可领取3折优惠折扣,适用于云服务器等全量公共云产品,订单原价金额封顶5000元/年,阿里云服务器网aliyunfuwuqi.com分享阿里云高校计划入口及学生认证说明: …

【Redis篇】简述Redis | 详解Redis命令

文章目录 🎍什么是Redis🎍Redis特点🎍Redis应用场景🍔Windows安装Redis⭐启动Redis 🌺Redis数据类型🌺Redis常用命令⭐字符串string操作命令⭐哈希hash操作命令⭐列表list操作命令⭐集合set操作命令⭐有序集…

第十一章 目标检测中的NMS(工具)

精度提升 众所周知,非极大值抑制NMS是目标检测常用的后处理算法,用于剔除冗余检测框,本文将对可以提升精度的各种NMS方法及其变体进行阶段性总结。 总体概要: 对NMS进行分类,大致可分为以下六种,这里是依…

稳定性保障8个锦囊,建议收藏!

稳定性保障,是一切技术工作的出发点和落脚点,也是 IT 工作最核心的价值体现,当然也是技术人员最容易“翻车”的阴沟。8个稳定性保障锦囊,分享给各位技术人员择机使用。 #1 设定可量化的、业务可理解的可用性目标 没有度量就没有改…

vue diff算法原理以及v2v3的区别

diff算法简介 diff算法的目的是为了找到哪些节点发生了变化,哪些节点没有发生变化可以复用。如果用最传统的diff算法,如下图所示,每个节点都要遍历另一棵树上的所有节点做比较,这就是o(n^2)的复杂度,加上更新节点时的…

系列六、ThreadLocal内存泄漏案例

一、内存泄漏 vs 内存溢出 内存泄漏:内存泄漏是指程序中已经动态分配的堆内存由于某种原因程序未释放或者无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至导致系统崩溃等严重后果,内存泄漏最终 会导致内…

2023年中国宠物清洁用品分类、市场规模及发展特征分析[图]

宠物清洁用品指专用于清洁宠物毛发、口腔、耳部、脚爪等部位的各类宠物用品,包括宠物香波、滴耳露、修毛刀等。宠物主对宠物清洁用品需求的出现,一定程度上反映出部分宠物主与宠物间的感情逐渐加深,并逐渐达到了较为亲密的程度。随着宠物清洁…

掌握技术访谈:CNN、Seq2Seq、Faster R-CNN 和 PPO — 揭开卓越编码和创新之路

一、说明 本文 揭开CNN、Seq2Seq、Faster R-CNN 和 PPO — 编码和创新之路。对于此类编程的短小示例,用于开发时临时参考。 二、数据准备 问题陈述:在本次挑战中,您将深入计算机视觉世界并使用卷积神经网络 (CNN) 解决图像分类任务。您将使用…

electron入门(一)环境搭建,实现样例

1、首先需要安装git和node,配置环境变量,确保npm和git命令可用 2、 然后安装依赖 npm install -g electronnpm install -g electron-forgenpm install -g electron-prebuilt-compile3、 创建样例工程 electron-forge init my-new-app # 我这里碰见报错…

深度学习入门:自建数据集完成花鸟二分类任务

自建数据集完成二分类任务(参考文章) 1 图片预处理 1 .1 统一图片格式 找到的图片需要首先做相同尺寸的裁剪,归一化,否则会因为图片大小不同报错 RuntimeError: stack expects each tensor to be equal size, but got [3, 667…

如何使用环境变量运行bat脚本(开启数据库db)

文章目录 1.拥有一个bat脚本2. 右击本电脑,点击属性,找到高级设置3.新建一个环境变量命名为你想要的名字4. 找到Path,进入新增%m8%即可5.确认所有刚刚的操作,并关闭开始配置后的所有页面6.notice 1.拥有一个bat脚本 内容是执行mys…

【开源】基于Vue.js的康复中心管理系统

项目编号: S 056 ,文末获取源码。 \color{red}{项目编号:S056,文末获取源码。} 项目编号:S056,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 普通用户模块2.2 护工模块2.3 管理员…

精彩预告 | OpenHarmony即将亮相MTSC 2023

MTSC 2023 第12届中国互联网测试开发大会(深圳站)即将于2023年11月25日,在深圳登喜路国际大酒店举办,大会将以“1个主会场4个平行分会场”的形式呈现,聚集一众顶尖技术专家和行业领袖,围绕如今备受关注的行…

2023年中国油墨树脂主要环节、产量及市场规模分析[图]

油墨树脂是指用于油墨制造中的一种高分子材料,主要用于改善油墨的粘性、流动性、光泽度和耐磨性等性能。其主要成分为合成树脂,如聚酯、聚酰胺、聚丙烯酸酯等。油墨树脂在油墨制造中的应用非常广泛,可以用于各种类型的油墨,包括印…

(内部资料)收下这几个人工智能学习秘籍!

秘籍一:练好基本功 学习基础知识:人工智能涉及多个学科领域,包括数学、计算机科学、统计学等。因此,学习基础知识是非常重要的。您可以通过学习线性代数、概率论和微积分等数学基础知识,以及掌握Python编程语言和常用…

Linux学习笔记-Ubuntu下使用Crontab设置定时任务

文章目录 一、概述二、基于crontab的设置2.1 基本命令说明2.2 使用-e指令编辑命令2.2.1 进入编辑模式2.2.2 指令信息格式2.2.4 开启日志1) 修改rsyslog配置文件2) 重启rsyslog3) 查看日志 2.2.3 设置后之后重启服务 三、示例3.1 每隔一分钟往文件中日期3.2 使用-l查看任务列表3…

腾讯云服务器99元一年?假的,阿里云是99元

腾讯云服务器99元一年是真的吗?假的,不用99元,只要88元即可购买一台2核2G3M带宽的轻量应用服务器,99元太多了,88元就够了,腾讯云百科活动 txybk.com/go/txy 活动打开如下图: 腾讯云服务器价格 腾…

【Redis篇】简述Java中操作Redis的方法

文章目录 🎄简述Jedis🎄Jedis优点🍔使用Jedis连接Redis⭐进行测试🎈进行测试 Redis(Remote Dictionary Server)是一种流行的高性能内存数据库,广泛应用于各种应用程序和系统中。作为Java开发人员…

政府采购变数大,联想还值不值得代理渠道商们“跟”?

文|新熔财经 作者|余一 “事业单位更换纯国产电脑”、“联想被排除在大订单之外”等消息下,联想硬件终端产品面临的问题日益严峻。 早在今年年初,联想集团(下称联想)掌门人杨元庆坦承,“智能…