新材料 东莞网站建设,多wordpress整合,阿里云域名注册打算了怎么办,循化县公司网站建设文章目录 1. 加载数据集2. 获取嵌入并保存以备将来使用 本笔记本提供了一个示例#xff0c;演示如何从大型数据集中获取嵌入。 1. 加载数据集
本示例使用的数据集是来自亚马逊的精细食品评论。该数据集包含截至2012年10月#xff0c;亚马逊用户留下的共568,454条食品评论。我… 文章目录 1. 加载数据集2. 获取嵌入并保存以备将来使用 本笔记本提供了一个示例演示如何从大型数据集中获取嵌入。 1. 加载数据集
本示例使用的数据集是来自亚马逊的精细食品评论。该数据集包含截至2012年10月亚马逊用户留下的共568,454条食品评论。我们将使用该数据集的一个子集包含最近的1,000条评论以说明目的。这些评论是用英语编写的倾向于是积极的或消极的。每个评论都有一个ProductId、UserId、Score、评论标题Summary和评论正文Text。
我们将把评论摘要和评论文本合并成一个单独的文本。模型将对这个合并的文本进行编码并输出一个单一的向量嵌入。
要运行这个笔记本您需要安装以下软件包pandas、openai、transformers、plotly、matplotlib、scikit-learn、torchtransformer dep、torchvision 和 scipy。
# 导入pandas和tiktoken模块
import pandas as pd
import tiktoken# 导入自定义的get_embedding函数
from utils.embeddings_utils import get_embedding
# 定义嵌入模型参数
embedding_model text-embedding-ada-002
# 定义嵌入编码方式
embedding_encoding cl100k_base # 这是text-embedding-ada-002的编码方式
# 定义最大标记数
max_tokens 8000 # text-embedding-ada-002的最大标记数为8191# 加载和检查数据集
input_datapath data/fine_food_reviews_1k.csv # 为了节省空间我们提供了一个经过预过滤的数据集
df pd.read_csv(input_datapath, index_col0) # 使用pandas库的read_csv函数读取csv文件并将第一列作为索引列
df df[[Time, ProductId, UserId, Score, Summary, Text]] # 选择数据集中的指定列
df df.dropna() # 删除包含缺失值的行
df[combined] ( # 创建一个新的列combined将Summary和Text两列的内容合并到一起Title: df.Summary.str.strip() ; Content: df.Text.str.strip()
)
df.head(2) # 显示数据集的前两行数据TimeProductIdUserIdScoreSummaryTextcombined01351123200B003XPF9BOA3R7JR3FMEBXQB5where does one start...and stop... with a tre...Wanted to save some to bring to my Chicago fam...Title: where does one start...and stop... wit...11351123200B003JK537SA3JBPC3WFUT5ZP1Arrived in piecesNot pleased at all. When I opened the box, mos...Title: Arrived in pieces; Content: Not pleased...
# subsample to 1k most recent reviews and remove samples that are too long
# 将数据集抽样为最近的1000个评论并删除过长的样本top_n 1000
# 对数据集按照Time列进行排序然后取最后的2k个样本
df df.sort_values(Time).tail(top_n * 2) # first cut to first 2k entries, assuming less than half will be filtered out# 删除Time列
df.drop(Time, axis1, inplaceTrue)# 使用tiktoken库的get_encoding方法获取嵌入编码
encoding tiktoken.get_encoding(embedding_encoding)# 对于每个评论计算其编码后的token数量并将结果保存在新的列n_tokens中
df[n_tokens] df.combined.apply(lambda x: len(encoding.encode(x)))# 保留token数量不超过max_tokens的样本并取最后的top_n个样本
df df[df.n_tokens max_tokens].tail(top_n)# 返回数据集df的长度
len(df)10002. 获取嵌入并保存以备将来使用
# 确保您已按照README中的说明在环境中设置了API密钥https://github.com/openai/openai-python#usage# 这可能需要几分钟时间
# 将get_embedding函数应用于df的combined列并将结果存储在df的embedding列中
df[embedding] df.combined.apply(lambda x: get_embedding(x, modelembedding_model))
# 将df保存为CSV文件文件名为fine_food_reviews_with_embeddings_1k.csv
df.to_csv(data/fine_food_reviews_with_embeddings_1k.csv)