当前位置: 首页 > news >正文

建个网站多少钱百度网站免费优化软件下载

建个网站多少钱,百度网站免费优化软件下载,装修设计公司哪家好,旅游网站建设方案两百字【RAG 项目实战 07】替换 ConversationalRetrievalChain#xff08;单轮问答#xff09; NLP Github 项目#xff1a; NLP 项目实践#xff1a;fasterai/nlp-project-practice 介绍#xff1a;该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用#xff0c;分享大…【RAG 项目实战 07】替换 ConversationalRetrievalChain单轮问答 NLP Github 项目 NLP 项目实践fasterai/nlp-project-practice 介绍该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用分享大模型算法工程师的日常工作和实战经验 AI 藏经阁https://gitee.com/fasterai/ai-e-book 介绍该仓库主要分享了数百本 AI 领域电子书 AI 算法面经fasterai/nlp-interview-handbook#面经 介绍该仓库一网打尽互联网大厂NLP算法面经算法求职必备神器 NLP 剑指Offerhttps://gitee.com/fasterai/nlp-interview-handbook 介绍该仓库汇总了 NLP 算法工程师高频面题 一、RAG 整体流程 检索式问答的系统流程图 二、RAG 核心模块 2.1 环境配置 # Author青松 # 公众号FasterAI # Python, version 3.10.14 # Pytorch, version 2.3.0 # Chainlit, version 1.1.3012.2 分割文本块并对每一个块建索引 # 配置文件分割器每个块1000个token重复100个 text_splitter RecursiveCharacterTextSplitter(chunk_size1000, chunk_overlap100)# 将文件分割成文本块 texts text_splitter.split_text(text)# 为每个文本块添加元数据 metadatas [{source: f{i}-pl} for i in range(len(texts))]# 使用异步方式创建 Chroma 向量数据库 vectorstore await cl.make_async(Chroma.from_texts)(texts, embeddings_model, metadatasmetadatas )# 将 Chroma 向量数据库转化为检索器 retriever vectorstore.as_retriever()2.3 构建 RAG 链 # RAG_Prompt根据参考内容回答用户问题 rag_template 你是一个专门处理问答任务的智能助理。请使用给定的参考内容来回答用户的问题如果你不知道答案就说你不知道不要试图编造答案。 \\n\n用户问题: {question} \n参考内容: {context} \n答案:rag_prompt PromptTemplate.from_template(rag_template)# RAG链根据问题和参考内容生成答案 rag_chain ({context: retriever | format_docs, question: RunnablePassthrough()}| rag_prompt| llm| StrOutputParser() )2.4 检索生成 rag_chain cl.user_session.get(rag_chain)# 使用RAG链处理用户问题 response rag_chain.invoke(message.content,configRunnableConfig(callbacks[cl.LangchainCallbackHandler()]), )# 大模型的回答 await cl.Message(contentresponse).send()三、RAG 效果展示 启动程序 chainlit run rag_app.py -w系统截图 问题一对第一个问题大模型可以根据文档内容生成答案。问题二对第一个问题大模型未能结合聊天历史进行RAG。 四、RAG 完整代码 # Author青松 # 公众号FasterAI # Python, version 3.10.14 # Pytorch, version 2.3.0 # Chainlit, version 1.1.301import chainlit as cl from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain.vectorstores import Chroma from langchain_community.embeddings import HuggingFaceBgeEmbeddings from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import PromptTemplate from langchain_core.runnables import RunnableConfig, RunnablePassthroughimport llm_util from common import Constants# 获取大模型实例 llm llm_util.get_llm(Constants.MODEL_NAME[QianFan])# 获取文本嵌入模型 model_name BAAI/bge-small-zh # 对模型生成的嵌入进行归一化处理将它们缩放到具有单位范数长度为1的尺度 encode_kwargs {normalize_embeddings: True} embeddings_model HuggingFaceBgeEmbeddings(model_namemodel_name, encode_kwargsencode_kwargs )cl.on_chat_start async def on_chat_start(): 监听会话开始事件 await send_welcome_msg()files None# 等待用户上传文件while files is None:files await cl.AskFileMessage(contentPlease upload a text file to begin!,accept[text/plain],max_size_mb20,timeout180,).send()file files[0]# 发送处理文件的消息msg cl.Message(contentfProcessing {file.name}..., disable_feedbackTrue)await msg.send()with open(file.path, r, encodingutf-8) as f:text f.read()# 配置文件分割器每个块1000个token重复100个text_splitter RecursiveCharacterTextSplitter(chunk_size1000, chunk_overlap100)# 将文件分割成文本块texts text_splitter.split_text(text)# 为每个文本块添加元数据metadatas [{source: f{i}-pl} for i in range(len(texts))]# 使用异步方式创建 Chroma 向量数据库vectorstore await cl.make_async(Chroma.from_texts)(texts, embeddings_model, metadatasmetadatas)# 将 Chroma 向量数据库转化为检索器retriever vectorstore.as_retriever()cl.user_session.set(retriever, retriever)# RAG_Prompt根据参考内容回答用户问题rag_template 你是一个专门处理问答任务的智能助理。请使用给定的参考内容来回答用户的问题如果你不知道答案就说你不知道不要试图编造答案。 \\n\n用户问题: {question} \n参考内容: {context} \n答案:rag_prompt PromptTemplate.from_template(rag_template)# RAG链根据问题和参考内容生成答案rag_chain ({context: retriever | format_docs, question: RunnablePassthrough()}| rag_prompt| llm| StrOutputParser())cl.user_session.set(rag_chain, rag_chain)# 通知用户文件已处理完成更新当前窗口的内容msg.content fProcessing {file.name} done. You can now ask questions!await msg.update()cl.on_message async def on_message(message: cl.Message): 监听用户消息事件 rag_chain cl.user_session.get(rag_chain)# 使用RAG链处理用户问题response rag_chain.invoke(message.content,configRunnableConfig(callbacks[cl.LangchainCallbackHandler()]),)# 大模型的回答await cl.Message(contentresponse).send()async def send_welcome_msg():image cl.Image(urlhttps://qingsong-1257401904.cos.ap-nanjing.myqcloud.com/wecaht.png)# 发送一个图片await cl.Message(content**青松** 邀你关注 **FasterAI** 让每个人的 AI 学习之路走的更容易些立刻扫码开启 AI 学习、面试快车道 **(^_^)** ,elements[image],).send()def format_docs(docs): 拼接检索到的文本块 return \n\n.join(doc.page_content for doc in docs)【动手学 RAG】系列文章 【RAG 项目实战 01】在 LangChain 中集成 Chainlit【RAG 项目实战 02】Chainlit 持久化对话历史【RAG 项目实战 03】优雅的管理环境变量【RAG 项目实战 04】添加多轮对话能力【RAG 项目实战 05】重构封装代码【RAG 项目实战 06】使用 LangChain 结合 Chainlit 实现文档问答【RAG 项目实战 07】替换 ConversationalRetrievalChain单轮问答【RAG 项目实战 08】为 RAG 添加历史对话能力More… 【动手部署大模型】系列文章 【模型部署】vLLM 部署 Qwen2-VL 踩坑记 01 - 环境安装【模型部署】vLLM 部署 Qwen2-VL 踩坑记 02 - 推理加速【模型部署】vLLM 部署 Qwen2-VL 踩坑记 03 - 多图支持和输入格式问题More…
http://www.tj-hxxt.cn/news/224277.html

