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

万户网络建一个网站虽要多少钱公司邮箱怎么进入

万户网络建一个网站虽要多少钱,公司邮箱怎么进入,wordpress lamp,2019一个网站开发要多少钱零、背景知识介绍 1.langchain LangChain 为基于 LLM 开发自定义应用提供了高效的开发框架#xff0c;便于开发者迅速地激发 LLM 的强大能力#xff0c;搭建 LLM 应用。LangChain 也同样支持多种大模型#xff0c;内置了 OpenAI、LLAMA 等大模型的调用接口。但是#xff…零、背景知识介绍 1.langchain LangChain 为基于 LLM 开发自定义应用提供了高效的开发框架便于开发者迅速地激发 LLM 的强大能力搭建 LLM 应用。LangChain 也同样支持多种大模型内置了 OpenAI、LLAMA 等大模型的调用接口。但是LangChain 并没有内置所有大模型它通过允许用户自定义 LLM 类型来提供强大的可扩展性。 官方文档https://python.langchain.com/docs/introduction/ 2.主流大模型API介绍 ChatGPT需要科学上网无免费额度 文心一言当前无赠送新用户 tokens 的活动推荐已有文心 tokens 额度用户和付费用户使用 讯飞星火新用户赠送 tokens推荐免费用户使用 智谱 GLM新用户赠送 tokens推荐免费用户使用。 3.RAG介绍 RAGRetrieval-Augmented Generation检索增强生成 是一种结合了信息检索技术与语言生成模型的人工智能技术。该技术通过从外部知识库中检索相关信息并将其作为提示Prompt输入给大型语言模型LLMs以增强模型处理知识密集型任务的能力如问答、文本摘要、内容生成等。 一、主流大模型API调用 1.调用 OpenAI API from openai import OpenAIclient OpenAI(# This is the default and can be omittedapi_keyyour-apikey )# 导入所需库 # 注意此处我们假设你已根据上文配置了 OpenAI API Key如没有将访问失败 completion client.chat.completions.create(# 调用模型ChatGPT-4omodelgpt-4o,# messages 是对话列表messages[{role: system, content: You are a helpful assistant.},{role: user, content: Hello!}] )2.调用 智谱ChatGLM from zhipuai import ZhipuAIclient ZhipuAI(api_keyyour-apikey )def gen_glm_params(prompt):构造 GLM 模型请求参数 messages请求参数prompt: 对应的用户提示词messages [{role: user, content: prompt}]return messagesdef get_completion(prompt, modelglm-4-plus, temperature0.95):获取 GLM 模型调用结果请求参数prompt: 对应的提示词model: 调用的模型默认为 glm-4也可以按需选择 glm-3-turbo 等其他模型temperature: 模型输出的温度系数控制输出的随机程度取值范围是 0.0-1.0。温度系数越低输出内容越一致。messages gen_glm_params(prompt)response client.chat.completions.create(modelmodel,messagesmessages,temperaturetemperature)if len(response.choices) 0:return response.choices[0].message.contentreturn generate answer error二、简单RAG应用构建 1.向量知识库库搭建 1词向量及向量数据库介绍 词向量在机器学习和自然语言处理NLP中词向量word embedding是一种以单词为单位将每个单词转化为实数向量的技术。这些实数向量可以被计算机更好地理解和处理。词向量背后的主要想理念是相似或相关的对象在向量空间中的距离应该很近。 向量数据库向量数据库是用于高效计算和管理大量向量数据的解决方案。向量数据库是一种专门用于存储和检索向量数据embedding的数据库系统。它与传统的基于关系模型的数据库不同它主要关注的是向量数据的特性和相似性。在向量数据库中数据被表示为向量形式每个向量代表一个数据项。这些向量可以是数字、文本、图像或其他类型的数据。向量数据库使用高效的索引和查询算法来加速向量数据的存储和检索过程。 2数据处理 该部分需要针对不同的数据使用不同的数据处理方法主要是去除无用数据规范化有用数据 3数据向量化及搭建向量数据库 # 1.读取数据 import os # 获取folder_path下所有文件路径储存在file_paths里 file_paths [] folder_path data_base/knowledge_db for root, dirs, files in os.walk(folder_path):for file in files:file_path os.path.join(root, file)file_paths.append(file_path) print(file_paths[:5])from langchain_community.document_loaders import PyMuPDFLoader from langchain_community.document_loaders import UnstructuredMarkdownLoader from langchain_community.document_loaders import TextLoader# 遍历文件路径并把实例化的loader存放在loaders里 loaders []for file_path in file_paths:file_type file_path.split(.)[-1]if file_type pdf:loaders.append(PyMuPDFLoader(file_path))elif file_type md:loaders.append(UnstructuredMarkdownLoader(file_path))elif file_type txt:# 添加 encodingutf-8如果失败可以换成 gbktry:loaders.append(TextLoader(file_path, encodingutf-8))except UnicodeDecodeError:loaders.append(TextLoader(file_path, encodinggbk))# 下载文件并存储到text texts [] for loader in loaders: texts.extend(loader.load()) text texts[1] print(f每一个元素的类型{type(text)}.,f该文档的描述性数据{text.metadata},f查看该文档的内容:\n{text.page_content[0:]},sep\n------\n)from langchain_text_splitters import RecursiveCharacterTextSplitter# 切分文档 text_splitter RecursiveCharacterTextSplitter(chunk_size500, chunk_overlap50) split_docs text_splitter.split_documents(texts)# 2.使用智谱的embedding-3进行向量化操作 from zhipuai import ZhipuAI from zhipu_embedding import ZhipuAIEmbeddings def zhipu_embedding(text: str):api_key 3cbdc9439e9543db9e7e0ea39871f9fb.LInKSkE8QGbU6k2Kclient ZhipuAI(api_keyapi_key)response client.embeddings.create(modelembedding-3,inputtext,)return response embedding ZhipuAIEmbeddings()# 3.构建chroma向量库 from langchain_community.vectorstores import Chroma # 定义持久化路径 persist_directory data_base/vector_db/chroma vectordb Chroma.from_documents(documentssplit_docs,embeddingembedding,persist_directorypersist_directory # 允许我们将persist_directory目录保存到磁盘上 ) print(f向量库中存储的数量{vectordb._collection.count()})4向量数据库调用及结果显示 2.大模型API调用 #2.创建llm # 智谱api调用 from langchain_community.chat_models import ChatZhipuAIchatglm ChatZhipuAI(temperature0.5,api_key3cbdc9439e9543db9e7e0ea39871f9fb.LInKSkE8QGbU6k2K,model_nameglm-3-turbo, ) # 测试 # print(chatglm.invoke(请介绍一下你自己).content)3.构建检索问答链 # 3.创建检索链 from langchain_core.runnables import RunnableLambda def combine_docs(docs):return \n\n.join(doc.page_content for doc in docs) combiner RunnableLambda(combine_docs) retriever vectordb.as_retriever(search_kwargs{k: 3}) retrieval_chain retriever | combiner# 4.创建检索问答链 from langchain_core.prompts import PromptTemplate from langchain_core.runnables import RunnablePassthrough, RunnableParallel from langchain_core.output_parsers import StrOutputParser template 使用以下上下文来回答最后的问题。如果你不知道答案就说你不知道不要试图编造答 案。最多使用三句话。尽量使答案简明扼要。请你在回答的最后说“谢谢你的提问”。 {context} 问题: {input}# 将template通过 PromptTemplate 转为可以在LCEL中使用的类型 prompt PromptTemplate(templatetemplate) qa_chain (RunnableParallel({context: retrieval_chain, input: RunnablePassthrough()})| prompt| chatglm| StrOutputParser() )# 检索问答链效果测试 question_1什么是南瓜书 question_2介绍一下天度公司 result qa_chain.invoke(question_1) print(大模型知识库后回答 question_1 的结果) print(result) result qa_chain.invoke(question_2) print(大模型知识库后回答 question_2 的结果) print(result) print(**********************************) print(大模型回答 question_1 的结果chatglm.invoke(question_1).content) print(大模型回答 question_2 的结果chatglm.invoke(question_2).content)4.生成结果对比 问题一测试结果 问题二测试结果 5.RAG应用完整代码 # 1.加载先前构建的好的向量数据库 from zhipu_embedding import ZhipuAIEmbeddings from langchain.vectorstores.chroma import Chroma# 定义 Embeddings embedding ZhipuAIEmbeddings()# 向量数据库持久化路径 persist_directory data_base/vector_db/chroma# 加载数据库 vectordb Chroma(persist_directorypersist_directory, # 允许我们将persist_directory目录保存到磁盘上embedding_functionembedding ) # 向量库测试 # print(f向量库中存储的数量{vectordb._collection.count()}) # question 什么是南瓜书? # retriever vectordb.as_retriever(search_kwargs{k: 3}) # docs retriever.invoke(question) # print(f检索到的内容数{len(docs)}) # for i, doc in enumerate(docs): # print(f检索到的第{i}个内容: \n {doc.page_content}, end\n-----------------------------------------------------\n)# 2.创建检索链 from langchain_core.runnables import RunnableLambdadef combine_docs(docs):return \n\n.join(doc.page_content for doc in docs) combiner RunnableLambda(combine_docs) retriever vectordb.as_retriever(search_kwargs{k: 3}) retrieval_chain retriever | combiner#2.创建llm # 智谱api调用 from langchain_community.chat_models import ChatZhipuAIchatglm ChatZhipuAI(temperature0.5,api_key3cbdc9439e9543db9e7e0ea39871f9fb.LInKSkE8QGbU6k2K,model_nameglm-3-turbo, ) # 测试 # print(chatglm.invoke(请介绍一下你自己).content)# 3.创建检索链 from langchain_core.runnables import RunnableLambda def combine_docs(docs):return \n\n.join(doc.page_content for doc in docs) combiner RunnableLambda(combine_docs) retriever vectordb.as_retriever(search_kwargs{k: 3}) retrieval_chain retriever | combiner# 4.创建检索问答链 from langchain_core.prompts import PromptTemplate from langchain_core.runnables import RunnablePassthrough, RunnableParallel from langchain_core.output_parsers import StrOutputParser template 使用以下上下文来回答最后的问题。如果你不知道答案就说你不知道不要试图编造答 案。最多使用三句话。尽量使答案简明扼要。请你在回答的最后说“谢谢你的提问”。 {context} 问题: {input}# 将template通过 PromptTemplate 转为可以在LCEL中使用的类型 prompt PromptTemplate(templatetemplate) qa_chain (RunnableParallel({context: retrieval_chain, input: RunnablePassthrough()})| prompt| chatglm| StrOutputParser() )# 检索问答链效果测试 question_1什么是南瓜书 question_2介绍一下天度公司 result qa_chain.invoke(question_1) print(f问题一{question_1}) print(大模型知识库后回答 问题一 的结果) print(result) print(**********************************) print(单独大模型回答 问题一 的结果chatglm.invoke(question_1).content) result qa_chain.invoke(question_2) print(f问题二{question_2}) print(大模型知识库后回答 问题二 的结果) print(result) print(**********************************) print(单独大模型回答 问题二 的结果chatglm.invoke(question_2).content)
http://www.w-s-a.com/news/807853/

