欢迎光临
我们一直在努力

简单易懂的利用python 调用ragflow api 教程及示例(内含源代码)

参考官方ragflow文档http://localhost/user-setting/api以及如何调用 RAGflow 的 API 接口?_ragflow api-CSDN博客

官方文档中给出了一些示例,但是是以crul的方式运行的,这里结合具体的示例和界面演示,利用python进行实现

1.创建数据库

import requests

url = "http://localhost/api/v1/datasets" # 替换实际地址
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer "+"api" # 替换你的API密钥
}
data = {
"name": "test_1",
}

response = requests.post(url, headers=headers, json=data)
print("状态码:", response.status_code)
print("响应内容:", response.text) # 查看服务器返回的JSON

博主之前尝试的时候出现这一问题:

这里需要注意在api之前要加上"Bearer "

第一步完成,数据库创建成功

除了名字name这一参数,官方文档中也介绍了其他的参数,可自行查阅

2.上传文档

上一步创建数据库成功后在运行结果处会显示id,这个就是数据库id

import requests
dataset_id = "id"
url = f"http://localhost/api/v1/datasets/{dataset_id}/documents"
headers = {
"Authorization": "Bearer "+"api"
}

# 使用 with 语句确保文件正确关闭
with open('test1.pdf', 'rb') as f:
files = {
"file": ('test1.pdf', f, 'application/pdf') # 显式指定文件名和 MIME 类型
}
response = requests.post(url, headers=headers, files=files)

print("状态码:", response.status_code)
print("响应内容:", response.text)

运行成功,该数据库下已经有test1这一文件

 3.解析文档

上一步运行中 有显示文档id信息

另外文档id也可以在这里的预览顶部网址处获取

import requests

url = f"http://localhost/api/v1/datasets/{dataset_id}/chunks" # 替换实际地址
headers = {
"Content-Type": "application/json'",
"Authorization": f"Bearer {api}" # 替换你的API密钥
}
data = {
"document_ids": [document_ids],
}

response = requests.post(url, headers=headers, json=data)
print("状态码:", response.status_code)
print("响应内容:", response.text) # 查看服务器返回的JSON`

注意这里的文件Id需要以列表的形式进行导入 

解析完成,注意这里代码运行结束的时候是文档开始解析的时候,需要稍等一会文档解析完成

 

4.检索内容

import requests
url = f"http://localhost/api/v1/retrieval" # 替换实际地址
headers = {
"Content-Type": "application/json'",
"Authorization": f"Bearer {api}" # 替换你的API密钥
}
data = {
"question": "长江流域地表水资源储量如何?",
"dataset_ids": [dataset_id],
"document_ids": [document_ids],
}
response = requests.post(url, headers=headers, json=data)
print("状态码:", response.status_code)
print("响应内容:", response.text) # 查看服务器返回的JSON`

 检索成功,这里是以Unicode编码中文字符表示中文资料的

 5.创建聊天

注意这里的chat_id指的是助理id,也就是下方网址处的id

import requests
url = f"http://localhost/api/v1/chats/{chat_id}/completions" # 替换实际地址
headers = {
"Content-Type": "application/json'",
"Authorization": f"Bearer {api}" # 替换你的API密钥
}
data = {
"model": "model",
"messages": [{"role": "user", "content": "Say this is a test! "}],

}
response = requests.post(url, headers=headers, json=data)
print("状态码:", response.status_code)
print("响应内容:", response.text) # 查看服务器返回的JSON`

相应成功 

ragflow中也有对应的对话

6.和聊天助手对话

url = f"http://localhost/api/v1/chats/{chat_id}/completions" # 替换实际地址
headers = {
"Content-Type": "application/json'",
"Authorization": f"Bearer {api}" # 替换你的API密钥
}
data = {
"question": "Who are you",
"stream": True,
"session_id": session_id
}
response = requests.post(url, headers=headers, json=data)
print("状态码:", response.status_code)
print("响应内容:", response.text) # 查看服务器返回的JSON``

 系统中也可见问答效果

祝大家使用ragflow顺利!

赞(0)
未经允许不得转载:171主机测评 » 简单易懂的利用python 调用ragflow api 教程及示例(内含源代码)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址