PYTHON_DAY02_ollama私有化大模型部署_以及apifox和chatbox调用大模型

news2026/3/21 19:35:36
##了解私有化大模型解决方案能够选择企业常用的方案实现私有大模型部署随着AI技术的不断普及人们也积极拥抱其带来的变化在生活或者工作中亦使用AI技术来帮助我们更高效的完成某些事件但是在这个过程中也暴露出AI技术当前下存在在的系列问题其中最严重的就是安全问题比如最典型的是三星员工使用ChatGPT泄露公司机密的案例。##案例真的有很多 并且真的损失严重其实上述案例表现的就是企业数据隐私与安全的问题在许多行业如金融、医疗、政府等数据隐私和安全是至关重要的。使用公共大模型可能涉及敏感数据的泄露风险因为公共模型在训练过程中可能接触到了来自不同来源的敏感数据。因此就有了私有大模型的市场需求私有大模型允许企业或机构在自己的数据上训练模型而且训练的结果只供内部或合作伙伴使用从而确保了数据隐私和安全。当然除了数据隐私问题原因之外还存有便于内部员工工作提效、大模型开发的投入等诸多原因综合直接推动私有大模型成为未来AI发展的新方向之一。私有大模型解决方案随着AI的发展越来越多的开发者投入到大模型开发中他们期望能自身笔记本上运行大模型以便开发。越来越多的企业积极改造自身产品融入AI技术他们期望能私有化大模型以保证数据安全。这些诉求直接推动社区出现了两个这方面的产品Ollama和LMstudio。这两个产品各有优势OllamaLM Studio产品定位开源的大型语言模型本地运行框架闭源的本地大型语言模型工作站集模型训练、部署、调试于一体技术特点高度智能化自主学习和适应能力强- 便捷性高操作简单易懂- 安全性强数据传输和存储严格保护高性能采用先进计算架构和算法优化- 可定制化支持用户定制模型结构和训练策略易用性友好的用户界面和丰富的文档支持功能提供预训练模型访问和微调功能- 支持多种模型架构和定制模型- 用户友好界面简化模型实验和部署过程丰富的训练数据和算法库- 可视化训练监控界面- 强大的调试工具支持模型性能优化应用场景学术研究- 开发者原型设计和实验- 创意写作、文本生成等智能客服- 自然语言处理如文本分类、情感分析、机器翻译- 学术研究用户友好性界面化操作适合不同水平的用户- 支持多种设备和平台友好的用户界面适合初学者和非技术人员- 提供全面的工具组合易于上手定制性提供一定程度的定制选项但可能有限制高度可定制化满足用户个性化需求资源要求需要一定的内存或显存资源来运行大型模型- 支持跨平台macOS、LinuxWindows预览版构建和训练复杂模型可能需要大量计算资源和专业技能成本成本可能根据使用量和资源需求变化- 开源项目可能涉及较少的直接成本闭源产品成本可能包括软件许可和可能的云服务费用社区生态社区生态活跃开发者主流本地运行时- 快速适配新发布的模型未知未提及具体社区生态活跃度择私有化大模型部署方案Ollama 作为一个开源的轻量级工具适合熟悉命令行界面的开发人员和高级用户进行模型实验和微调。它提供了广泛的预训练模型和灵活的定制选项同时保持了高度的便捷性和安全性。最重要它是开源的同时还提供API对于开发有先天优势因此在企业中备受欢迎和使用因此本课程也才主要学习Ollama技术。【熟悉】ollama介绍和各版本下载学习目标通过安装Ollama工具实现基于Ollama运行通义QWen大模型什么是OllamaOllama是一款旨在简化大型语言模型本地部署和运行过程的开源软件。中文名羊驼网址https://ollama.com/Ollama提供了一个轻量级、易于扩展的框架让开发者能够在本地机器上轻松构建和管理LLMs大型语言模型。通过Ollama开发者可以访问和运行一系列预构建的模型或者导入和定制自己的模型无需关注复杂的底层实现细节。Ollama的主要功能包括快速部署和运行各种大语言模型如Llama 2、Code Llama等。它还支持从GGUF、PyTorch或Safetensors格式导入自定义模型并提供了丰富的API和CLI命令行工具方便开发者进行高级定制和应用开发。Ollama特点一站式管理Ollama将模型权重、配置和数据捆绑到一个包中定义成Modelfile从而优化了设置和配置细节。包括GPU使用情况。这种封装方式使得用户无需关注底层实现细节即可快速部署和运行复杂的大语言模型。热加载模型文件支持热加载模型文件无需重新启动即可切换不同的模型提高了灵活性还显著增强了用户体验。丰富的模型库提供多种预构建的模型如Llama 2、Llama 3、通义千问方便用户快速在本地运行大型语言模型。多平台支持支持多种操作系统包括Mac、Windows和Linux确保了广泛的可用性和灵活性。无复杂依赖优化推理代码减少不必要的依赖可以在各种硬件上高效运行。包括纯CPU推理和Apple Silicon架构。资源占用少Ollama的代码简洁明了运行时占用资源少使其能够在本地高效运行不需要大量的计算资源。Ollama下载Ollama共支持三种平台Windowhttps://ollama.com/download/OllamaSetup.exeMachttps://ollama.com/download/Ollama-darwin.zipLinuxhttps://ollama.com/download/ollama-linux-amd64Ollama模型库ollama 支持多种开源模型涵盖文本生成、代码生成、多模态推理等场景。用户可以根据需求选择合适的模型并通过简单的命令行操作在本地运行。 ollama 官方模型库: https://ollama.com/library【实操】基于window中ollama部署私有大模型安装ollama部署大模型安装位置部署大模型补充】修改模型存储路径window修改路径1.先在其他位置创建一个用于存储模型的目录2.window直接页面配置环境变量OLLAMA_MODELS,指定存储路径即可##然后接下来的安装一定要重启ollama和控制台再下载 才能下载到改变的下载地址实操客户端指令和对话指令客户端命令详解Ollama客户端还提供了系列命令来管理本地大模型接下来就先了解一下相关命令run 命令run命令主要用于运行一个大模型命令格式是ollama run MODEL[:Version] [PROMPT] [flags] 比如运行通义千问命令 ollama run qwen2:0.5b[:Version] 可以理解成版本而版本信息常常以大模型规模来命名可以不写不写则模式成latestollama run qwen2 等同 ollama run qwen2:latest[PROMPT] 参数是用户输入的提示词如果带有此参数则run命令会执行了输入提示词之后即退出终端即只对话一次。[rootbogon ~]# ollama run qwen2:0.5b 您好 您好有什么问题我可以帮助您 ​ [rootbogon ~]#[flags] 指定运行时的参数Flags: --format string 指定运行的模型输出格式 (比如. json) --insecure 使用非安全模比如在下载模型时会忽略https的安全证书 --keepalive string 指定模型在内存中的存活时间 --nowordwrap 关闭单词自动换行功能 --verbose 开启统计日志信息例如在启动时增加 --verbose参数则在对话时自动增加统计token信息[rootbogon ~]# ollama run qwen2:0.5b --verbose 您好 欢迎光临我可以为您提供帮助。有什么问题或需要帮助的地方 ​ total duration: 1.229917477s load duration: 3.027073ms prompt eval count: 10 token(s) prompt eval duration: 167.181ms prompt eval rate: 59.82 tokens/s eval count: 16 token(s) eval duration: 928.995ms eval rate: 17.22 tokens/s ​pull 命令查询模型名称的网站https://ollama.com/从远程下载一个模型命令格式是ollama pull MODEL[:Version] [flags][:Version] 可以理解成版本但在这里理解成大模型规模可以不写不写则模式成latestollama pull qwen2 等同 ollama pull qwen2:latest[flags] 参数目前只有一个--insecure参数用于来指定非安全模式下载数据ollama pull qwen2 --insecurelist/ls 命令查看本地下载的大模型列表也可以使用简写ls[rootbogon ~]# ollama list NAME ID SIZE MODIFIED qwen2:latest e0d4e1163c58 4.4 GB 10 minutes ago deepseek-coder:latest 3ddd2d3fc8d2 776 MB 3 hours ago qwen2:0.5b 6f48b936a09f 352 MB 8 hours ago [rootbogon ~]# ollama ls NAME ID SIZE MODIFIED qwen2:latest e0d4e1163c58 4.4 GB 10 minutes ago deepseek-coder:latest 3ddd2d3fc8d2 776 MB 3 hours ago qwen2:0.5b 6f48b936a09f 352 MB 8 hours ago列表字段说明NAME名称ID大模型唯一IDSIZE大模型大小MODIFIED本地存活时间ps 命令查看当前运行的大模型列表PS命令没其它参数[rootbogon ~]# ollama ps NAME ID SIZE PROCESSOR UNTIL deepseek-coder:latest 3ddd2d3fc8d2 1.3 GB 100% CPU About a minute from now列表字段说明NAME大模型名称ID唯一IDSIZE模型大小PROCESSOR资源占用UNTIL运行存活时长rm 命令删除本地大模型RM命令没其它参数[rootlocalhost system]# ollama ls NAME ID SIZE MODIFIED qwen2:latest e0d4e1163c58 4.4 GB 16 hours ago deepseek-coder:latest 3ddd2d3fc8d2 776 MB 19 hours ago qwen2:0.5b 6f48b936a09f 352 MB 24 hours ago [rootlocalhost system]# ollama rm qwen2:0.5b deleted qwen2:0.5b [rootlocalhost system]# ollama ls NAME ID SIZE MODIFIED qwen2:latest e0d4e1163c58 4.4 GB 16 hours ago deepseek-coder:latest 3ddd2d3fc8d2 776 MB 19 hours ago [rootlocalhost system]#show 命令不用运行大模型查看模型的信息与之前所学的/show功能类似。[rootbogon ~]# ollama show -h Show information for a model ​ Usage: ollama show MODEL [flags] ​ Flags: -h, --help 查看使用帮助 --license 查看模型的许可信息 --modelfile 查看模型的制作源文件Modelfile --parameters 查看模型的内置参数信息 --system 查看模型的内置Sytem信息 --template 查看模型的提示词模版 ​例如查看提示词模版[rootbogon ~]# ollama show qwen2 --template {{ if .System }}|im_start|system {{ .System }}|im_end| {{ end }}{{ if .Prompt }}|im_start|user {{ .Prompt }}|im_end| {{ end }}|im_start|assistant {{ .Response }}|im_end|对话指令详解/?指令/? 该指令主要是列出支持的指令列表[rootbogon ~]# ollama run qwen2:0.5b /? Available Commands: /set Set session variables /show Show model information /load model Load a session or model /save model Save your current session /clear Clear session context /bye Exit /?, /help Help for a command /? shortcuts Help for keyboard shortcuts ​ Use to begin a multi-line message./bye 指令退出当前控制台对话, 快捷键: ctrl d[rootbogon ~]# ollama run qwen2:0.5b 您好 你好有什么可以帮助您的吗 ​ /bye [rootbogon ~]#/show指令/show 指令用于查看当前模型详细信息[rootbogon ~]# ollama run qwen2:0.5b /show Available Commands: /show info 查看模型的基本信息 /show license 查看模型的许可信息 /show modelfile 查看模型的制作源文件Modelfile /show parameters 查看模型的内置参数信息 /show system 查看模型的内置Sytem信息 /show template 查看模型的提示词模版/show info 查看模型的基本信息 /show info Model details: Family qwen2 模型名称 Parameter Size 494.03M 模型大小 Quantization Level Q4_0 模型量化级别/? shortcuts 指令查看在控制台中可用的快捷键 /? shortcuts Available keyboard shortcuts: Ctrl a 移动到行头 Ctrl e 移动到行尾 Ctrl b 移动到单词左边 Ctrl f 移动到单词右边 Ctrl k 删除游标后面的内容 Ctrl u 删除游标前面的内容 Ctrl w 删除游标前面的单词 ​ Ctrl l 清屏 Ctrl c 停止推理输出 Ctrl d 退出对话只有在没有输入时才生效 指令 用于输入内容有换行时使用如何多行输入结束也使用 ... 您好 ... 你是什么模型 ... 我是一个计算机程序可以回答您的问题、提供信息和执行任务。请问您有什么问题或者指令想要我帮助您/clear 指令在命令行终端中对话是自带上下文记忆功能如果要清除上下文功能则使用/clear指令清除上下文内容例如前2个问题都关联的在输入/clear则把前2个问题的内容给清理掉了第3次提问时则找不到开始的上下文了。 请帮我出1道java list的单选题 以下是一些关于Java List的单选题 ​ 1. 在Java中List是哪一种数据结构 2. Java中的顺序存储方式例如使用数组主要用来做什么 3. 一个列表对象可以包含哪些类型的元素 ​ 再出1道 以下是一些关于Java List的单选题 ​ 4. 在Java中List接口用于创建和操作集合。 5. Java中的顺序存储方式如使用数组的主要优势有哪些 6. 一个列表对象可以包含哪些类型 ​ /clear Cleared session context 在出1道 很抱歉我无法理解您的问题。您能否提供更多的背景信息或者问题描述以便我能更好地帮助您/load 指令load可以在对话过程中随时切换大模型 你是什么大模型 我是一个基于开放AI平台的模型拥有一个强大的数学推理能力并且在各种自然语言处理任务上都表现优秀。我可以回答您提出的问题也可以提供与主题相关的信息和建议。如果您有任何问题或需要帮助 请随时告诉我 ​ /load deepseek-coder Loading model deepseek-coder 你是什么大模型 我是由中国的深度求索DeepSeek公司开发的编程智能助手名为 Deepseek Coder。我主要用于解答和协助计算机科学相关的问题、问题解决方案等任务。我的设计目标是提供最全面准确的高质量服务来帮 助用户理解复杂的新技术或概念并迅速找到它们在实际应用中的实现方法或者原理所在的地方。/save 指令可以把当前对话模型存储成一个新的模型 /save test Created new model test保存的模型存储在ollama的model文件中进入下面路径即可看见模型文件test[rootbogon library]# pwd /root/ollama/manifests/registry.ollama.ai/library [rootbogon library]# ls deepseek-coder qwen2 test/set 指令set指令主要用来设置当前对话模型的系列参数 /set Available Commands: /set parameter ... 设置对话参数 /set system string 设置系统角色 /set template string 设置推理模版 /set history 开启对话历史 /set nohistory 关闭对话历史 /set wordwrap 开启自动换行 /set nowordwrap 关闭自动换行 /set format json 输出JSON格式 /set noformat 关闭格式输出 /set verbose 开启对话统计日志 /set quiet 关闭对话统计日志/set parameter ... 设置对话参数 /set parameter Available Parameters: /set parameter seed int Random number seed /set parameter num_predict int Max number of tokens to predict /set parameter top_k int Pick from top k num of tokens /set parameter top_p float Pick token based on sum of probabilities /set parameter num_ctx int Set the context size /set parameter temperature float Set creativity level /set parameter repeat_penalty float How strongly to penalize repetitions /set parameter repeat_last_n int Set how far back to look for repetitions /set parameter num_gpu int The number of layers to send to the GPU /set parameter stop string string ... Set the stop parametersParameterDescriptionValue TypeExample Usagenum_ctx设置上下文token大小. (默认: 2048)intnum_ctx 4096repeat_last_n设置模型要回顾的距离以防止重复. (默认: 64, 0 禁用, -1 num_ctx)intrepeat_last_n 64repeat_penalty设置惩罚重复的强度。较高的值例如1.5)将更强烈地惩罚重复而较低值例如0.9)会更加宽容。默认值1.1floatrepeat_penalty 1.1temperature模型的温度。提高温度将使模型的答案更有创造性。默认值0.8floattemperature 0.7seed设置用于生成的随机数种子。将其设置为特定的数字将使模型为相同的提示生成相同的文本。默认值0intseed 42stop设置停止词。当遇到这种词时LLM将停止生成文本并返回stringstop AI assistant:num_predict生成文本时要预测的最大标记数。默认值128-1 无限生成-2 填充上下文intnum_predict 42top_k减少产生无意义的可能性。较高的值例如100将给出更多样化的答案而较低的值例如10将更加保守。默认值40inttop_k 40top_p与Top-K合作。较高的值例如0.95将导致更多样化的文本而较低的值例如0.5)将产生更集中和保守的文本。默认值0.9floattop_p 0.9num_gpu设置缓存到GPU显存中的模型层数int自动计算JSON格式输出 /set format json Set format to json mode. 您好 {response:你好欢迎光临请问有什么我可以帮助您的吗} ​ /set noformat Disabled format. 您好 Hello! How can I assist you?输出对话统计日志 /set verbose Set verbose mode. 您好 您好我需要您的信息以便回答您的问题。请问您能告诉我更多关于这个主题的信息吗 ​ total duration: 1.642906162s 总耗时 load duration: 3.401367ms 加载模型数据耗时 prompt eval count: 11 token(s) 提示词token消耗数量 prompt eval duration: 196.52ms 提示词处理耗时 prompt eval rate: 55.97 tokens/s 提示词处理速率 eval count: 24 token(s) 响应token消耗数量 eval duration: 1.304188s 响应处理耗时 eval rate: 18.40 tokens/s 响应处理速率小结掌握基于Ollama客户端相关命令/bye指令 退出当前控制台对话/load指令可以在对话过程中随时切换大模型/clear指令清除上下文内容##APIfox入门配置apifox安装导入ollama的Api为了方便后续使用程序接入Ollama中的大模型在此可以先通过Apifox进行Api的快速体验与学习。在资料文件夹中《Ollama.apifox.json》文件提供了供Apifox软件导入的json内容再此我们先导入到Apifox软件中快速体验一下API相关功能。Oallma支持的API可以在资料文件夹中通过《Ollama API文档.html》了解详解双击打开查看通过网页可以了解到Ollama支持7个API 这里只列举了常用的接下来我们重点先了解对话和向量化接口因为这两个接口是最重要的其它接口则留给大家课后自行尝试但是在正式体验之前需要先配置一下环境地址。Step 1打开导入项目Step 2选择导入的文件Step 3输入项目名称Step 4完成导入进入项目配置环境地址##这个地址是固定的 本地电脑ip是127.0.0.1 ollama 的端口是11434本地url: http://127.0.0.1:11434聊天对话接口说明聊天对话接口是实现类似ChatGPT、文心、通义千问等网页对话功能的关键接口请求的地址与参数如下POST /api/chat{ model: qwen2.5:0.5b, messages: [ { role: string, content: string, images: string } ], format: string, stream: true, } ​请求参数名称位置类型必选中文名说明bodybodyobject否nonemodelbodystring是模型名称nonemessagesbody[object]是聊天消息nonerolebodystring是角色system、user或assistantcontentbodystring是内容noneimagesbodystring否图像noneformatbodystring否响应格式nonestreambodyboolean否是否流式生成nonekeep_alivebodystring否模型内存保持时间5mtoolsbody[object]否工具optionsbodyobject否配置参数noneseedbodyinteger否生成种子nonetop_kbodyinteger否多样度越高越多样默认40top_pbodynumber否保守度越低越保守默认0.9repeat_last_nbodyinteger否防重复回顾距离默认: 64, 0 禁用, -1 num_ctxtemperaturebodynumber否温度值越高创造性越强默认0.8repeat_penaltybodynumber否重复惩罚强度越高惩罚越强默认1.1stopbody[string]是停止词none返回示例{ model: llama3.1, created_at: 2024-09-07T09:00:57.035084368Z, message: { role: assistant, content: , tool_calls: [ { function: { name: get_current_weather, arguments: { format: celsius, location: Paris } } } ] }, done_reason: stop, done: true, total_duration: 14452649821, load_duration: 21370256, prompt_eval_count: 213, prompt_eval_duration: 11306354000, eval_count: 25, eval_duration: 3082983000 } ​返回结果状态码状态码含义说明数据模型200OK成功Inline返回数据结构状态码200时才返回以下信息。名称类型必选约束中文名说明modelstringtruenone模型nonecreated_atstringtruenone响应时间nonemessageobjecttruenone响应内容nonerolestringtruenone角色nonecontentstringtruenone内容nonetool_calls[object]falsenone调用的工具集donebooleanfalsenonenonetotal_durationintegerfalsenone总耗时noneload_durationintegerfalsenone模型加载耗时noneprompt_eval_countintegerfalsenone提示词token消耗数noneprompt_eval_durationintegerfalsenone提示词耗时noneeval_countintegerfalsenone响应token消耗数noneeval_durationintegerfalsenone响应耗时none[案例]聊天对话接口[拓展]图片识别演示随着技术与算力的进步大模型也逐渐分化成多种类型而在这些种类中比较常见的有大语言模型用于文生文典型的使用场景是对话聊天—仅文字对话Qwen、ChatGLM3、Baichuan、Mistral、LLaMA3、YI、InternLM2、DeepSeek、Gemma、Grok 等等文本嵌入模型用于内容的向量化典型的使用场景是模型微调text2vec、openai-text embedding、m3e、bge、nomic-embed-text、snowflake-arctic-embed重排模型用于向量化数据的优化增强典型的使用场景是模型微调bce-reranker-base_v1、bge-reranker-large、bge-reranker-v2-gemma、bge-reranker-v2-m3多模态模型用于上传文本或图片等信息然后生成文本或图片典型的使用场景是对话聊天—拍照批改作业Qwen-VL 、Qwen-Audio、YI-VL、DeepSeek-VL、Llava、MiniCPM-V、InternVL语音识别语音播报用于文生音频、音频转文字等典型的使用场景是语音合成Whisper 、VoiceCraft、StyleTTS 2 、Parler-TTS、XTTS、Genny扩散模型用于文生图、文生视频典型的使用场景是文生图AnimateDiff、StabilityAI系列扩散模型在这些模型中Ollama目前仅支持大语言模型、文本嵌入模型、多模态模型文本嵌入模型在后面的会学习再此可以先来体验一下多模态模型Step 1私有化多模态大模型LLaVA Large Language and Vision Assistant是一个开源的多模态大模型它可以同时处理文本、图像和其他类型的数据实现跨模态的理解和生成。ollama run llava:7b ​ ollama run llava:latestStep 2准备图片素材准备一张图片图片问答需要用base64转换,以下是通过程序把图片数据转出Base64字符串的python代码,可以作为了解import base64 def main(): # 读取文件内容 with open(../assets/Snipaste_2024-06-22_16-01-31.png, rb) as file: bytes_data file.read() # 将字节数据编码为Base64字符串 base64_str base64.b64encode(bytes_data).decode(utf-8) # 打印Base64字符串 print(base64_str) if __name__ __main__: main()注意: 斌哥已经提前生成了上面图片的Base64数据,可以在【资料/多模态测试图片Base64字符串.txt 】中找到直接使用。Step 3调用多模态接口在Ollama中可以通过内容生成接口和聊天对话接口来支持多模态在此以聊天对话接口为例图片信息通过images字段传入且可传入多张,即使传入1张也得用列表套用: [图片字符串格式]识别的结果为引文需要自行翻译[拓展]向量化接口本质就是把文字向量化转换基于ChatBox与Ollama快速搭建聊天机器人学习目标掌握ChatBox环境搭建完成ChatBox集成Ollama实现对话ChatBoxChatBox功能特点包含一键免费拥有你自己的 ChatGPT/Gemini/Claude/Ollama 应用与文档和图片聊天代码神器生成与预览支持本地大模型支持多平台AI接入支持插件扩展安装ChatBoxChatBox提供了windows桌面安装方式相关文件已下载到02_资料/Chatbox-1.9.8-Setup.exe可以找到文件然后通过以下操作进行安装####Step 1桌面win安装Step 2访问ChatBoxChatBox界面介绍主界面主界面如下主要包括的内容有功能菜单左侧对话菜单功能菜单模型选择ChatBox集成Ollama要在ChatBox中使用Ollama中的大模型也非常便捷可以按照以下步骤进行操作Step 1运行本地大模型ollama run qwen2 --keepalive 1h命令说明命令运行的是通义大模型通过--keepalive参数设置大模型被加载到内存中的存活时长为1小时Step 2配置Ollama信息进入对话聊天界面并点击位置的设置按钮则弹出下图中间区域的对话框然后点击位置的【模型】菜单然后按图填写信息Step 3开始对话配置完成之后返回对话界面在1号位置选择通义大模型然后即可开始对话聊天。附件网络三要素: 协议 ip地址 端口(端口号)注意: https://www.baidu.com:443 其中www.baidu.com域名,百度ip地址的别名,访问流程是1.先在本地hosts文件中,查找有没有 www.baidu.com对应的ip地址,如果有,就直接访问,后续不进行了hosts文件存储位置: C:\Windows\System32\drivers\etc【补充】HTTP基础知识什么是HTTPHTTP全称为超文本传输协议HyperText Transfer Protocol是互联网上应用最为广泛的一种网络协议。它是客户端和服务器之间进行通信的规则集合允许将超文本标记语言HTML文档从Web服务器传输到Web浏览器。简而言之HTTP是Web浏览器和Web服务器之间的“语言”使得用户能够浏览网页、下载文件、提交表单等。HTTP请求特征HTTP请求是客户端如浏览器向服务器发送的请求消息用于获取或操作资源。以下是HTTP请求的主要特征请求方法请求方法定义了客户端希望执行的操作类型常见方法包括GET请求获取指定资源。 ? 直接拼接参数信息 举例: http://www.baidu.com:80/index.html?username黑马pwd123POST向服务器提交数据通常用于表单提交。 post把重要参数信息放到请求体...请求网址URL: 统一资源定位符,俗称网址请求URL指定了资源的路径通常包括协议如HTTP或HTTPS、服务器地址、端口号和资源路径。请求头Headers请求头包含关于请求的附加信息常见字段包括Host指定服务器的主机名和端口号。User-Agent描述客户端的信息如浏览器类型。Accept指定客户端能够接收的媒体类型。Content-Type指示请求体的媒体类型如application/json。Authorization包含认证信息如Bearer Token请求体Request Body请求体用于携带客户端发送的数据通常在POST、PUT等方法中使用。例如表单数据username黑马password123456JSON数据{username: 黑马, password: 123456}HTTP请求体方法对比在HTTP协议中GET和POST是两种最常用的请求方法它们在用途、数据传递方式、安全性等方面有显著区别。GET用于请求资源通常用于从服务器获取数据如加载网页、查询数据。适合幂等操作多次请求不会对资源产生影响。POST用于提交数据通常用于向服务器发送数据如表单提交、文件上传。适合非幂等操作多次请求可能会对资源产生影响。HTTP状态码分类信息响应 (100–199)成功响应 (200–299)重定向消息 (300–399)客户端错误响应 (400–499)服务端错误响应 (500–599)常见的:200 OK请求成功响应中包含请求的数据。302 Found资源临时移动到新URL。404 Not Found请求的资源不存在。500 Internal Server Error服务器内部错误无法完成请求。502 Bad Gateway服务器作为网关时收到无效响应。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2434440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…