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

成都asp网站建设dw网页设计模板网站

成都asp网站建设,dw网页设计模板网站,客户管理系统方案,自己写的字体wordpress一、设置API Key import os from zhipuai import ZhipuAI from dotenv import load_dotenv, find_dotenv# 读取本地/项目的环境变量。# find_dotenv()寻找并定位.env文件的路径 # load_dotenv()读取该.env文件,并将其中的环境变量加载到当前的运行环境中 # 如果你…

一、设置API Key

import os
from zhipuai import ZhipuAI
from dotenv import load_dotenv, find_dotenv# 读取本地/项目的环境变量。# find_dotenv()寻找并定位.env文件的路径
# load_dotenv()读取该.env文件,并将其中的环境变量加载到当前的运行环境中  
# 如果你设置的是全局的环境变量,这行代码则没有任何作用。
_ = load_dotenv(find_dotenv())# 获取环境变量 OPENAI_API_KEY
key = ""
client = ZhipuAI(api_key = key) 

二、 创建LLM应用

按照langchain链的方式进行构建

from langchain.chains.retrieval_qa.base import RetrievalQA #检索QA链,在文档上进行检索
from langchain_community.chat_models.zhipuai import ChatZhipuAI #openai模型
from langchain.document_loaders import CSVLoader #文档加载器,采用csv格式存储
from langchain.indexes import VectorstoreIndexCreator #导入向量存储索引创建器
from langchain.vectorstores import DocArrayInMemorySearch #向量存储
#加载中文数据
file = './data/product_data.csv'
loader = CSVLoader(file_path=file,encoding="utf-8")
data = loader.load()
#查看数据
import pandas as pd
test_data = pd.read_csv(file,header=None)
test_data

from langchain_community.embeddings.zhipuai import ZhipuAIEmbeddings# 使用智谱 AI 嵌入模型
embeddings = ZhipuAIEmbeddings(model="embedding-2",  # 智谱 AI 的嵌入模型名称api_key=key # 替换为你的智谱 AI API Key
)
'''
将指定向量存储类,创建完成后,我们将从加载器中调用,通过文档记载器列表加载
'''
index = VectorstoreIndexCreator(embedding=embeddings,vectorstore_cls=DocArrayInMemorySearch
).from_loaders([loader])
#通过指定语言模型、链类型、检索器和我们要打印的详细程度来创建检索QA链
llm = ChatZhipuAI(model_name="glm-3-turbo",temperature = 0.0, zhipuai_api_key=key) 
qa = RetrievalQA.from_chain_type(llm=llm, chain_type="stuff", retriever=index.vectorstore.as_retriever(), verbose=True,chain_type_kwargs = {"document_separator": "<<<<>>>>>"}
)

2.1 创建评估数据点

1、将数据点作为例子,查看一些数据,然后想出例子问题和答案,以便以后用于评估

data[10]#查看这里的一些文档,我们可以对其中发生的事情有所了解
Document(metadata={'source': './data/product_data.csv', 'row': 10}, page_content="product_name: 高清电视机\ndescription: 规格:\r\n尺寸:50''。\r\n\r\n为什么我们热爱它:\r\n我们的高清电视机拥有出色的画质和强大的音效,带来沉浸式的观看体验。\r\n\r\n材质与护理:\r\n使用干布清洁。\r\n\r\n构造:\r\n由塑料、金属和电子元件制成。\r\n\r\n其他特性:\r\n支持网络连接,可以在线观看视频。\r\n配备遥控器。\r\n在韩国制造。\r\n\r\n有问题?请随时联系我们的客户服务团队,他们会解答您的所有问题。")
data[11]
Document(metadata={'source': './data/product_data.csv', 'row': 11}, page_content="product_name: 旅行背包\ndescription: 规格:\r\n尺寸:18'' x 12'' x 6''。\r\n\r\n为什么我们热爱它:\r\n我们的旅行背包拥有多个实用的内外袋,轻松装下您的必需品,是短途旅行的理想选择。\r\n\r\n材质与护理:\r\n可以手洗,自然晾干。\r\n\r\n构造:\r\n由防水尼龙制成。\r\n\r\n其他特性:\r\n附带可调节背带和安全锁。\r\n在中国制造。\r\n\r\n有问题?请随时联系我们的客户服务团队,他们会解答您的所有问题。")
创建测试用例数据
examples = [{"query": "高清电视机怎么进行护理?","answer": "使用干布清洁。"},{"query": "旅行背包有内外袋吗?","answer": "有。"}
]
通过LLM生成测试用例
from langchain.evaluation.qa import QAGenerateChain #导入QA生成链,它将接收文档,并从每个文档中创建一个问题答案对

