52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
from authentication import get_access_token
|
|
import requests
|
|
|
|
|
|
def upload_file(file_path, token, assistant_id):
|
|
url = f"{base_url}/file_upload"
|
|
|
|
# Check if the file exists
|
|
try:
|
|
file = open(file_path, 'rb')
|
|
except FileNotFoundError:
|
|
return {"error": "File not found", "file_path": file_path}
|
|
|
|
try:
|
|
# Dynamically get the file name from the file path
|
|
file_name = file_path.split('/')[-1]
|
|
files = {'file': (file_name, file)}
|
|
headers = {
|
|
"Authorization": f"Bearer {token}"
|
|
}
|
|
data = {
|
|
"assistant_id": assistant_id
|
|
}
|
|
print("Request Headers:", headers)
|
|
print("Request Data:", data)
|
|
print("File Path:", file_path)
|
|
|
|
response = requests.post(url, files=files, headers=headers)
|
|
print("Response Status Code:", response.status_code)
|
|
print("Response JSON:", response.json())
|
|
|
|
if response.status_code == 200:
|
|
return response.json()
|
|
else:
|
|
return {"error": "File upload failed", "status_code": response.status_code, "response": response.json()}
|
|
except requests.RequestException as e:
|
|
return {"error": "Request failed", "details": str(e)}
|
|
finally:
|
|
file.close()
|
|
|
|
|
|
api_key = '25bda2c39c0f8ca0'
|
|
api_secret = 'e0008b9b9727cb8ceea5a132dbe62495'
|
|
token = get_access_token(api_key, api_secret)
|
|
print(token)
|
|
assistant_id = "66b46e7d1c146ed6a5220d7a"
|
|
base_url = "https://chatglm.cn/chatglm/assistant-api/v1"
|
|
|
|
upload_file_path = "/Users/tigeren/Dev/digisky/market_assistant/pingcap.xlsx"
|
|
|
|
upload_file_response = upload_file(upload_file_path, token, assistant_id)
|
|
print(upload_file_response) |