localhost

学习如何设置 NodeRAG API 客户端并从请求中生成答案

设置 API 客户端

确保您已经完成语料库的索引,然后使用以下命令启动 API 服务器:

python -m NodeRAG.search -f path/to/main_folder

这将启动一个基于 Flask 的 API 客户端。

client

您可以通过更新配置文件中的 config.urlconfig.port 来修改 localhost 地址和端口。

#==============================================================================
# 文档处理配置
#==============================================================================
config:
  # 搜索服务器设置
  url: '127.0.0.1'                  # 搜索服务的服务器 URL
  port: 5000                        # 服务器端口号

在终端中使用

设置完客户端后,您可以直接从命令行使用 NodeRAG。请求代码已完全封装,便于使用。

基本查询

python -m NodeRAG -f path/to/main_folder -q "您的问题"

返回带检索上下文的答案

要检索相关上下文,使用 -r 标志:

python -m NodeRAG -f path/to/main_folder -q "您的问题" -r

要同时检索答案和相关上下文,使用 -r -a 标志:

python -m NodeRAG -f path/to/main_folder -q "您的问题" -r -a

teminal_answer

在 Python / Jupyter Notebook 中使用(常用方式)

您可以通过 HTTP 请求在 Python 或 Jupyter Notebook 中与 NodeRAG API 交互。以下是一个常见的使用示例。

import requests

# 配置 API 端点
url = '127.0.0.1'
port = 5000
localhost = f'http://{url}:{port}'
question = 'who is harry potter?'
data = {'question': question}

# 仅请求答案
response = requests.post(localhost + '/answer', json=data)
print(response.json()['answer'])

# 仅请求检索上下文
response = requests.post(localhost + '/retrieval', json=data)
print(response.json()['retrieval'])

# 同时请求答案和检索上下文
response = requests.post(localhost + '/answer_retrieval', json=data)
result = response.json()
print({'answer': result['answer'], 'retrieval': result['retrieval']})

说明

  • POST /answer:返回对您查询的生成答案。
  • POST /retrieval:返回从语料库中检索的相关上下文。
  • POST /answer_retrieval:返回答案及其相关上下文。

⚙️ 注意: 发送请求前请确保 API 服务器正在运行。您可以通过 Node_config.yaml 中的 config.urlconfig.port 配置主机和端口。

client_result


Last modified April 5, 2025: update reproduce (f23a25c)