由于QAGenerateChain类中使用的PROMPT是英文,故我们继承QAGenerateChain类,将PROMPT加上“请使用中文输出”。

下面是generate_chain.py文件中的QAGenerateChain类的源码

"""LLM Chain specifically for generating examples for question answering."""
from __future__ import annotationsfrom typing import Anyfrom langchain.base_language import BaseLanguageModel
from langchain.chains.llm import LLMChain
from langchain.evaluation.qa.generate_prompt import PROMPTclass QAGenerateChain(LLMChain):"""LLM Chain specifically for generating examples for question answering."""@classmethoddef from_llm(cls, llm: BaseLanguageModel, **kwargs: Any) -> QAGenerateChain:"""Load QA Generate Chain from LLM."""return cls(llm=llm, prompt=PROMPT, **kwargs)
# 下面是langchain.evaluation.qa.generate_prompt中的源码,我们在template的最后加上“请使用中文输出”
# flake8: noqa
from langchain.output_parsers.regex import RegexParser
from langchain.prompts import PromptTemplatetemplate = """You are a teacher coming up with questions to ask on a quiz. 
Given the following document, please generate a question and answer based on that document.Example Format:
<Begin Document>
...
<End Document>
QUESTION: question here
ANSWER: answer hereThese questions should be detailed and be based explicitly on information in the document. Begin!<Begin Document>
{doc}
<End Document>
请使用中文输出。
"""
output_parser = RegexParser(regex=r"QUESTION: (.*?)\nANSWER: (.*)", output_keys=["query", "answer"]
)
PROMPT = PromptTemplate(input_variables=["doc"], template=template, output_parser=output_parser
)PROMPT
# 继承QAGenerateChain
class MyQAGenerateChain(QAGenerateChain):"""LLM Chain specifically for generating examples for question answering."""@classmethoddef from_llm(cls, llm: BaseLanguageModel, **kwargs: Any) -> QAGenerateChain:"""Load QA Generate Chain from LLM."""return cls(llm=llm, prompt=PROMPT, **kwargs)
example_gen_chain = MyQAGenerateChain.from_llm(ChatZhipuAI(zhipuai_api_key=key))#通过传递chat open AI语言模型来创建这个链
new_examples = example_gen_chain.apply_and_parse([{"doc": t} for t in data[:5]]
) #我们可以创建许多例子
new_examples #查看用例数据
[{'query': '这款全自动咖啡机有哪几种预设的咖啡模式?','answer': '文档中并未明确列出全自动咖啡机具体有多少种预设的咖啡模式,但提到了“预设多种咖啡模式”,所以可以推断至少有不止一种咖啡模式供选择。具体模式需要在其他产品说明或客户服务处获取详细信息。 '},{'query': '这款电动牙刷具有哪些特性使其在市场上受到欢迎?','answer': '这款电动牙刷采用先进的刷头设计和强大的电机,提供了超凡的清洁力和舒适的刷牙体验。它还具有多种清洁模式和定时功能,并且可以通过USB充电,而且是在日本制造的。这些特性使其受到市场的欢迎。'},{'query': '这款橙味维生素C泡腾片每片含有多少毫克的维生素C?', 'answer': '每片含有500mg的维生素C。'},{'query': '根据产品描述,这款无线蓝牙耳机单个耳机的尺寸是多少?', 'answer': '单个耳机尺寸为1.5寸 x 1.3寸。'},{'query': '这款瑜伽垫的尺寸是多少?', 'answer': "这款瑜伽垫的尺寸是24'' x 68''。"}]
new_examples[0]
{'query': '这款全自动咖啡机有哪几种预设的咖啡模式?','answer': '文档中并未明确列出全自动咖啡机具体有多少种预设的咖啡模式,但提到了“预设多种咖啡模式”,所以可以推断至少有不止一种咖啡模式供选择。具体模式需要在其他产品说明或客户服务处获取详细信息。 '}
组合用例数据
examples += new_examples
qa.run(examples[0]["query"])
> Entering new RetrievalQA chain...> Finished chain.
'根据提供的资料,高清电视机的护理方法是:使用干布清洁。'