相关文章:

  • 石家庄手机网站制作济南学习网站制作
  • 成都网站建设招聘阜新旅游网站建设
  • 网站上线倒计时 模板建设部网站 43号文件
  • 外贸网站建设网站开发在线制作logo网站
  • 为什么电子网站开发平面设计公司简介模板
  • 国外网站在国内做镜像站点鄠邑建站 网站建设
  • 光泽网站建设wzjseo江门建站网站模板
  • 网站建设需要会什么wordpress php 5.2.17
  • 上海专业网站推广公司过期网站.
  • 社区网站建设方案书做pc网站排
  • 凡科做的网站可以优化seo服务 收费
  • 原油可以取什么做标题发网站抖音代运营服务内容
  • 图案设计网站大全wordpress博客站点
  • 网站链接的基本形式世界服装鞋帽网免费做网站
  • 网站开发 自学上网行为管理系统
  • 网站建设丶金手指下拉13网站开发与建设
  • 中山网站建设哪家便宜北京十大必逛的商场
  • 一级a做爰片免费网站国语哪家公司网站做得好
  • 做 爱 网站小视频贵阳网络推广公司有哪些
  • 网站建设可行性分析报告聚名网怎么样
  • 没有网站可以做淘宝客做网站需要的公司
  • 黑龙江骏域建设网站专家怎么在移动端网站下面做联系人
  • 网站建设属于技术活吗wordpress 导入数据库结构
  • 网站建设公司投诉电话邢台视频推广
  • 网站建设 广州wordpress底部主题
  • 建设网站的目的及功能定位wordpress 分类链接
  • 电子商务网站建设基础考试如何做好品牌宣传工作
  • 网站 文件 上传大港网站开发
  • 江苏广宇建设集团有限公司 网站自媒体平台源码
  • 中英文企业网站豆芽网站建设 优帮云