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

聊城做移动网站服务设计师新手接单网站

聊城做移动网站服务,设计师新手接单网站,平面设计资料网站,网站建设数据安全分析在这篇文章中#xff0c;我们将探索创建一个简单但有效的聊天机器人#xff0c;该机器人根据上传的 PDF 或文本文件的内容响应查询。该聊天机器人使用 Langchain、FAISS 和 OpenAI 的 GPT-4 构建#xff0c;将为文档查询提供友好的界面#xff0c;同时保持对话上下文完整。…在这篇文章中我们将探索创建一个简单但有效的聊天机器人该机器人根据上传的 PDF 或文本文件的内容响应查询。该聊天机器人使用 Langchain、FAISS 和 OpenAI 的 GPT-4 构建将为文档查询提供友好的界面同时保持对话上下文完整。 APP链接地址Streamlit 潜在用例 在深入研究实际代码之前让我们花点时间回顾一下该工具的潜在用例以及如何使用它来进一步增强您的研究、信息检索或摘要工作流程 1.内容概括 三句摘要用三个简洁的句子总结 PDF 的每个部分以捕捉核心思想。要点摘要总结每个部分的关键要点以概述所涵盖的主要主题。QA 摘要将每个部分的要点转化为问答形式以对话的方式简化对内容的理解。表格摘要将要点组织到 Markdown 表格中其中包含章节名称、主要发现和含义的列。 2. 信息提取 关键句子提取从每个部分中识别并提取总结要点的关键句子。关键词提取识别并列出经常出现的关键词和关键短语以快照主题联系方式收集从 PDF 中提取重要片段例如联系信息。页面定位器指向 PDF 中感兴趣的特定主题所在的确切页面。多文档查询跨多个文档查询以提取比较见解或聚合信息。情绪分析了解文档或文档特定部分所传达的情绪或语气。 这些工具是可扩展的可以改进附加功能例如内容增强、可视化甚至用于自动化文档处理的工作流集成。通过利用这一工具人们可以提高文档交互、分析和信息检索过程的效率和深度。 然而为了增强该工具用于特定用例或更高质量的交付需要以即时工程、使用更强大的向量数据库和嵌入模型的形式进行进一步细化。人们还可以考虑对模型进行微调以获得更高质量的结果。 您可以在我的 GitHub Repo 中找到使用的完整代码 AI-DocumentQnA,使用 Langchain 和…构建的简单的支持 LLM 的文档问答应用程序,下载AI-DocumentQnA的源码_GitHub_帮酷https://github.com/yakshb/AI-DocumentQnA.git?sourcepost_page-----83f00c1f6b4b-------------------------------- 设置和依赖项 首先请确保您已安装以下库。如果没有请使用 pip 安装它们 pip install streamlit PyPDF2 langchain openai sentence-transformers faiss-cpu在深入代码之前让我们先简要了解一下关键组件 Langchain一个极其通用和全面的库旨在简化使用法学硕士构建的应用程序的创建。Langchain 使开发人员可以将 LLM 连接到自定义数据库和 API并提供各种 NLP 工具和代理功能。Facebook AI 相似性搜索FAISSMeta 开发的一个框架用于高效相似性搜索和密集向量聚类。OpenAI API这不需要更深入的解释。大多数人都熟悉 GPT——我们将使用它来生成对用户查询的响应的底层语言模型。您可以在此处获取 OpenAI API 令牌。 接下来让我们导入必要的模块 import streamlit as st from PyPDF2 import PdfReader from langchain.embeddings import OpenAIEmbeddings, SentenceTransformerEmbeddings from langchain.chat_models import ChatOpenAI from langchain.chains import ConversationalRetrievalChain, RetrievalQA from langchain.memory import ConversationBufferWindowMemory from langchain.vectorstores import FAISS from langchain.document_loaders import PyPDFLoader from langchain.text_splitter import RecursiveCharacterTextSplitter 提高模块化程度的辅助函数 现在让我们创建辅助函数来处理 PDF 文档中的文本将文本转换为向量并初始化用于处理用户查询的对话链。这些辅助函数支持采用结构化方法来处理和准备 PDF 文档中的文本数据以供进一步分析。 # Extracts and concatenates text from a list of PDF documents def get_pdf_text(pdf_docs):text for pdf in pdf_docs:pdf_reader PdfReader(pdf)for page in pdf_reader.pages:text page.extract_text()return text# Splits a given text into smaller chunks based on specified conditions def get_text_chunks(text):text_splitter RecursiveCharacterTextSplitter(separators\\n,chunk_size1000,chunk_overlap200,length_functionlen)chunks text_splitter.split_text(text)return chunks # Generates embeddings for given text chunks and creates a vector store using FAISS def get_vectorstore(text_chunks):embeddings SentenceTransformerEmbeddings(model_nameall-MiniLM-L6-v2)vectorstore FAISS.from_texts(textstext_chunks, embeddingembeddings)return vectorstore 最初从 PDF 文档列表中提取文本并将其连接成单个字符串。然后该文本被分割成更小的块使其更易于分析管理。最后使用句子转换器将这些块转换为向量嵌入并在 FAISS 向量存储中进行组织以便在后续操作中实现高效的相似性搜索功能。通过这些步骤代码为高级文本分析奠定了基础为更大系统中的相似性搜索和上下文查询等功能铺平了道路。 使用 Langchain 和 OpenAI 作为 LLM 引擎 在对话式人工智能领域保留和参考过去交互的能力对于维持对话中的上下文相关性非常宝贵。下面的代码片段揭示了 Langchain一个帮助我们构建对话代理的库如何与 OpenAI 的 GPT 模型一起使用来初始化对话链——一系列可以随时间引用或扩展的交互序列。 # Initializes a conversation chain with a given vector store def get_conversation_chain(vectorstore):memory ConversationBufferWindowMemory(memory_keychat_history, return_messageTrue)conversation_chain ConversationalRetrievalChain.from_llm(llmChatOpenAI(temperaturetemperature_input, model_namemodel_select),retrievervectorstore.as_retriever(),get_chat_historylambda h: h,memorymemory)return conversation_chain 以下是该代码片段中关键组件的细分 内存初始化ConversationBufferWindowMemory创建一个指定为memory_key“chat_history”的实例。该对象将保存对话历史记录允许对话链引用以前的交互。对话链创建该ConversationalRetrievalChain对象通过其from_llm方法进行实例化这意味着使用大型语言模型LLM作为对话处理的底层引擎。 检索器规范该retriever参数使对话链能够在对话期间查询向量存储以获取相关信息。记忆关联参数memory与之前创建的实例相关联ConversationBufferWindowMemory将对话历史记录链接到对话链。 有了这个框架我们就可以开始构建一个交互式界面供用户开始查询他们的文档。 对于这个项目我们将使用Streamlit这是一个越来越流行的工具供希望快速测试和部署数据应用程序的开发人员使用。通过简单的 Python 脚本执行Streamlit 有助于 AI 应用程序的快速原型设计。 使用 Streamlit 简化文档上传和处理 提供的代码片段演示了使用 Streamlit 库处理文件上传、处理和对话分析准备的简化而有效的方法。它提供了简单的 UI 元素例如文件上传按钮和处理指示器这对于用户参与和反馈至关重要。 user_uploads st.file_uploader(Upload your files, accept_multiple_filesTrue) if user_uploads is not None:if st.button(Upload):with st.spinner(Processing):# Get PDF Textraw_text get_pdf_text(user_uploads)# Retrieve chunks from texttext_chunks get_text_chunks(raw_text)# Create FAISS Vector Store of PDF Docsvectorstore get_vectorstore(text_chunks)# Create conversation chainst.session_state.conversation get_conversation_chain(vectorstore) Streamlit 小部件和会话状态的使用分别实现了用户友好的界面和持久的对话上下文与创建直观的交互式文档问答应用程序的目标非常一致。 聊天界面 现在所提供的文档是使用 LLM 模型处理的 PDF 解析、文本嵌入和向量存储辅助函数进行处理的现在任何文档都可以用作与用户对话的上下文。从这里开始就非常简单了。初始化聊天机器人功能您应该能够开始使用您自己的文档问答助手。 if user_query : st.chat_input(Enter your query here):# Process the users message using the conversation chainif conversation in st.session_state:result st.session_state.conversation({question: user_query, chat_history: st.session_state.get(chat_history, [])})response result[answer]else:response Please upload a document first to initialize the conversation chain.with st.chat_message(assistant):st.write(response)结论 我们现在使用 Streamlit、Langchain、FAISS 和 OpenAI GPT 模型创建了一个上下文感知文档问答聊天机器人用户可以在 GPT 3.5、3.5-turbo 或 GPT-4 之间进行选择。用户可以上传PDF文档并进行交互查询。该聊天机器人可以成为一个有用的工具可以轻松地从文档中提取有价值的见解。 我鼓励读者使用这个工具并发现从他们的见解中解锁见解的方法。如果这有帮助请告诉我。您可以进一步增强和自定义该聊天机器人以满足特定要求使文档查询变得轻而易举。
http://www.w-s-a.com/news/124695/