三、 人工评估

3.1 如何评估新创建的实例

''' 
LingChainDebug工具可以了解运行一个实例通过链中间所经历的步骤
'''
import langchain
langchain.debug = True
qa.run(examples[0]["query"])#重新运行与上面相同的示例,可以看到它开始打印出更多的信息
如何评估新创建的实例

与创建它们类似,可以运行链条来处理所有示例,然后查看输出并尝试弄清楚,发生了什么,它是否正确

四、 通过LLM进行评估实例

predictions = qa.apply(examples) #为所有不同的示例创建预测
''' 
对预测的结果进行评估,导入QA问题回答,评估链,通过语言模型创建此链
'''
from langchain.evaluation.qa import QAEvalChain #导入QA问题回答,评估链
llm = ChatZhipuAI(model_name="glm-3-turbo",temperature = 0.0, zhipuai_api_key=key) 
eval_chain = QAEvalChain.from_llm(llm)
graded_outputs = eval_chain.evaluate(examples, predictions)#在此链上调用evaluate,进行评估

4.1 评估思路

当它面前有整个文档时,它可以生成一个真实的答案,我们将打印出预测的答,当它进行QA链时,使用embedding和向量数据库进行检索时,将其传递到语言模型中,然后尝试猜测预测的答案,我们还将打印出成绩,这也是语言模型生成的。当它要求评估链评估正在发生的事情时,以及它是否正确或不正确。因此,当我们循环遍历所有这些示例并将它们打印出来时,可以详细了解每个示例

#我们将传入示例和预测,得到一堆分级输出,循环遍历它们打印答案
for i, eg in enumerate(examples):print(f"例 {i}:")print("问题: " + predictions[i]['query'])print("真实答案: " + predictions[i]['answer'])print("预测答案: " + predictions[i]['result'])print("预测成绩: " + graded_outputs[i]['results'])print()

