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

手机app客户端做网站个人小程序开发教程

手机app客户端做网站,个人小程序开发教程,做网站为什么需要购买域名,企业网站的公司和产品信息的介绍与网络营销关系文章目录 一、任务要求11.首先创建虚拟环境2. 安装依赖3. 下载 Sentence Transformer 模型4.下载 NLTK 相关资源5. 是否使用 LlamaIndex 前后对比6. LlamaIndex web7. LlamaIndex本地部署InternLM实践 一、任务要求1 任务要求1#xff08;必做#xff0c;参考readme_api.md本地部署InternLM实践 一、任务要求1 任务要求1必做参考readme_api.md基于 LlamaIndex 构建自己的 RAG 知识库寻找一个问题 A 在使用 LlamaIndex 之前 浦语 API 不会回答借助 LlamaIndex 后 浦语 API 具备回答 A 的能力截图保存。 1.首先创建虚拟环境 conda create -n llamaindex python3.102. 安装依赖 需要注意镜像cuda的版本这里使用的是12.2的版本如果是11.7版本的可以使用这个替代 conda install pytorch2.0.1 torchvision0.15.2 torchaudio2.0.2 pytorch-cuda11.7 -c pytorch -c nvidia # 安装python 依赖包 pip install einops0.7.0 protobuf5.26.1 # 安装 Llamaindex和相关的包 pip install llama-index0.11.20 pip install llama-index-llms-replicate0.3.0 pip install llama-index-llms-openai-like0.2.0 pip install llama-index-embeddings-huggingface0.3.1 pip install llama-index-embeddings-instructor0.2.1 pip install torch2.5.0 torchvision0.20.0 torchaudio2.5.0 --index-url https://download.pytorch.org/whl/cu1213. 下载 Sentence Transformer 模型 源词向量模型 Sentence Transformer 创建文件和python文件进行下载 这个embeding文本嵌入式模型用来处理文档转换成向量数据库进行检索的 注意安装路径我这里是安装在 /root/llamaindex_demo/paraphrase-multilingual-MiniLM-L12-v2 git lfs install# 如果git lfs install 下面的报错 则执行git lfs install #git: lfs is not a git command. See git --help. #The most similar command is apt-get install git-lfs git lfs install git clone https://www.modelscope.cn/Ceceliachenen/paraphrase-multilingual-MiniLM-L12-v2.git4.下载 NLTK 相关资源 我们在使用开源词向量模型构建开源词向量的时候需要用到第三方库 nltk 的一些资源。正常情况下其会自动从互联网上下载但可能由于网络原因会导致下载中断此处我们可以从国内仓库镜像地址下载相关资源保存到服务器上。 我们用以下命令下载 nltk 资源并解压到服务器上 cd /root git clone https://gitee.com/yzy0612/nltk_data.git --branch gh-pages cd nltk_data mv packages/* ./ cd tokenizers unzip punkt.zip cd ../taggers unzip averaged_perceptron_tagger.zip5. 是否使用 LlamaIndex 前后对比 5.1 不使用LlamaIndex from openai import OpenAIbase_url https://internlm-chat.intern-ai.org.cn/puyu/api/v1/ api_key modelinternlm2.5-latest# base_url https://api.siliconflow.cn/v1 # api_key sk-请填写准确的 token # modelinternlm/internlm2_5-7b-chatclient OpenAI(api_keyapi_key,base_urlbase_url, )chat_rsp client.chat.completions.create(modelmodel,messages[{role: user, content: xtuner是什么}], )for choice in chat_rsp.choices:print(choice.message.content)输出 5.2 使用LlamaIndex 获取知识库 cd ~/llamaindex_demo mkdir data cd data git clone https://github.com/InternLM/xtuner.git mv xtuner/README_zh-CN.md ./报错一zipfile.BadZipFile: File is not a zip file 报错问题:缺少punkt_tab 解决方案确保执行下面代码的时候NLTK_DATA已经跑完结构目录是这样的 如果缺少punkt_tab会报错,第一次执行一定要耐心等待NLTK_DATA下载完成 报错二 AttributeError: HuggingFaceEmbedding object has no attribute __pydantic_private__. Did you mean: __pydantic_complete__? 报错问题:pip install llama-index-embeddings-huggingface0.3.1 解决方案必须是0.3.1版本的执行代码 import os os.environ[NLTK_DATA] /root/nltk_datafrom llama_index.core import Settings, SimpleDirectoryReader, VectorStoreIndex from llama_index.embeddings.huggingface import HuggingFaceEmbedding from llama_index.legacy.callbacks import CallbackManager from llama_index.llms.openai_like import OpenAILikecallback_manager CallbackManager()api_base_url https://internlm-chat.intern-ai.org.cn/puyu/api/v1/ api_key xxx model internlm2.5-latestllm OpenAILike(modelmodel, api_baseapi_base_url, api_keyapi_key, is_chat_modelTrue,callback_managercallback_manager)embed_model HuggingFaceEmbedding(#指定了一个预训练的sentence-transformer模型的路径model_name/root/llamaindex_demo/paraphrase-multilingual-MiniLM-L12-v2 ) # 将创建的嵌入模型赋值给全局设置的embed_model属性 # 这样在后续的索引构建过程中就会使用这个模型。 Settings.embed_model embed_model # 初始化llm Settings.llm llm # 从指定目录读取所有文档并加载数据到内存中 documents SimpleDirectoryReader(/root/llamaindex_demo/data).load_data() # 创建一个VectorStoreIndex并使用之前加载的文档来构建索引。 # 此索引将文档转换为向量并存储这些向量以便于快速检索。 index VectorStoreIndex.from_documents(documents) # 创建一个查询引擎这个引擎可以接收查询并返回相关文档的响应。 query_engine index.as_query_engine()response query_engine.query(xtuner是什么)print(response)输出 6. LlamaIndex web 运行之前首先安装依赖 pip install streamlit1.39.0运行以下指令新建一个python文件 cd ~/llamaindex_demo touch app.py复制一下代码 import streamlit as st from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings from llama_index.embeddings.huggingface import HuggingFaceEmbedding from llama_index.legacy.callbacks import CallbackManager from llama_index.llms.openai_like import OpenAILike# Create an instance of CallbackManager callback_manager CallbackManager()api_base_url https://internlm-chat.intern-ai.org.cn/puyu/api/v1/ model internlm2.5-latest api_key xxx# api_base_url https://api.siliconflow.cn/v1 # model internlm/internlm2_5-7b-chat # api_key 请填写 API Keyllm OpenAILike(modelmodel, api_baseapi_base_url, api_keyapi_key, is_chat_modelTrue,callback_managercallback_manager)st.set_page_config(page_titlellama_index_demo, page_icon) st.title(llama_index_demo)# 初始化模型 st.cache_resource def init_models():embed_model HuggingFaceEmbedding(model_name/root/llamaindex_demo/paraphrase-multilingual-MiniLM-L12-v2)Settings.embed_model embed_model#用初始化llmSettings.llm llmdocuments SimpleDirectoryReader(/root/llamaindex_demo/data).load_data()index VectorStoreIndex.from_documents(documents)query_engine index.as_query_engine()return query_engine# 检查是否需要初始化模型 if query_engine not in st.session_state:st.session_state[query_engine] init_models()def greet2(question):response st.session_state[query_engine].query(question)return response# Store LLM generated responses if messages not in st.session_state.keys():st.session_state.messages [{role: assistant, content: 你好我是你的助手有什么我可以帮助你的吗}] # Display or clear chat messages for message in st.session_state.messages:with st.chat_message(message[role]):st.write(message[content])def clear_chat_history():st.session_state.messages [{role: assistant, content: 你好我是你的助手有什么我可以帮助你的吗}]st.sidebar.button(Clear Chat History, on_clickclear_chat_history)# Function for generating LLaMA2 response def generate_llama_index_response(prompt_input):return greet2(prompt_input)# User-provided prompt if prompt : st.chat_input():st.session_state.messages.append({role: user, content: prompt})with st.chat_message(user):st.write(prompt)# Gegenerate_llama_index_response last message is not from assistant if st.session_state.messages[-1][role] ! assistant:with st.chat_message(assistant):with st.spinner(Thinking...):response generate_llama_index_response(prompt)placeholder st.empty()placeholder.markdown(response)message {role: assistant, content: response}st.session_state.messages.append(message)然后运行 streamlit run app.pyctrl左键打开网址 测试 7. LlamaIndex本地部署InternLM实践 我们可以看到开发机上已经有下好的本地模型我们只需要直接测试使用即可 1.运行以下指令把 InternLM2 1.8B 软连接出来 cd ~/model ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b/ ./2.创建llamaindex_internlm.py文件 在这之前必须要确保以下命令安装完成 确定pytorch-cuda的版本修改为正确的版本。 pip install llama-index-embeddings-huggingface0.2.0 llama-index-embeddings-instructor0.1.3 conda install pytorch2.0.1 torchvision0.15.2 torchaudio2.0.2 pytorch-cuda12.1 -c pytorch -c nvidia from llama_index.llms.huggingface import HuggingFaceLLM from llama_index.core.llms import ChatMessage llm HuggingFaceLLM(model_name/root/model/internlm2-chat-1_8b,tokenizer_name/root/model/internlm2-chat-1_8b,model_kwargs{trust_remote_code:True},tokenizer_kwargs{trust_remote_code:True} )rsp llm.chat(messages[ChatMessage(contentxtuner是什么)]) print(rsp)3.运行结果 4.创建文件llamaindex_RAG_local.py from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settingsfrom llama_index.embeddings.huggingface import HuggingFaceEmbedding from llama_index.llms.huggingface import HuggingFaceLLM#初始化一个HuggingFaceEmbedding对象用于将文本转换为向量表示 embed_model HuggingFaceEmbedding( #指定了一个预训练的sentence-transformer模型的路径pythmodel_name/root/llamaindex_demo/paraphrase-multilingual-MiniLM-L12-v2 ) #将创建的嵌入模型赋值给全局设置的embed_model属性 #这样在后续的索引构建过程中就会使用这个模型。 Settings.embed_model embed_modelllm HuggingFaceLLM(model_name/root/model/internlm2-chat-1_8b,tokenizer_name/root/model/internlm2-chat-1_8b,model_kwargs{trust_remote_code:True},tokenizer_kwargs{trust_remote_code:True} ) #设置全局的llm属性这样在索引查询时会使用这个模型。 Settings.llm llm#从指定目录读取所有文档并加载数据到内存中 documents SimpleDirectoryReader(/root/llamaindex_demo/data).load_data() #创建一个VectorStoreIndex并使用之前加载的文档来构建索引。 # 此索引将文档转换为向量并存储这些向量以便于快速检索。 index VectorStoreIndex.from_documents(documents) # 创建一个查询引擎这个引擎可以接收查询并返回相关文档的响应。 query_engine index.as_query_engine() response query_engine.query(xtuner是什么?)print(response)5.运行结果 6.创建app_local.py文件 插入代码 import streamlit as st from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings from llama_index.embeddings.huggingface import HuggingFaceEmbedding from llama_index.llms.huggingface import HuggingFaceLLMst.set_page_config(page_titlellama_index_demo, page_icon) st.title(llama_index_demo)# 初始化模型 st.cache_resource def init_models():embed_model HuggingFaceEmbedding(model_name/root/llamaindex_demo/paraphrase-multilingual-MiniLM-L12-v2)Settings.embed_model embed_modelllm HuggingFaceLLM(model_name/root/model/internlm2-chat-1_8b,tokenizer_name/root/model/internlm2-chat-1_8b,model_kwargs{trust_remote_code: True},tokenizer_kwargs{trust_remote_code: True})Settings.llm llmdocuments SimpleDirectoryReader(/root/llamaindex_demo/data).load_data()index VectorStoreIndex.from_documents(documents)query_engine index.as_query_engine()return query_engine# 检查是否需要初始化模型 if query_engine not in st.session_state:st.session_state[query_engine] init_models()def greet2(question):response st.session_state[query_engine].query(question)return response# Store LLM generated responses if messages not in st.session_state.keys():st.session_state.messages [{role: assistant, content: 你好我是你的助手有什么我可以帮助你的吗}]# Display or clear chat messages for message in st.session_state.messages:with st.chat_message(message[role]):st.write(message[content])def clear_chat_history():st.session_state.messages [{role: assistant, content: 你好我是你的助手有什么我可以帮助你的吗}]st.sidebar.button(Clear Chat History, on_clickclear_chat_history)# Function for generating LLaMA2 response def generate_llama_index_response(prompt_input):return greet2(prompt_input)# User-provided prompt if prompt : st.chat_input():st.session_state.messages.append({role: user, content: prompt})with st.chat_message(user):st.write(prompt)# Gegenerate_llama_index_response last message is not from assistant if st.session_state.messages[-1][role] ! assistant:with st.chat_message(assistant):with st.spinner(Thinking...):response generate_llama_index_response(prompt)placeholder st.empty()placeholder.markdown(response)message {role: assistant, content: response}st.session_state.messages.append(message)7.运行 streamlit run app_loacl.py
http://www.hkea.cn/news/14423317/

