在Engee中使用DeepSeek-R1
在这个例子中,我们将看到创建和发送请求的过程,以及通过第三方Python API输出对DeepSeek-R1大型语言模型(LLM)的Engee的响应。
导言
DeepSeek-R1是近年来所有DeepSeek LLMs中最相关和耸人听闻的模型。 有几种方法可以免费和付费使用这种模式访问聊天。 在我们的例子中,我们将考虑最简单和最自由的访问方法。
我们将发送JSON请求到一个开放的LLM访问服务-<https://openrouter.ai />。 这是将语言模型集成到用户应用程序中的可能方法之一。
网站[openrouter.ai ](http://openrouter.ai )用作访问与LLM聊天的API的示例。 我们警告您有关付费服务的可用性,并建议您使用专家的帮助来执行类似的工作。 此外,我们声明此示例不作为所使用服务的广告。
开始行动
首先,让我们检查库是否已安装。 requests 蟒蛇。 它允许您处理HTTP请求。 下面的代码可以例如在单元格中执行。ipynb文件:
!pip install requests
之后,我们将安装并连接库。 PyCall.jl 要使用[Python In Julia]中的代码(https://engee.com/helpcenter/stable/ru/julia/PyCall/readme.html )。
Pkg.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中标记,我们可以将其保存到具有适当扩展名的文件中,以便清晰。
try
write("Py_LLM.md", py"output['message']['content']");
catch err;
println("Введите актуальный API_KEY");
end
代码屏蔽
Engee在处理脚本时无可争议的便利在于[屏蔽代码代码]的可能性。 ячеек](https://engee.com/helpcenter/stable/ru/interactive-scripts/language_basics/code_cell_masks.html)。因此,我们可以轻松地创建最小必要的GUI来处理编写的应用程序。:
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)
"""
结论
在这个例子中,我们考虑了一个相当简单的方法,将聊天与Engee脚本中的DeepSeek-R1神经网络连接起来。 该程序是用Python实现的,它的工作是使用第三方服务的API生成JSON格式的请求。 此外,还显示了对Markdown文件的接收响应的输出以及用于在Engee脚本中创建GUI程序的代码单元格的屏蔽。