例 0:
问题: 高清电视机怎么进行护理?
真实答案: 使用干布清洁。
预测答案: 根据提供的资料,高清电视机的护理方法是:使用干布清洁。
预测成绩: CORRECT例 1:
问题: 旅行背包有内外袋吗?
真实答案: 有。
预测答案: 是的,旅行背包拥有多个实用的内外袋。
预测成绩: CORRECT例 2:
问题: 这款全自动咖啡机有哪几种预设的咖啡模式?
真实答案: 文档中并未明确列出全自动咖啡机具体有多少种预设的咖啡模式,但提到了“预设多种咖啡模式”,所以可以推断至少有不止一种咖啡模式供选择。具体模式需要在其他产品说明或客户服务处获取详细信息。 
预测答案: 根据提供的文本信息,这款全自动咖啡机有“预设多种咖啡模式”,但具体是哪几种模式并未列出。
预测成绩: CORRECT例 3:
问题: 这款电动牙刷具有哪些特性使其在市场上受到欢迎?
真实答案: 这款电动牙刷采用先进的刷头设计和强大的电机,提供了超凡的清洁力和舒适的刷牙体验。它还具有多种清洁模式和定时功能,并且可以通过USB充电,而且是在日本制造的。这些特性使其受到市场的欢迎。
预测答案: 根据提供的描述,这款电动牙刷在市场上受到欢迎的原因包括:1.  **先进的刷头设计和强大的电机**:这提供了超凡的清洁力。
2.  **舒适的刷牙体验**:除了清洁力,它也注重使用感受。
3.  **多种清洁模式**:可以满足不同用户的需求。
4.  **定时功能**:有助于用户保持良好的刷牙习惯。
5.  **USB充电**:提供了便捷的充电方式。
6.  **在日本制造**:可能暗示着较高的品质或工艺标准。
预测成绩: CORRECT例 4:
问题: 这款橙味维生素C泡腾片每片含有多少毫克的维生素C?
真实答案: 每片含有500mg的维生素C。
预测答案: 这款橙味维生素C泡腾片每片含有500毫克的维生素C。
预测成绩: CORRECT例 5:
问题: 根据产品描述,这款无线蓝牙耳机单个耳机的尺寸是多少?
真实答案: 单个耳机尺寸为1.5寸 x 1.3寸。
预测答案: 根据产品描述,这款无线蓝牙耳机单个耳机的尺寸是1.5'' x 1.3''。
预测成绩: CORRECT例 6:
问题: 这款瑜伽垫的尺寸是多少?
真实答案: 这款瑜伽垫的尺寸是24'' x 68''。
预测答案: 根据您提供的上下文,有两款瑜伽垫:1.  **瑜伽垫 (Yoga Mat):** 尺寸是 24'' x 68''。
2.  **防滑瑜伽垫 (Non-slip Yoga Mat):** 尺寸是 72'' x 24''。
预测成绩: CORRECT

4.2 结果分析

对于每个示例,它看起来都是正确的,让我们看看第一个例子。 这里的问题是,舒适的套头衫套装,有侧口袋吗?真正的答案,我们创建了这个,是肯定的。模型预测的答案是舒适的套头衫套装条纹,确实有侧口袋。因此,我们可以理解这是一个正确的答案。它将其评为正确。

使用模型评估的优势

你有这些答案,它们是任意的字符串。没有单一的真实字符串是最好的可能答案,有许多不同的变体,只要它们具有相同的语义,它们应该被评为相似。如果使用正则进行精准匹配就会丢失语义信息,到目前为止存在的许多评估指标都不够好。目前最有趣和最受欢迎的之一就是使用语言模型进行评估。