相关文章:

  • 阿里云服务器发布网站收款网站怎么建设
  • 开发东莞网站制作公司做网站优化步骤
  • 网站版权信息的正确写法如何制作网络游戏
  • 郑州移动端网站建设如何在网上推广自己的公司
  • 企业建站源码系统破解网站后台
  • 石家庄网站开发报价企业注册资本代表什么
  • 招商平台公司宁波seo教程推广平台
  • 哪些网站可以做房产推广垂直门户网站都有什么
  • 不得不知道的网站金石项目管理软件
  • 怎么恢复网站数据库网站开发作业代做
  • 哪里建设网站最好用中国第五冶金建设公司医院网站
  • 雄安网建 网站建设订餐网站建设
  • 广州视频网站建站公司网站 体系
  • 青浦门户网站网站推广烟台公司电话
  • 湖北荆门建设银行网站wordpress购物模板下载
  • 学ui+wordpress模板北京推广优化
  • 建分类网站得花多少钱深圳设计网站开发
  • 网站集群建设和网站集约化百度商桥怎么绑定网站
  • 青岛模板网站建设价格网络品牌网站建设
  • 网站建设的几大要素网站的做网站的公司
  • 怎么登陆自己的公司网站垂直电商网站建设
  • 温州微网站制作哪里有许昌网站建设哪家最好
  • 中国中小企业网站官网网页制作工具按其制作方式分 可以分为
  • 做资源下载网站违法吗河南企业做网站
  • 网站开发总体功能设计网站建设 北京昌平
  • 辽宁省高等级公路建设局网站书画院网站建设方案
  • 本地生活网站 源码重庆本地网站有哪些
  • 企业网站域名服务器国外html响应式网站
  • 东莞网站建设策划企业网站推广策划方法
  • 网站的图片怎么制作WordPress交互式网站