在 Engee 中使用 DeepSeek-R1¶
在本例中,我们将了解创建和发送查询的过程、 并向Engee输出响应的过程。 DeepSeek-R1 通过第三方 Python 服务的 API 输出响应的过程。
简介¶
DeepSeek-R1是近期所有DeepSeek LLM中最相关、最受关注的型号。 有几种免费和付费的聊天方式、 在我们的例子中,我们将考虑最简单的免费访问方式。
我们将向开放式 LLM 访问服务 https://openrouter.ai/ 发送 JSON 请求。 这是将语言模型集成到用户应用程序中的可行方法之一。
我们使用 openrouter.ai 网站作为 LLM 聊天访问 API 的示例。 我们提醒您注意该网站上存在付费服务,并且 我们建议您使用专家的帮助 执行类似工作。此外,我们声明 本示例并非所使用服务的广告。
开始使用¶
首先,检查是否安装了requests
Python 库。
通过它可以处理 HTTP 请求。
例如,可以在 .ipynb 文件的单元格中执行以下代码:
!pip install requests
之后,我们将安装并连接库PyCall.jl
以使用 Python in Julia 中的代码。
]add PyCall # Установка библиотеки
using PyCall # Подключение библиотеки
现在让我们连接图书馆requests
:
py"""
import requests
"""
准备工作完成后,我们就可以进行查询了。
形成查询¶
使用 Openrouter API 访问页面 (API_URL
) 和用户密钥 ( ) 创建变量。
和用户密钥 (API_KEY
) 创建变量。下面输入的密钥
在当前示例中专用,目前禁用。
如有必要,请输入您自己的 API 密钥。
py"""
API_KEY = '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'
API_URL = 'https://openrouter.ai/api/v1/chat/completions'
"""
接下来,让我们定义 API 请求头:
py"""
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
"""
以 JSON 格式定义请求数据:
py"""
data = {
"model": "deepseek/deepseek-r1:free",
"messages": [{"role": "user", "content": "Напиши программу Hello World! на Julia"}]
}
"""
此处:deepseek/deepseek-r1:free
是免费的 DeepSeek-R1、
可通过 OpenRouter 聊天。
在messages
字段中的用户角色 ("role": "user"
)
定义了文本查询content
。
接收并输出答案¶
让我们把生成的 POST 请求发送给 OpenRouter:
py"""
response = requests.post(API_URL, json=data, headers=headers) # Отправляем POST-запрос
"""
检查请求是否成功,并打印必要的数据。
py"""
if response.status_code == 200: # если код ответа "200", то:
for content in response.json()['choices']: # из поля "choices" ответа
output = content # получаем содержимое "content"
print(output['message']['content']) # а из этого содержимого печатаем "content" поля "messages"
else: # иначе:
print("Failed to fetch data from API. Status Code:", response.status_code) # Печать сообщения об ошибке
"""
如果请求处理成功,如上文所述、
我们会收到来自神经网络的响应。
为了清晰起见,DeepSeek 的响应是用 Markdown 标记的。
我们可以将其保存到具有相应扩展名的文件中。
write("Py_LLM.md", py"output['message']['content']");
代码屏蔽¶
在处理脚本时,Engee 无可否认的便利之处是能够 屏蔽代码单元]1 的功能。因此,我们可以轻松创建 因此,我们可以很容易地创建最低限度的必要图形用户界面,以使用编写的应用程序:
py"""
# Define the request payload (data)
Вопрос = "Ответь максимально коротко на вопрос о жизни, вселенной и вообще" # @param {type:"string"}
data = {
"model": "deepseek/deepseek-r1:free",
"messages": [{"role": "user", "content": str(Вопрос)}]
}
# Send the POST request to the DeepSeek API
response = requests.post(API_URL, json=data, headers=headers)
# Check if the request was successful
if response.status_code == 200:
for content in response.json()['choices']:
output = content
print(output['message']['content'])
else:
print("Failed to fetch data from API. Status Code:", response.status_code)
"""
**$$\blacksquare$***
结论¶
在本示例中,我们考虑了一种相当简单的方法,即在 Engee 脚本中将聊天与 DeepSeek-R1 神经网络 在 Engee 脚本中将聊天与 DeepSeek-R1 神经网络连接起来的简单方法。 该程序用 Python 实现,其工作包括 通过第三方服务的 API 生成 JSON 格式的请求。 此外,它还将接收到的响应输出显示到 Markdown 文件中,并 屏蔽代码单元,在 Engee 脚本中创建图形用户界面程序。 Engee。