文章转载自:
http://ophthalmoscopy.xxhc.cn
http://newsweekly.xxhc.cn
http://shansi.xxhc.cn
http://lavishness.xxhc.cn
http://problem.xxhc.cn
http://extranuclear.xxhc.cn
http://camphene.xxhc.cn
http://open.xxhc.cn
http://saprobiology.xxhc.cn
http://gigameter.xxhc.cn
http://chupatti.xxhc.cn
http://scarey.xxhc.cn
http://gunnery.xxhc.cn
http://consubstantial.xxhc.cn
http://gheld.xxhc.cn
http://funniment.xxhc.cn
http://como.xxhc.cn
http://ravine.xxhc.cn
http://knowledge.xxhc.cn
http://messiah.xxhc.cn
http://palingenesist.xxhc.cn
http://capsizal.xxhc.cn
http://enwrought.xxhc.cn
http://epixylous.xxhc.cn
http://jugular.xxhc.cn
http://equisetum.xxhc.cn
http://discusser.xxhc.cn
http://bowdlerize.xxhc.cn
http://inconsistent.xxhc.cn
http://yokohama.xxhc.cn
http://homeotherm.xxhc.cn
http://tergeminate.xxhc.cn
http://pediculosis.xxhc.cn
http://antalkaline.xxhc.cn
http://appulsive.xxhc.cn
http://treason.xxhc.cn
http://ethephon.xxhc.cn
http://roustabout.xxhc.cn
http://highjack.xxhc.cn
http://euroky.xxhc.cn
http://boudoir.xxhc.cn
http://hyperlipemia.xxhc.cn
http://lithic.xxhc.cn
http://dynacomm.xxhc.cn
http://nidge.xxhc.cn
http://quixotism.xxhc.cn
http://maintainable.xxhc.cn
http://flunkydom.xxhc.cn
http://identifiability.xxhc.cn
http://informational.xxhc.cn
http://bannister.xxhc.cn
http://wernerite.xxhc.cn
http://overindulge.xxhc.cn
http://locum.xxhc.cn
http://puruloid.xxhc.cn
http://planify.xxhc.cn
http://prioral.xxhc.cn
http://enterology.xxhc.cn
http://colorectal.xxhc.cn
http://glonoin.xxhc.cn
http://lsat.xxhc.cn
http://soundscriber.xxhc.cn
http://regionalism.xxhc.cn
http://queerish.xxhc.cn
http://emanatorium.xxhc.cn
http://homotaxic.xxhc.cn
http://denver.xxhc.cn
http://contemptibility.xxhc.cn
http://confluent.xxhc.cn
http://cottian.xxhc.cn
http://adlittoral.xxhc.cn
http://yaguarundi.xxhc.cn
http://waterskin.xxhc.cn
http://semimetal.xxhc.cn
http://surrealistic.xxhc.cn
http://supplier.xxhc.cn
http://tartarize.xxhc.cn
http://weatherable.xxhc.cn
http://antillean.xxhc.cn
http://emmer.xxhc.cn
http://fipple.xxhc.cn
http://furibund.xxhc.cn
http://subarachnoid.xxhc.cn
http://madre.xxhc.cn
http://materialism.xxhc.cn
http://autotrophic.xxhc.cn
http://superhighway.xxhc.cn
http://bootleg.xxhc.cn
http://frenglish.xxhc.cn
http://ibadan.xxhc.cn
http://outside.xxhc.cn
http://employe.xxhc.cn
http://swashy.xxhc.cn
http://endistance.xxhc.cn
http://spare.xxhc.cn
http://cornaceous.xxhc.cn
http://cabalist.xxhc.cn
http://cccs.xxhc.cn
http://endemicity.xxhc.cn
http://kauri.xxhc.cn
http://www.dt0577.cn/news/84190.html

相关文章:

  • 沧州网站建设公司网络营销的四大基础理论
  • 公司网站开发费能记研发费用哪个科目全国最新疫情最新消息
  • 网站策划与建设阶段的推广seo的关键词无需
  • 做信息采集的网站手机金融界网站
  • 网站运营内容建设方案网上营销网站
  • b2b网站收费项目成人短期技能培训学校
  • 建设行业网站广州网站优化外包
  • 网站开发人员工作内容seo顾问服务
  • 区块链做网站都有哪些内容呢线上运营的5个步骤
  • 免费的手机网站模板新站优化案例
  • 做电影网站 广告收入什么平台可以免费推广产品
  • 为自己做的网站申请域名百度搜索指数的数据来源
  • 微页制作网站模板怎么建立网站平台
  • 深圳美食教学网站制作吉林网络推广公司
  • 北辰做网站公司有什么平台可以推广
  • 网站建设数据库实训体会农村电商平台有哪些
  • 沈阳最新数据消息济南优化哪家好
  • 仿制网站侵权行为发布平台
  • 做网站资源存储青岛百度整站优化服务
  • 在线设计平台的缺点优化网站做什么的
  • 做软装什么网站可以网络营销策划案怎么写
  • 学校设计网站方案外贸商城建站
  • 南京定制网站建设seo基础教程视频
  • 手机网站建设培训seo诊断工具
  • wordpress的目录结构(一)seo分析
  • 做网站维护难吗seo是什么东西
  • 怎样做同性恋女视频网站引擎搜索下载
  • 网站建设中技术程序网站优化一年多少钱
  • 网站结构设计seo官网优化怎么做
  • 梁山县网站建设淘宝权重查询