Ollama部署
运行:
ollama run llama3.1
我要用本地已经部署的ollama工具提供的API,批量的处理一个excel中的内容,请你帮我完成python程序
1)读取excel中每一行的[回答]列的数据
2)用准备好的提示词和接口地址,处理单元格数据,收到包含两个字段的json数据,【得分】【评价】
3)将【得分】【评价】,保存到原有的excel中
要完成这个任务,我们将需要使用 Python 的几个库:pandas
用于读取和写入 Excel 文件,requests
用于发送 HTTP 请求到 API,以及 json
用于处理 JSON 数据。
以下是一个基本的 Python 脚本示例,演示了如何实现上述功能:
import pandas as pd
import requests
import json
# 指定你的 Excel 文件路径
excel_path = 'path_to_your_excel_file.xlsx'
# 指定 API 地址
api_url = 'your_api_url_here'
# 读取 Excel 文件
df = pd.read_excel(excel_path)
# 准备一个空的 DataFrame 用于存储结果
results_df = pd.DataFrame(columns=['得分', '评价'])
# 遍历 DataFrame 中的每一行
for index, row in df.iterrows():
# 假设 '回答' 是列名,根据你的实际情况可能需要修改
response_content = row['回答']
# 准备 POST 请求的数据,包括提示词和需要处理的数据
payload = {
'prompt': 'your_prompt_word_here', # 你的提示词
'content': response_content
}
# 发送 POST 请求到 API
response = requests.post(api_url, json=payload)
# 检查响应状态码
if response.status_code == 200:
# 解析响应内容为 JSON
json_data = response.json()
# 从 JSON 中获取 '得分' 和 '评价'
score = json_data.get('得分')
comment = json_data.get('评价')
# 将结果添加到结果 DataFrame 中
results_df = results_df.append({'得分': score, '评价': comment}, ignore_index=True)
else:
print(f"Failed to get a proper response from API for row {index}. Status code: {response.status_code}")
# 将得分和评价合并回原始 DataFrame
df[['得分', '评价']] = results_df
# 保存更新后的 DataFrame 回 Excel 文件
df.to_excel(excel_path, index=False)
print("Processing complete. Updated Excel file saved.")
请注意,这个脚本假设你的 Excel 文件中有一个名为 [回答]
的列,并且 API 响应的 JSON 数据包含 得分
和 评价
字段。你需要根据你的实际情况调整列名、API URL 和提示词。
在运行此脚本之前,请确保你已经安装了所需的库:
pip install pandas requests
此外,确保你的 API 能够处理 POST 请求,并返回正确的 JSON 格式数据。如果 API 需要其他类型的请求(如 GET 请求)或需要认证(如 API 密钥),你需要在 requests.post
调用中进行相应的调整。
- 主框架有了,剩下就是一步步踩坑和调整的过程。
下面的文字是一个创业者的创业故事,请帮我从三个维度进行信息提炼
1)创业烧掉多少钱,如果没有提到就写0
2)根据文字表达,判断一下这个创业者的逻辑思维能力和表达能力,满分10分,综合打一个分数
3)根据复盘的内容,判断一下他最有可能失败的原因
要求:
1)不要推断,只从原始文字中进行内容分析
2)输出结果用json格式,包含三个内容【烧掉多少钱】【逻辑表达得分】【可能失败的原因】
3)输出不要更多信息,只给我要的内容
复盘文字:
输出:
{
"烧掉多少钱": 0,
"逻辑表达得分": 5,
"可能失败的原因": "由于没有具体的复盘文字提供,无法判断可能的失败原因。"
}
由于您没有提供具体的复盘文字,我无法进行具体的信息提炼。但是,我可以提供一个通用的Python代码示例,用于调用一个API并处理返回的JSON数据。您可以根据实际的API调用方式和返回的数据格式,对以下代码进行相应的调整。
假设Ollama的API调用方式是通过HTTP POST请求,并且返回的数据是JSON格式,包含score
和comment
字段。以下是使用Python的requests
库调用API并处理数据的示例代码:
import requests
import json
import pandas as pd
# 假设这是您的API调用函数
def call_ollama_api(content, prompt):
api_url = '您的API地址'
headers = {'Content-Type': 'application/json'} # 如果API需要特定的头部信息,请添加
payload = {
'prompt': prompt,
'content': content
}
response = requests.post(api_url, json=payload, headers=headers)
if response.status_code == 200:
return response.json() # 假设返回的是JSON格式的数据
else:
raise Exception(f"API调用失败,状态码:{response.status_code}")
# 读取Excel文件
excel_path = '您的Excel文件路径.xlsx'
df = pd.read_excel(excel_path)
# 假设您的Excel文件中有两列:'回答'和'得分','评价'
# 并且您想在原有Excel文件中添加'得分'和'评价'列
# 准备存储得分和评价的列表
scores = []
comments = []
# 调用API并更新数据
for index, row in df.iterrows():
response_data = call_ollama_api(row['回答'], '您的提示词') # 替换为您的提示词
scores.append(response_data.get('score', 0)) # 使用.get()避免KeyError,如果没有'score'则默认为0
comments.append(response_data.get('comment', '无评价')) # 同上
# 将得分和评价添加到DataFrame
df['得分'] = scores
df['评价'] = comments
# 保存更新后的DataFrame到Excel
df.to_excel('更新后的Excel文件路径.xlsx', index=False)
请注意,您需要替换代码中的api_url
、prompt
、excel_path
和'更新后的Excel文件路径.xlsx'
为您实际的API地址、提示词、原始Excel文件路径和更新后的Excel文件路径。
此外,如果API调用需要认证(如API密钥),您需要在headers
中添加相应的认证信息。如果API的返回数据结构与示例不同,您需要根据实际返回的数据结构调整代码中的response_data.get('score', 0)
和response_data.get('comment', '无评价')
部分。
在运行此代码之前,请确保您已经安装了所需的库:
pip install pandas requests