Python API
RAGFlow的Python API完整参考。在继续之前,请确保您已经准备好用于身份验证的RAGFlow API密钥。
注意事项
运行以下命令下载Python SDK:
pip install ragflow-sdk
错误代码
代码 | 消息 | 描述 |
---|---|---|
400 | 请求无效 | 请求参数无效 |
401 | 未经授权 | 访问未授权 |
403 | 禁止访问 | 访问被拒绝 |
404 | 资源不存在 | 资源未找到 |
500 | 内部服务器错误 | 服务器内部错误 |
1001 | 片段ID无效 | 片段ID无效 |
1002 | 片段更新失败 | 更新片段失败 |
兼容OpenAI的API
创建聊天完成
通过OpenAI的API为给定的历史对话创建模型响应。
参数
model: str
,必填
用于生成响应的模型。服务器会自动解析此参数,因此您可以将其设置为任何值。
messages: list[object]
,必填
用于生成响应的历史聊天消息列表。必须包含至少一个具有user
角色的消息。
stream: boolean
是否以流的形式接收响应。如果您希望一次性收到整个响应而不是分段形式,请显式将此参数设为false
。
返回值
- 成功:OpenAI的消息格式的响应
- 失败:
Exception
示例
from openai import OpenAI
model = "模型"
client = OpenAI(api_key="ragflow-api-key", base_url=f"http://ragflow_address/api/v1/chats_openai/<chat_id>")
stream = True
reference = True
completion = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "您是一个乐于助人的助手"},
{"role": "user", "content": "你是谁?"},
{"role": "assistant", "content": "我是一位名叫...的AI助手"},
{"role": "user", "content": "你能告诉我如何安装neovim吗"}
],
stream=stream,
extra_body={"reference": reference}
)
if stream:
for chunk in completion:
print(chunk)
if reference and chunk.choices[0].finish_reason == "stop":
print(f"参考:\n{chunk.choices[0].delta.reference}")
print(f"最终内容:\n{chunk.choices[0].delta.final_content}")
else:
print(completion.choices[0].message.content)
if reference:
print(completion.choices[0].message.reference)