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

开个人网站怎么赚钱做问卷调查的网站有哪些

开个人网站怎么赚钱,做问卷调查的网站有哪些,做服装哪个网站图片多,专业建设网站文章目录 一.文件加载与分割二.文本向量化与存储1.文本向量化(embedding)2.存储到向量数据库 三.问句向量化四.相似文档检索五.prompt构建六.答案生成 LangChainChatGLM项目(https://github.com/chatchat-space/langchain-ChatGLM)实现原理如下图所示 (与基于文档的问答 大同小… 文章目录 一.文件加载与分割二.文本向量化与存储1.文本向量化(embedding)2.存储到向量数据库 三.问句向量化四.相似文档检索五.prompt构建六.答案生成 LangChainChatGLM项目(https://github.com/chatchat-space/langchain-ChatGLM)实现原理如下图所示 (与基于文档的问答 大同小异过程包括1 加载文档 - 2 读取文档 - 3/4文档分割 - 5/6 文本向量化 - 8/9 问句向量化 - 10 在文档向量中匹配出与问句向量最相似的top k个 - 11/12/13 匹配出的文本作为上下文和问题一起添加到prompt中 - 14/15提交给LLM生成回答 ) 一.文件加载与分割 加载文件这是读取存储在本地的知识库文件的步骤 读取文件读取加载的文件内容通常是将其转化为文本格式 文本分割(Text splitter)按照一定的规则(例如段落、句子、词语等)将文本分割 def _load_file(self, filename):# 判断文件类型if filename.lower().endswith(.pdf): # 如果文件是 PDF 格式loader UnstructuredFileLoader(filename) # 使用 UnstructuredFileLoader 加载器来加载 PDF 文件text_splitor CharacterTextSplitter() # 使用 CharacterTextSplitter 来分割文件中的文本docs loader.load_and_split(text_splitor) # 加载文件并进行文本分割else: # 如果文件不是 PDF 格式loader UnstructuredFileLoader(filename, modeelements) # 使用 UnstructuredFileLoader 加载器以元素模式加载文件text_splitor CharacterTextSplitter() # 使用 CharacterTextSplitter 来分割文件中的文本docs loader.load_and_split(text_splitor) # 加载文件并进行文本分割return docs # 返回处理后的文件数据二.文本向量化与存储 1.文本向量化(embedding) 这通常涉及到NLP的特征抽取可以通过诸如TF-IDF、word2vec、BERT等方法将分割好的文本转化为数值向量。 # 初始化方法接受一个可选的模型名称参数默认值为 Nonedef __init__(self, model_nameNone) - None: if not model_name: # 如果没有提供模型名称# 使用默认的嵌入模型# 创建一个 HuggingFaceEmbeddings 对象模型名称为类的 model_name 属性self.embeddings HuggingFaceEmbeddings(model_nameself.model_name)2.存储到向量数据库 文本向量化之后存储到数据库vectorstore。 def init_vector_store(self):persist_dir os.path.join(VECTORE_PATH, .vectordb) # 持久化向量数据库的地址print(向量数据库持久化地址: , persist_dir) # 打印持久化地址# 如果持久化地址存在if os.path.exists(persist_dir): # 从本地持久化文件中加载print(从本地向量加载数据...)# 使用 Chroma 加载持久化的向量数据vector_store Chroma(persist_directorypersist_dir, embedding_functionself.embeddings) # 如果持久化地址不存在else: # 加载知识库documents self.load_knownlege() # 使用 Chroma 从文档中创建向量存储vector_store Chroma.from_documents(documentsdocuments, embeddingself.embeddings,persist_directorypersist_dir) vector_store.persist() # 持久化向量存储return vector_store # 返回向量存储def load_knownlege(self):docments [] # 初始化一个空列表来存储文档# 遍历 DATASETS_DIR 目录下的所有文件for root, _, files in os.walk(DATASETS_DIR, topdownFalse):for file in files:filename os.path.join(root, file) # 获取文件的完整路径docs self._load_file(filename) # 加载文件中的文档# 更新 metadata 数据new_docs [] # 初始化一个空列表来存储新文档for doc in docs:# 更新文档的 metadata将 source 字段的值替换为不包含 DATASETS_DIR 的相对路径doc.metadata {source: doc.metadata[source].replace(DATASETS_DIR, )} print(文档2向量初始化中, 请稍等..., doc.metadata) # 打印正在初始化的文档的 metadatanew_docs.append(doc) # 将文档添加到新文档列表docments new_docs # 将新文档列表添加到总文档列表return docments # 返回所有文档的列表三.问句向量化 这是将用户的查询或问题转化为向量应使用与文本向量化相同的方法以便在相同的空间中进行比较 。 四.相似文档检索 在文本向量中匹配出与问句向量最相似的top k个这一步是信息检索的核心通过计算余弦相似度、欧氏距离等方式找出与问句向量最接近的文本向量。 def query(self, q):在向量数据库中查找与问句向量相似的文本向量vector_store self.init_vector_store()docs vector_store.similarity_search_with_score(q, kself.top_k)for doc in docs:dc, s docyield s, dc五.prompt构建 匹配出的文本作为上下文和问题一起添加到prompt中这是利用匹配出的文本来形成与问题相关的上下文用于输入给语言模型。 六.答案生成 最后将这个问题和上下文一起构成的prompt提交给在线(例如GPT-4/ChatGPT)或本地化部署大语言模型让它生成回答。 class KnownLedgeBaseQA:# 初始化def __init__(self) - None:k2v KnownLedge2Vector() # 创建一个知识到向量的转换器self.vector_store k2v.init_vector_store() # 初始化向量存储self.llm VicunaLLM() # 创建一个 VicunaLLM 对象# 获得与查询相似的答案def get_similar_answer(self, query):# 创建一个提示模板prompt PromptTemplate(templateconv_qa_prompt_template, input_variables[context, question] # 输入变量包括 context上下文 和 question问题)# 使用向量存储来检索文档retriever self.vector_store.as_retriever(search_kwargs{k: VECTOR_SEARCH_TOP_K}) docs retriever.get_relevant_documents(queryquery) # 获取与查询相关的文本context [d.page_content for d in docs] # 从文本中提取出内容result prompt.format(context\n.join(context), questionquery) # 格式化模板并用从文本中提取出的内容和问题填充return result # 返回结果这种通过组合langchainLLM的方式特别适合一些垂直领域或大型集团企业搭建通过LLM的智能对话能力搭建企业内部的私有问答系统也适合个人专门针对一些英文paper进行问答比如比较火的一个开源项目ChatPDF其从文档处理角度来看实现流程如下(图源)
http://www.hkea.cn/news/14305264/

相关文章:

  • 长沙网站排名技术wordpress学人的冬天
  • 房地产交易网站模版带前台的wordpress模板下载
  • 网站建设公司怎么宣传苏州网络自学网站建设
  • 成全视频免费观看在线看1000集flash网站做seo优化好不好
  • 网站建设方案云盘做网站需要合同吗
  • 哪个网站可以做魔方图片大全百度竞价关键词出价技巧
  • 做神马网站优化网站建设服务多少钱
  • 北京做网站便宜的公司哪家好南京哪家公司做网站
  • 建设网站用户名是什么优钙网logo设计
  • 仙桃住房和城乡建设部网站装修价格
  • ps制作网站效果图手机端网站开发工具
  • 天津做网站那家好河南省监理协会官方网站建设
  • 商城建站流程天津站内关键词优化
  • 建设行业门户网站需要什么条件单位网站建设目的
  • 高埗网站建设公司装修公司最怕三种人
  • 信息产业部网站备案大港网站建设公司
  • 网站推广的基本方法有哪些织梦网站每天被挂马
  • 网站统计访客数量怎么做广州开展线上教学
  • 网站论坛源码自己做一个小程序要多少钱
  • 关于做网站的文献综述网站建设一般多少钱比较合适
  • 电子商务网站建设内容上海环球金融中心观光厅
  • 网站流量查询站长之家在线教育网站开发
  • asp网站建设代码汕头建设工程总公司
  • 网站建设读书笔记网页商城设计商城网站设计案例
  • phpcms 怎么做视频网站网站可分为哪两种类型
  • 网站设计公司网站佛山专业建站公司哪家好
  • 临桂区建设局网站导航网站后台源码
  • 上海域邦建设集团网站设计制作图片
  • 那些网站做推广php网站空间支持
  • 南昌制作网站的公司wordpress主题付费下载