相关文章:

  • 基于php的网站开发流程图什么是网站开发中的分页
  • 跳出率 网站韵达快递小网站怎么做
  • 如何查网站注册信息网站优秀网站地址
  • 外网工业设计网站乔括云智能建站
  • 做网站建设怎么找客户国外网站兼职做效果图
  • wordpress 多站点用户wordpress首页404
  • 网站建设对电子商务的作用品牌外贸网站建设
  • 网站建设企业资质等级宁波seo网络推广产品服务
  • 中国建设机械教育网官方网站wordpress文章分页标题
  • 企业网站制作比较好的wordpress cron原理
  • 中小企业建立网站最经济的方式网站开发套餐
  • wordpress生成微信小程序福州seo结算
  • 上海傲石设计网站自建网站好建吗
  • 网站规划主要内容h5制作软件 知乎
  • 百度 模块网站郑州php网站建设
  • 青岛英文网站建设服务公司惠安网站建设费用
  • 西宁网站建设哪家公司好上海网站搭建公司哪家好
  • 惠来网站建设wordpress空白
  • 策划营销型企业网站应注意哪些事情(建设流层—)微信开发者工具文档
  • 网站设计的网站网站建设高端
  • python 网站开发代码天津建设工程信息网登录不了
  • 新手做亚马逊要逛哪些网站保山公司网站建设
  • 怎么做游戏测评视频网站深圳市易百讯科技有限公司
  • 宿州建设网站百度开户代理商
  • 扬中网站建设cnzz wordpress
  • 帮企业做网站的印鸽定制软件app
  • 东明菏泽网站建设成立公司法人有什么风险
  • 成都精品网站建设石家庄网络公司招聘
  • 怎么给一个网站做seo阿里网站注册
  • 做导购网站 商品品牌创建策划方案