RAG项目在windows系统下的环境安装流程
RAG项目环境安装流程1 python虚拟环境 依赖文件 (requirements.txt) 自己创建requirements.txt文件, 将以下内容复制进去即可 123456789101112131415161718192021222324252627282930313233# Web框架fastapiuvicorn[standard]websockets# 数据库连接pymysqlredis# 向量检索rank_bm25scikit-learnnumpyjiebapandastransformerstorchlangchainlangchain_communitysentence_transformerspymilvus# AI模型openai# 配置和工具configparserlocustwebsocket-client# 其他依赖pydanticstarlette 打开cmd终端(win+r)输入以下命令 123456# 创建虚拟环境, 安装3.10及以上的python解析器conda create -n EduRAG python=3.10# 切换虚...
dify_tutorial
Dify介绍定义:Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service) 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。 安装Dify安装Dify所在的机器的最低配置:CPU核数 >= 2 Core RAM运行内存 >= 4GB 先安装WSL(Windows Subsystem for Linux),根据系统,可选执行原因:dify依赖linux系统,如果是在linux系统上部署,比如Ubuntu,就不需要安装WSL 定义:WSL 本质上是 Windows 的一个功能组件/子系统,它让 Windows 具备了原生运行 Linux 程序的能力,同时提供了管理这个环境的工具集。 参考操作文档:https://learn.microsoft.com/zh-cn/windows/wsl/install 以管理员权限打开PowerShell,运行以下命令去安装WSL:1wsl --install 安装完成后,重启电脑 已完成配置安装linux发行版ubuntu1wsl.exe...
教材PPT总结-2025-02
2025-02-05Welcome to our class!My name’s Nata and I will be your teacher today. I live in Indonesia. I like gardening and cooking.Email: natalisa.k.balicenter@gmail.comIf you would like to book another lesson with me, you can email me and I will be happy to help. Introduce yourself:· What is your preferred name?· Where are you from?· What do you do?· What are your hobbies? Students:JamesLilySophieMa (Cherry)JunAlanBob Listening today:Steven Lesson tit...
lora微调笔记
微调笔记 分类: fine tuning 传统全量微调,(高质量微调) prompt tuning(提示词微调) 技术:指令微调 上下文学习 chain of thought(思维链) PET模型(Pattern-Exploiting Training) POFT方法:分成三种类型:(面向提示的微调) 全量微调(Full Fine-Tuning):模型所有参数都参与更新,包括预训练模型参数和下游任务层参数。如PET模型。 部分参数微调(Partial Fine-Tuning):只更新预训练模型中的一部分参数,比如高层 transformer block、某些 attention 层或特定模块,其余参数冻结。如Adapter Tuning。 仅提示参数微调(Prompt-Only Tuning):冻结原始预训练模型参数,只训练 prompt 参数。如P-tuning、Prompt Tuning等。 Soft Prompt及微调方法PEFT(参数高效微调) conda env export > /ptune_chatglm/...
教材PPT总结-2025-01
2025-01-07Vocabulary and grammar Making suggestions: what say we; what if we were to; suppose we; let’s say we; etc. Giving alternatives: rather than/we could; alternatively, we could; we could … instead; etc. Notes JimmyProcurement engineer, enjoys learning English Because of censorship, you can learn something different from the foreign website. If I were you, i would…. We could right some English emails to our customers, coworkers and other people. Istead of goung dancing, alternativ...
FastAPI的初级使用
简单的FastAPI实现FastAPI的get方法的简单使用 注意:localhost:port/docs可以看到该ip+端口号,可以访问到的接口数量和状态 1234567891011121314151617181920212223242526# FastAPI_Simple_apply.pyfrom fastapi import FastAPI,WebSocket# 创建 FastAPI 应用实例,设置标题和描述app = FastAPI(title="问答系统API", description="集成MySQL和RAG的智能问答系统")@app.get("/greet") # 访问该root函数内容的地址为:http://localhost:11557/greet。async def root(): # 在网页打印return的信息内容 return {"message": "Hello World"}if __name__ == &...
RAG流程
RAG流程:mysql储存FQA高频问答对数据 问题检索:BM25 连接数据库 添加表(带着字段) 添加数据 json.dumps() mysql 存储自己的网址和密码。(自己设计一个RAG系统) 声明回退问题,把原来的复杂查询简化,第一个query检索 进行改写。主题含义不变。 milvus可以处理的数据集的大小限制是多少 技术实现: 增强索引:设计目标、核心功能、技术实现 多粒度切块,把块-分子块,对应的父块,提供给LLM 文档切成一块,存储milvus中的文档, query是为题,编程向量, 太长的拆成四个 128个向量 父块是一个 子块分成子块去做检索 切块的子块数都是超参数 混合检索:BM25,向量检索,字符检索 base:基础模块,配置、日志 core:核心逻辑模块,实现RAG的关键功能 main:系统运行入口,支持数据处理和交互查询 中午将一份唯二 通用知识由大语言模型回答, 直接 hyde 子查询 会输 文档检索:支持抽向量和系数向量的混合检索, 中午,下午 语义关键字,倒排(关键字检索 两句话的相似性, 混合检索,重排序优化, 作为回答送给大模型,方便理解。 用...
RAG-Langchain
RAG-LangchainRAG解决什么问题: 信息过时:网络检索,获取最新数据 领域知识缺失:微调,将专有和私有的知识放到知识库里 幻觉:RAG(retrieval augmented generate),减轻幻觉,基于相关文档进行生成, 安全:RAG,无需将数据送到公开大模型中训练,放到本地知识库,使用本地的模型(api会泄露)进行调用,避免数据的公开和泄露。2)私有数据时存在本地知识库的,做一个权限的管控。 RAG定义:检索技术+生成(LLM提示) 处理流程:构建索引(文件加载、内容读取、chunk构建(拆成小文件,小块)、向量化(小块文档向量化)、落向量化 检索:query向量化,找到topk 生成:topk+query构建prompt;llm生成。 开发框架:LLaMAIndex、Langchain(快速搭建大模型) Langchainlangchain将模型分为三种( langchian是用于构建大模型应用程序的框架,帮助开发者更高效的组合和使用多语言的工具。 原始大模型:LLM、chat models、embeddings chain:组装chain:chain...
Python调用Ollama平台本地部署QWen大模型API实现聊天机器人
今日目标 掌握Ollama模块实现 熟练使用Streamlit 掌握基于Ollama平台Python语言聊天机器人实现 【熟悉】阿甘智聊机器人项目介绍随着人工智能技术的飞速发展,聊天机器人在多个领域得到了广泛应用,如客户服务、教育辅导、娱乐互动等。然而,现有的许多聊天机器人依赖于云端服务,这不仅可能导致用户数据隐私泄露,还可能因网络延迟影响用户体验。因此,开发一款本地部署的聊天机器人显得尤为重要。本地聊天机器人能够在用户本地环境中运行,确保数据的安全性和对话的实时性,同时也能根据用户的个性化需求进行定制和优化。 项目演示 项目技术架构 后端模型:利用 Ollama 平台的 Qwen 模型,该模型具备出色的自然语言处理能力,能够理解和生成自然语言文本,为聊天机器人提供核心的对话处理功能。 前端界面:采用 Streamlit 框架搭建用户界面,Streamlit 是一个简单易用的 Python 库,能够快速创建美观、交互式的 Web 应用,使用户能够通过网页与聊天机器人进行实时对话。 对话交互:用户可以通过 Streamlit 界面输入文本,聊天机器人基于 Qwen 模型对输入...
LLM-Index
LLM-Index昨日回顾1、output parsers 字符串解析器 列表解析器 json解析器 pydantic解析器 自定义解析器 2、memory ChatMessageHistory history.add_user_message(xxx) history.add_ai_message(xxx) message_to_dict() messages_from_dict() ConversationChain(自动管理上下文) ConversationChain(llm=model) conversation.predict(input=’xxx’) 3、Index(RAG核心组件) 文件加载器 创建UnstructuredLoader对象load docs = loader.load html可以用自己的html对象 文档分割器 创建文档分割器的对象(separator,chunk_size,chunk_overlap) 单文档切割 多文档切割(打印信息不同,打印出多个document的k...