74 lines
1.9 KiB
Python
74 lines
1.9 KiB
Python
#
|
|
# curl -X POST 'http://192.168.2.240/v1/chat-messages' \
|
|
# --header 'Authorization: Bearer {api_key}' \
|
|
# --header 'Content-Type: application/json' \
|
|
# --data-raw '{
|
|
# "inputs": {},
|
|
# "query": "What are the specs of the iPhone 13 Pro Max?",
|
|
# "response_mode": "streaming",
|
|
# "conversation_id": "",
|
|
# "user": "abc-123",
|
|
# "files": [
|
|
# {
|
|
# "type": "image",
|
|
# "transfer_method": "remote_url",
|
|
# "url": "https://cloud.dify.ai/logo/logo-site.png"
|
|
# }
|
|
# ]
|
|
# }'
|
|
import json
|
|
|
|
import requests
|
|
|
|
|
|
def dify_news_title_analyze(content):
|
|
# 设置Authorization和URL
|
|
authorization = "Bearer app-rhhKkbvHd2IAQoGX7xTzXZJj" # 请替换为真实的Authorization token
|
|
url = 'http://192.168.2.240/v1/chat-messages'
|
|
|
|
data = {
|
|
"response_mode": "blocking",
|
|
"conversation_id": "",
|
|
"inputs": {},
|
|
"query": content,
|
|
"user": "a-bot"
|
|
}
|
|
|
|
# 设置请求头
|
|
headers = {
|
|
"Content-Type": "application/json; charset=utf-8",
|
|
"Authorization": authorization
|
|
}
|
|
|
|
# 发送POST请求
|
|
response = requests.post(url, headers=headers, data=json.dumps(data), )
|
|
response.encoding = 'utf-8'
|
|
|
|
# 输出响应内容
|
|
print(response.status_code)
|
|
print(response.json())
|
|
return extract_content(response.json())
|
|
|
|
|
|
def extract_content(data):
|
|
"""解析API响应内容
|
|
Args:
|
|
data: API返回的响应数据,可以是字典或字符串
|
|
Returns:
|
|
str: 提取的answer内容
|
|
"""
|
|
try:
|
|
# 如果是字符串,尝试解析为字典
|
|
if isinstance(data, str):
|
|
data = json.dumps(data)
|
|
# 如果是字典,直接获取answer
|
|
if isinstance(data, dict):
|
|
answer = data.get('answer', '')
|
|
if answer:
|
|
return answer
|
|
|
|
return None
|
|
except Exception as e:
|
|
print(f"解析响应失败: {str(e)}")
|
|
return None
|