olama部署deepseek模型
0llama 是一个开源的本地大语言模型运行框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。
1.下载ollama
下载地址:点击跳转(需要翻墙才能下载)
2.安装ollama部署工具
sudo tar -xzf ollama-linux-amd64.tgz -C / #解压部署工具到根目录
ollama serve #运行ollama 服务器
3.下载deepseek 模型
官网地址:点击跳转
ollama run deepseek-r1:1.5b
下载界面如下:
4.开启远程通信功能
#开启监听所有网卡
echo 'export OLLAMA_HOST="0.0.0."'>> ~/.bashrc
echo 'export OLLAMA_ORIGINS="*"' >> ~/.bashrc#重启加载脚本
source ~/.bashrc
#重启服务器
ollama serve修改端口
ollama serve --port 8080启动gpu加速
ollama serve --gpu
测试远程远程服务器是否开启
ollama API接口使用
官方文档:点击跳转
中文文档:点击跳转
普通流式请求
curl http://localhost:11434/api/generate -d '{"model": "llama3.2", //请求模型"prompt": "Why is the sky blue?"
}'修改为请求deepseek模型
curl http://localhost:11434/api/generate -d '{
"model":"deepseek-r1:1.5b", //请求模型
"prompt":"为什么天空是蓝色的?" //请求的问题
}'非流式请求
curl http://localhost:11434/api/generate -d '{"model": "deepseek-r1:1.5b","prompt": "Why is the sky blue?","stream": false //关闭流失输出
}'//以JSON数据返回
curl http://localhost:11434/api/generate -d '{"model": "llama3.2","prompt": "What color is the sky at different times of the day? Respond using JSON","format": "json","stream": false
}'
在线API接口:首次调用 API | DeepSeek API Docs
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>#define PORT 11434 // http服务器端口号
#define SERVER_IP "127.0.0.1" // http服务器IP地址
#define BUFFER_SIZE 4096 * 10int main(int argc, char const *argv[])
{if (argc != 2){printf("Usage: %s <prompt>\n", argv[0]);return 1;}int sock = 0;struct sockaddr_in serv_addr;char buffer[BUFFER_SIZE] = {0};// 1.创建 socketif ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0){printf("\n Socket creation error \n");return -1;}serv_addr.sin_family = AF_INET;serv_addr.sin_port = htons(PORT); // 设置端口号serv_addr.sin_addr.s_addr = inet_addr(SERVER_IP); // 设置IP地址// 2.连接到服务器if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0){printf("\nConnection Failed \n");return -1;}/*使用命令请求curl http://192.168.63.1:11434/api/generate -d '{"model": "deepseek-r1:1.5b","prompt": "如何提升篮球技术","stream": false 👈关闭流式输出}'*/// 构造 HTTP 请求体(关闭流式响应)char request_body[1024] = {0};snprintf(request_body, 1024, "{\"model\": \"deepseek-r1:1.5b\", \"prompt\": \"%s\", \"stream\": false}", argv[1]);// 请求头char request_headers[256] = {0};snprintf(request_headers, sizeof(request_headers),"POST /api/generate HTTP/1.1\r\n""Host: 192.168.128.196:11434\r\n""Content-Type: application/json\r\n""Content-Length: %zu\r\n""\r\n",strlen(request_body));// 请求协议char request[4096] = {0};snprintf(request, sizeof(request), "%s%s", request_headers, request_body);// 发送请求send(sock, request, strlen(request), 0);printf("Request sent:\n%s\n", request);while (1){// 接收响应int valread = read(sock, buffer, BUFFER_SIZE);if (valread > 0){printf("Response:\n%s\n", buffer);}else{printf("Failed to receive response.\n");}}// 关闭 socketclose(sock);return 0;
}
觉得有帮助的话,打赏一下呗。。
需要商务合作(定制程序)的欢迎私信!!