admin 管理员组文章数量: 1184232
使用dify搭建了本地模型,设计了一个工作流。
使用python调用dify的api接口。
Python基本 dify.py如下
import requests
class DifyChat:
def __init__(self, api_url, api_key):
self.api_url = api_url
self.api_key = api_key
self.headers = {
'Authorization': f'Bearer {self.api_key}',
'Content-Type': 'application/json'
}
def create_chat(self, chat_name):
url = f'{self.api_url}/chats/create'
data = {'chat_name': chat_name}
response = requests.post(url, json=data, headers=self.headers)
return response.json()
def send(self, message,file_id):
url = f'{self.api_url}/chat-messages'
data = {
"inputs":{},
"files": [{
"type": "image",
"transfer_method": "local_file",
"upload_file_id": file_id
}],
"query": message,
"response_mode": "blocking",
"conversation_id": "",
"user": "abc-123"
}
response = requests.post(url, json=data, headers=self.headers)
return response.json()
def delete(self,conver_id):
url=f'{self.api_url}/conversations/{conver_id}'
data = {
"user": "abc-123"
}
response = requests.delete(url, json=data, headers=self.headers)
return response.json()
def upload_file(self, file_path):
url = f'{self.api_url}/files/upload'
files = {'file': ("a.jpg", open(file_path, 'rb'), 'image/jpg')}
headers={
'Authorization': f'Bearer {self.api_key}',
"user":"abc-12"
}
response = requests.post(url, files=files, headers=headers)
return response.json()
# 示例
if __name__ == "__main__":
api_url = "http://127.0.0.1/v1"
api_key = "app-xxxxxxxxxxxxxxxxxxxx"
chat = DifyChat(api_url, api_key)
# 发送消息
ret=chat.upload_file("./a.jpg")
file_id=ret["id"]
ret = chat.send(".",file_id)
message_id=ret["message_id"]
conver_id=ret["conversation_id"]
ret=chat.delete(conver_id)
print(ret)
# print(ret["answer"])
版权声明:本文标题:对接Dify的api接口 上传文件、发起对话、删除对话 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1765776494a3413704.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论