class GET_LLM_Test(object):
def __init__(self, arg):
self.arg = arg
# 传入参数,获取指定表格列数据,并返回List
def get_excel_count(self):
import pandas as pd
# 获取excel列数据
get_excel_column = pd.read_excel(
self.arg['excel_path'],
header = self.arg['header'],
engine='openpyxl',
usecols=[self.arg['usecols']],
sheet_name = self.arg['sheet_name']
)
# 导入list
excel_column_list = get_excel_column.values.tolist()
excel_result_content = []
for column_content in excel_column_list:
excel_result_content.append(column_content[0])
# 返回结果
# print(excel_result_content)
return excel_result_content
# 请求接口
def use_llm(self, excel_result_content):
import requests
import json
import pandas as pd
HEADER = {'Content-Type':'application/json; charset=utf-8'}
# 循环列内容
result_excel = pd.DataFrame()
for question in excel_result_content:
data = {
"messages": [
{
"role": "system",
"content":'你是一个AI助手'
},
{
"role": "user",
"content": question
}
]
}
request_data = json.dumps(data)
response = requests.post(url=self.arg['url'], data=request_data)
result = json.loads(response.text.encode())
question_result = result['result']
# 是否写入新的excel文件中
if arg['write_new_excel']==True:
data = {'问题':question, '结果':question_result}
result_excel = result_excel.append(pd.DataFrame(data, index=[0]))
else:
print("功能正在实现中.....")
result_excel.to_excel(self.arg['excel_path'], index=False)
print('文件写入成功')
if __name__=="__main__":
import argparse
parser = argparse.ArgumentParser()
arg = {}
arg['url'] = 'http://*********/qwen/predict'
arg['excel_path'] = '/测试原始文件.xlsx'
# 传递获取表格参数
arg['header'] = 0 # 表格第一行作为标题行
arg['usecols'] = 0 # 获取表格第几列数据(0代表第一列)
arg['sheet_name'] = 'Sheet1' # 指定表格对应的工作表名称
arg['write_new_excel'] = True # 是否写入新的excel表格(Flase为追加)
arg['new_excel_path'] = '/测试结果文件.xlsx'
# 实例化
llm = GET_LLM_Test(arg)
# 获取表格数据
excel_result_content = llm.get_excel_count()
llm.use_llm(excel_result_content)
Excel多条数据请求大模型接口并写入新Excel中
最新推荐文章于 2024-09-23 14:52:29 发布