相关文章:

  • 旅游网网站建设网站如何自己做seo
  • 如何验证网站所有权做二手家具回收哪个网站好
  • 做哪种网站赚钱项目开发流程
  • 网站建设和网站网络推广网站建设软件定制
  • 站长工具网址查询全球云邮登陆网站
  • 宁波 住房和建设局网站网上发帖推广
  • 平面设计在线网站工业设计公司有哪些
  • 福州网站设计外包公司网站做的比较好
  • 如何设计网站首页网站开发综合技能实训心得体会
  • 用织梦做的网站好用吗w网站链接如何做脚注
  • 东莞做网站公司在哪哪里有网站培训的
  • 做宣传 为什么要做网站那重庆网站建设公司在线联系
  • 网站设计制作售价多少钱制作图片的软件是
  • 网站验证码目录简单带数据库的网站模版
  • 制作网站用c#做前台网站建设专题的意义
  • 广西建设职业技术学院教育网站牡丹区建设局网站
  • 网站后台怎么用ftp打开上海外贸进出口有限公司
  • 淘宝建设网站的意义大学生做那个视频网站
  • 如何提高你的网站的粘性建设银行流水网站
  • 微信h5在哪个网站做泰州专业网站制作公司
  • 现在.net做网站的多吗建设工程造价网
  • pc访问手机网站跳转违法网站开发人员
  • 网站前端做报名框wordpress 启动慢
  • 沈阳做网站客户多吗前端可以做网站吗
  • 网站设计规划书新媒体营销策略分析
  • dw个人网站主页怎么做天津工程信息建设网
  • 顺义做网站的公司网站页面设计基础教程
  • 安阳哪个公司做网站好企业没有做网站有的坏处
  • 网站开发有必要用php框架wordpress分页导航代码
  • wordpress建站seo鞍山制作网站哪家好