AI
基于paddlehub和wechaty实现一句话给你emoji过来【需添加实战】
paddleOCR--提取图片或PDF表格内容
sentence-transformers的使用
语音转文字-Whisper
pytorch版本对应问题
moviepy和scenedetect的用法
本地搭建AI大模型
DeepSeek使用技巧
DeepSeek实战
DeepSeek部署
DeepSeek R1打造个人知识库
DeepSeek+即梦
OpenManus本地部署
本文档使用 MrDoc 发布
-
+
up
down
首页
本地搭建AI大模型
详情:自己电脑搭建AI大模型详细教程,支持通义千问、Llama3、接口调用等。 配置:需要显卡,最好8G显存; 本地部署大模型有哪些好处呢?首先,因为这些大模型都是开源的,安装在自己的电脑上也是免费使用的,如下图所示启动qwen7b后,我可以直接在命令窗口提问它,全球各地有记载的历史最低温度是多少?,后面是qwen的回复: 其次,安装大模型在自己电脑除了我们可以直接免费使用它外,还有一个很大的好处,就是我们可以结合自己的私有文件系统,打造一个大模型+个人知识库的AI系统,既保护了个人数据隐私,也让AI「更懂你」。 ## 第一步,推荐使用ollama管理不同的大模型 [Ollama](https://ollama.com/download/windows)  安装默认会装到C盘,打开命令窗口,输入ollama,然后就能看到它的相关指令,一共10个左右的命令,就能帮我们管理好不同大模型:  ## 第二步,下载模型 ### 模型介绍 模型列表可以参考:https://ollama.com/search - deepseek-coder编程大模型,参数尺寸只有776M,相比于通用大模型如qwen:7b和llama3:8b都有近5G的参数规模,可以说已经轻量级到极限 `ollama pull deepseek-coder:latest` ### 模型下载 命令窗口输入:`ollama pull deepseek-r1:1.5b`,下载大模型 deepseek-r1 到我们自己的电脑:  【ollama下载速度很快】该模型比较小,文件只有1.1Gb大小。 > 列出已经下载的模型,`ollama list`  > 查看模型基本信息,`ollama show deepseek-r1:1.5b`  ## 第三步,运行大模型 执行命令:`ollama run deepseek-r1:1.5b`,如下:  此时,我们就可以和大模型对话啦,如下:  > d下面红色部分是回答中的\<think\>模块的内容 <div style="color: red"> <think> 嗯,用户让我帮他写一个Python函数,用来抓取某个URL接口的数据,并且要把结果返回成JSON格式。首先,我得想想这个问题需要 解决什么。 首先,用户可能是在开发一个网站或者移动应用,需要通过API获取数据,比如用户信息、商品详情等等。这些数据通常是以JSON格 式返回的,方便后续处理和展示。 接下来,我应该考虑用哪个API去抓取。常见的有Like.js、https://rest APIs.org或者直接使用第三方服务如V8库。假设用户没有 特别说明,我可以推荐一个简单且常用的接口,比如https://v8js.net/docs/html/api/v8/ 现在,函数的结构应该是怎么样的呢?通常,我需要导入V8模块,并设置配置参数,比如日志级别、开发者模式等。然后,定义一个 抓取函数,接收URL和获取的字段。 那具体步骤是什么呢? 首先,导入V8模块并初始化配置。设置日志级别可以增加代码的可维护性。接下来,创建API组件,指定要访问的接口路径,并决定 返回的数据类型是什么,比如字符串、数组等等。 然后,定义一个函数get_data API,接收URL和字段名。接着,开始抓取,获取响应,并解析结果。最后,处理结果,可能需要一些 自定义代码来输出特定格式的JSON数据。 还要考虑如何处理异常情况,比如API返回错误或无法访问接口。也许在抓取过程中设置一个默认值或者报告错误信息。 另外,用户的需求可能不仅仅是简单地抓取数据,还需要一些解析和呈现功能,所以应该确保函数可以处理结果,并以某种方式返回 给用户提供。 总之,我需要写出一个结构清晰、易用的Python函数,帮助用户快速实现对API数据的抓取和返回。同时,提供一些自定义代码示例 ,让用户可以根据自己的需求调整。 </think> </div> > d下面部分是回答中的内容,返回的内容应该是Markdown格式 以下是一个用于抓取某个URL接口并返回JSON数据的 Python 函数: ```python import v8 from v8 import api from datetime import datetime, timedelta # 初始化配置 config = v8.Config({ 'version': 2, 'dev': True, 'formatter': False, 'errors': False, 'backups': False, 'force_clean': False, 'env_mode': None, 'output_mode': None, 'skip': False }) class Get_data_API: def __init__(self): self.api_config = api.Config( base_url=self.config.base_url, port=self.config.port, env=self.config.env, # 声明是否在开发环境或测试环境 log_level='INFO', error_flag=True, exception_flag=True ) def get_data_api(self, url: str, field_name: str) -> dict: try: self.api_config.start() response = self.api_config.get( url, data_key=f"data[{self.config.key}]", element_id(field_name), fallback_response=True ) if 'error' in response and response['status'] != 200: raise Exception(f"API Error: {response['error']['message']}({response['error']['code']})") data = self.api_config.json(response, { field_name: data[field_name], 'default_value': '[未知]' }) return { "status": response['status'], "data": data } except Exception as e: raise e # 示例函数 def get_data_url(url: str): config = Get_data_API() result = config.get_data_api(url) if 'default_value' in result and result['default_value'] == '未知': return {} else: return result if __name__ == "__main__": app = v8.Application('GET_data_url', [ Get_data_API() ]) data = app.run(['https://v8js.net/api/v8/join/123456']) print(data) ``` 这个代码可以用于以下场景: 1. **获取某种数据**:例如,`get_data_url('https://v8js.net/api/v8/join/123456')` 将返回该接口的响应。 2. **格式化输出到JSON**:在需要时将其转换为 JSON 应答,并以特定格式返回(比如“{ 'status': 200, "data": {"name": "用 户信息", ...} }")。 ### 使用说明: 1. **配置参数**: - `version`: 支持 V8 版本 2 - `dev`: 是否在开发环境,不影响正常运行(默认为 True) - `formatter`: 是否格式化JSON(False) - `errors`: 如果 API 发生错误时启用 error 输出 2. **API 网格**: `config = Get_data_API()`,或通过其他方式配置。 3. **返回字段**: 例如,`field_name='name'` 返回接口中的“name”字段的值。 ### 示例响应(JSON 格式): ```json { "status": 200, "data": { "id": "test_id", "name": "用户名", "email": "user@example.com" } } ``` 这个函数可以用于以下场景: - 用户需要通过某种 API 获取数据(如用户信息、商品详情等) - 服务器端需要根据 API 返回的数据进行处理和展示 - 确保 API 的响应格式符合特定需求 ### 优化示例代码: 如果你需要更高级的API 配置或自定义功能,可以使用以下扩展: 1. **日志配置**:添加日志级别以增加代码的可维护性。 2. **自定义输出**:根据你的需求调整JSON 格式和默认值。 3. **异常处理**:设置更好的错误响应机制。 ### 示例自定义函数: 如果需要将返回结果按特定格式返回(比如按字典形式),可以添加以下自定义代码: ```python def format_json(data: dict, default_value: str = '未知'): return { "status": data.get('status', 500), "data": data.get('default_value') + '[' + json.dumps(data, ensure_ascii=False) + ']' } ``` 这个函数可以将返回的数据按特定格式返回。 ## 资源占用情况:  ## API调用方法 深入一步使用大模型接口做开发的。ollama也支持接口开发,它默认的端口是11434,打开浏览器后,输入下面命令,会得到一个字符串输出:ollama is running:  基于上面已经搭建好的ollama+大模型deepseek-r1:1.5b,我们可以编写几行代码,使用ollama的接口,自动执行大模型会话。非常实用!具体来说,最精简版代码不到10行,首先pip安装requests包,然后执行下面代码:  自动输出下面的回答:  所以,当你有很多任务需要执行时,能通过API调用就会非常省事,自动给你回复,自动给你干活。 上面的url就是API接口的地址,payload是三个必须要传入的参数,使用Python的requests包自动发送请求,然后response得到结果。 以上就是API调用的完整步骤。 ## 一体机测试 ``` # ollama? ollama runner --model /root/.ollama/models/blobs/sha256-c62ccde5630c20c8a9cf601861d31977d07450cad6dfdf1c661aab307107bddb --ctx-size 8192 --batch-size 512 --n-gpu-layers 65 --threads 64 --parallel 4 --port 41135 # deepseek? /home/dev/miniconda3/envs/deepseek/bin/python3.10 /home/dev/miniconda3/envs/deepseek/bin/swift deploy --adapters output/v13/checkpoint-4023/ --max_new_tokens 2048 --api_key Ft_2025_QWEasdZXC --served_model_name QwQ-32B-FT --owned_by FT /home/dev/miniconda3/envs/deepseek/bin/python3.10 /home/dev/miniconda3/envs/deepseek/bin/swift sft --model Qwen/QwQ-32B --train_type lora --dataset ~/dataset/ft_self.jsonl#120 ~/dataset/clinical_hpo训练数据.jsonl --torch_dtype bfloat16 --num_train_epochs 2 --per_device_train_batch_size 1 --per_device_eval_batch_size 1 --learning_rate 1e-4 --lora_rank 8 --lora_alpha 32 --target_modules all-linear --gradient_accumulation_steps 16 --system 你是一个擅长遗传学研究的医生 --eval_steps 500 --save_steps 500 --save_total_limit 4 --logging_steps 5 --output_dir output --warmup_ratio 0.05 ```
laihui126
2025年3月20日 15:11
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅道文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅道文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅道文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
下载Markdown文件
分享
链接
类型
密码
更新密码