market_assistant/assistant.py

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)