拓冰建站拓冰建站
首页 / 资讯中心 / 正文

【AI大模型部署】本地部署私人知识库的大模型!Llama 3 + RAG!

前言在今天的的教程中我们将打造更加个性化的大模型可以定制搭载私人知识库的本地大模型我们探讨Meta AI 的尖端 Llama 3 语言模型构建强大的检索增强生成 RAG 来实现。通过利用 Llama 3 和 RAG 技术的功能我们将创建一个应用程序允许用户与网页进行交互式对话检索定制化、私人知识库的相关信息并生成对用户查询的准确响应。在本教程中我们将深入探讨设置开发环境、加载和处理网页数据、创建嵌入和向量存储以及实现 RAG 链以提供卓越用户体验的分步过程。什么是Llama 3Llama 3 是由 Meta AI 开发的最先进的语言模型擅长理解和生成类似人类的文本。凭借其令人印象深刻的自然语言处理能力Llama 3 可以理解复杂的查询、提供准确的响应并参与与上下文相关的对话。它能够处理广泛的主题和处理效率使其成为构建智能应用程序的理想选择。想测试Llama 3的威力吗立即与 Anakin AI 聊天它支持任何可用的 AI 模型什么是RAG检索增强生成 RAG 是一种将信息检索和语言生成相结合以提高问答系统性能的技术。简单来说RAG 允许 AI 模型从知识库或文档中检索相关信息并使用该信息对用户查询生成更准确和上下文适当的响应。通过利用检索和生成的强大功能RAG 能够创建智能聊天机器人和问答应用程序为用户提供高度相关和信息丰富的响应。对于想要在没有编码经验的情况下运行 RAG 系统的用户您可以尝试 Anakin AI在那里您可以使用 No Code Builder 创建很棒的 AI 应用程序运行本地 Llama 3 RAG 应用的先决条件在开始之前请确保已安装以下先决条件Python 3.7 or higherStreamlitollamalangchainlangchain_community您可以通过运行以下命令来安装所需的库pip install streamlit ollama langchain langchain_community使用 Llama-3 在本地运行您自己的 RAG 应用程序的分步指南第 1 步设置 Streamlit 应用程序首先让我们设置 Streamlit 应用程序的基本结构。创建一个名为app.py的新 Python 文件并添加以下代码importstreamlitasstimportollamafromlangchain.text_splitterimportRecursiveCharacterTextSplitterfromlangchain_community.document_loadersimportWebBaseLoaderfromlangchain_community.vectorstoresimportChromafromlangchain_community.embeddingsimportOllamaEmbeddings st.title(Chat with Webpage )st.caption(This app allows you to chat with a webpage using local Llama-3 and RAG)# Get the webpage URL from the userwebpage_urlst.text_input(Enter Webpage URL,typedefault)此代码设置 Streamlit 应用程序的基本结构包括标题、说明和供用户输入网页 URL 的输入字段。步骤 2加载和处理网页数据接下来我们需要从指定的网页加载数据并对其进行处理以供进一步使用。将以下代码添加到app.pyifwebpage_url:# 1. Load the dataloaderWebBaseLoader(webpage_url)docsloader.load()text_splitterRecursiveCharacterTextSplitter(chunk_size500,chunk_overlap10)splitstext_splitter.split_documents(docs)在这里我们使用WebBaseLoaderfromlangchain_community来加载网页数据。然后我们使用RecursiveCharacterTextSplitterfromlangchain将加载的文档拆分为更小的块。第 3 步创建 Ollama 嵌入和矢量存储为了能够从网页中有效地检索相关信息我们需要创建嵌入和向量存储。添加以下代码# 2. Create Ollama embeddings and vector storeembeddingsOllamaEmbeddings(modelllama3)vectorstoreChroma.from_documents(documentssplits,embeddingembeddings)我们使用 fromOllamaEmbeddingslangchain_community类创建 Ollama 嵌入并llama3指定模型。然后我们使用该Chroma类创建一个向量存储传递拆分文档和嵌入。第 4 步定义 Ollama Llama-3 模型函数现在让我们定义一个函数该函数利用 Ollama Llama-3 模型根据用户的问题和相关上下文生成响应。添加以下代码# 3. Call Ollama Llama3 modeldefollama_llm(question,context):formatted_promptfQuestion:{question}\n\nContext:{context}responseollama.chat(modelllama3,messages[{role:user,content:formatted_prompt}])returnresponse[message][content]此函数将用户的问题和相关上下文作为输入。它通过组合问题和上下文来格式化提示然后使用该ollama.chat函数使用 Llama-3 模型生成响应。第 5 步设置 RAG 链为了根据用户的问题从向量存储中检索相关信息我们需要设置 RAGRetrieval Augmented Generation链。添加以下代码# 4. RAG Setupretrievervectorstore.as_retriever()defcombine_docs(docs):return\n\n.join(doc.page_contentfordocindocs)defrag_chain(question):retrieved_docsretriever.invoke(question)formatted_contextcombine_docs(retrieved_docs)returnollama_llm(question,formatted_context)st.success(fLoaded{webpage_url}successfully!)在这里我们使用该as_retriever方法从向量存储创建一个检索器。我们定义了一个帮助程序函数combine_docs将检索到的文档组合成一个格式化的上下文字符串。该rag_chain函数接受用户的问题使用检索器检索相关文档将文档组合到格式化的上下文中并将问题和上下文传递给ollama_llm函数以生成响应。第 6 步实现聊天功能最后让我们在 Streamlit 应用程序中实现聊天功能。添加以下代码# Ask a question about the webpagepromptst.text_input(Ask any question about the webpage)# Chat with the webpageifprompt:resultrag_chain(prompt)st.write(result)此代码添加一个输入字段供用户询问有关网页的问题。当用户输入问题并提交时将使用用户的问题调用该rag_chain函数。然后生成的响应将使用st.write显示。最后一步是时候运行应用程序了若要运行该应用请保存app.py文件并打开同一目录中的终端。运行以下命令streamlit run app.py这将启动 Streamlit 应用程序您可以在 Web 浏览器中通过提供的 URL 访问它。结论你已成功构建了在本地运行的 Llama-3 的 RAG 应用。该应用程序允许用户利用本地 Llama-3 和 RAG 技术的强大功能与网页聊天。用户可以输入网页 URL应用程序将加载和处理网页数据创建嵌入和向量存储并使用 RAG 链检索相关信息并根据用户的问题生成响应。最后的最后感谢你们的阅读和喜欢作为一位在一线互联网行业奋斗多年的老兵我深知在这个瞬息万变的技术领域中持续学习和进步的重要性。为了帮助更多热爱技术、渴望成长的朋友我特别整理了一份涵盖大模型领域的宝贵资料集。这些资料不仅是我多年积累的心血结晶也是我在行业一线实战经验的总结。这些学习资料不仅深入浅出而且非常实用让大家系统而高效地掌握AI大模型的各个知识点。如果你愿意花时间沉下心来学习相信它们一定能为你提供实质性的帮助。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】大模型知识脑图为了成为更好的 AI大模型 开发者这里为大家提供了总的路线图。它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。经典书籍阅读阅读AI大模型经典书籍可以帮助读者提高技术水平开拓视野掌握核心技术提高解决问题的能力同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说阅读经典书籍是非常有必要的。实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。面试资料我们学习AI大模型必然是想找到高薪的工作下面这些面试题都是总结当前最新、最热、最高频的面试题并且每道题都有详细的答案面试前刷完这套面试题资料小小offer不在话下640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门