﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-paulwong-随笔分类-AI-LLM</title><link>http://www.blogjava.net/paulwong/category/55396.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 11 Mar 2026 17:56:11 GMT</lastBuildDate><pubDate>Wed, 11 Mar 2026 17:56:11 GMT</pubDate><ttl>60</ttl><item><title>语义缓存 - 使用Higress</title><link>http://www.blogjava.net/paulwong/archive/2026/03/11/451755.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Wed, 11 Mar 2026 10:07:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2026/03/11/451755.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451755.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2026/03/11/451755.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451755.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451755.html</trackback:ping><description><![CDATA[与大模型的对话，如果之后其他人非当前用户的问题如果与之前的用户问的问题类似，可迅速从缓存中取出，无需再走LLM。<br /><br />使用ai网关Higress，此动作在服务端Higress中完成，客户端无需任何代码。<br /><br />在milvus的vector db中新加collection，名称：<span style="font-size: 13px; background-color: #eeeeee;">ai_higress_cache，和以下字段：<br /></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->Field,&nbsp;Type,&nbsp;Index&nbsp;Name,&nbsp;Index&nbsp;Type,&nbsp;Index&nbsp;Parameters<br />id,auto&nbsp;id,&nbsp;Int64<br />vector,&nbsp;FloatVector(4096),&nbsp;vector,&nbsp;metric_type:COSINE<br />question,&nbsp;VarChar(5000)<br />answer,&nbsp;VarChar(5000)<br />#这三个字段vector,&nbsp;question,&nbsp;answer是必需的，且名字不能改</div><br />前期需要配置做embedding的服务，VECTOR DB的服务，均可在服务来源中完成。<br /><br />在&#8220;ai路由管理&#8221;中，点击某个路由的策略，点击配置，输入以下yaml配置<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all">embedding:<br />&nbsp;&nbsp;apiKey:&nbsp;"sk-xxxxxxx"<br />&nbsp;&nbsp;model:&nbsp;"nvidia/llama-embed-nemotron-8b"<br />&nbsp;&nbsp;path:&nbsp;"/v1/embeddings"<br />&nbsp;&nbsp;serviceName:&nbsp;"llm-vllm-nvidia--llama-embed-nemotron-8b.internal.static"<br />&nbsp;&nbsp;servicePort:&nbsp;80<br />&nbsp;&nbsp;type:&nbsp;"openai"<br />vector:<br />&nbsp;&nbsp;apiKey:&nbsp;"empty-key"<br />&nbsp;&nbsp;collectionID:&nbsp;"ai_higress_cache"<br />&nbsp;&nbsp;serviceName:&nbsp;"my-milvus.static"<br />&nbsp;&nbsp;servicePort:&nbsp;80<br />&nbsp;&nbsp;type:&nbsp;"milvus"<br />cacheKeyFrom:&nbsp;"messages.@reverse.0.content"<br />cacheKeyPrefix:&nbsp;"openai_gpt_oss_20b_"<br />cacheStreamValueFrom:&nbsp;"choices.0.delta.content"<br />cacheValueFrom:&nbsp;"choices.0.message.content"<br />returnResponseTemplate:&nbsp;|<br />&nbsp;&nbsp;{"id":"from-cache","choices":<span style="color: #800000; font-weight: bold; ">[</span><span style="color: #800000; ">{"index":0,"message":{"role":"assistant","content":"%s"},"finish_reason":"stop"}</span><span style="color: #800000; font-weight: bold; ">]</span>,"model":"gpt-4o","object":"chat.completion","usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0}}<br />returnStreamResponseTemplate:&nbsp;|-<br />&nbsp;&nbsp;data:{"id":"from-cache","choices":<span style="color: #800000; font-weight: bold; ">[</span><span style="color: #800000; ">{"index":0,"delta":{"role":"assistant","content":"%s"},"finish_reason":"stop"}</span><span style="color: #800000; font-weight: bold; ">]</span>,"model":"gpt-4o","object":"chat.completion","usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0}}<br />&nbsp;&nbsp;data:<span style="color: #800000; font-weight: bold; ">[</span><span style="color: #800000; ">DONE</span><span style="color: #800000; font-weight: bold; ">]</span></div><br />参照：<br /><a href="https://higress.ai/docs/latest/user/plugins/ai/api-provider/ai-cache/" target="_blank">https://higress.ai/docs/latest/user/plugins/ai/api-provider/ai-cache/</a><br /><br /><img src ="http://www.blogjava.net/paulwong/aggbug/451755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2026-03-11 18:07 <a href="http://www.blogjava.net/paulwong/archive/2026/03/11/451755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AI 模型广场</title><link>http://www.blogjava.net/paulwong/archive/2025/11/23/451702.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Sun, 23 Nov 2025 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/11/23/451702.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451702.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/11/23/451702.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451702.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451702.html</trackback:ping><description><![CDATA[如果想在某些垂直领域找比较好的模型, 可到下面这个网址查看:
<div><br />
</div>
<div><a href="https://ai.gitee.com/serverless-api" target="_blank">https://ai.gitee.com/serverless-api</a><br />
</div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451702.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-11-23 09:53 <a href="http://www.blogjava.net/paulwong/archive/2025/11/23/451702.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Open WebUI + N8N 流式输出</title><link>http://www.blogjava.net/paulwong/archive/2025/11/08/451694.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Sat, 08 Nov 2025 01:03:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/11/08/451694.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451694.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/11/08/451694.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451694.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451694.html</trackback:ping><description><![CDATA[<div>Integrating n8n with Open WebUI: Building advanced AI chatbots and workflows</div>
<div><a href="https://www.pondhouse-data.com/blog/integrating-n8n-with-open-webui" target="_blank">https://www.pondhouse-data.com/blog/integrating-n8n-with-open-webui</a><br />
</div>
<div><br />
</div>
<div>n8nchatui</div>
<div><a href="https://n8nchatui.com/docs" target="_blank">https://n8nchatui.com/docs</a><br />
</div>
<div><a href="https://www.youtube.com/watch?v=_dmrr7kWRI0" target="_blank">https://www.youtube.com/watch?v=_dmrr7kWRI0</a><br />
</div>
<div><br />
</div>
<div>open-webui function:</div>
<div><a href="https://openwebui.com/f/webfox/n8n_streaming" target="_blank">https://openwebui.com/f/webfox/n8n_streaming</a><br />
</div>
<div><br />
</div>
<div>Complete Guide to n8n Chat Streaming Setup</div>
<div><a href="https://sudhanshu-sharma.notion.site/Complete-Guide-to-n8n-Chat-Streaming-Setup-24ed62104585806a8909d1b662209af3" target="_blank">https://sudhanshu-sharma.notion.site/Complete-Guide-to-n8n-Chat-Streaming-Setup-24ed62104585806a8909d1b662209af3</a><br />
</div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451694.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-11-08 09:03 <a href="http://www.blogjava.net/paulwong/archive/2025/11/08/451694.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>支持 A 股、港股！AI 投资炒股「智能体」开源，太绝了。</title><link>http://www.blogjava.net/paulwong/archive/2025/07/11/451646.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Fri, 11 Jul 2025 11:06:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/07/11/451646.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451646.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/07/11/451646.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451646.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451646.html</trackback:ping><description><![CDATA[<div>它部署了多个专业的 AI 大模型智能体，每一个智能体对应交易公司的一个角色。比如有的智能体是基本面分析师、有的是情绪分析师、有的是技术分析师，还有交易员、风险管理员等等。让这些角色的AI智能体在一起叽叽喳喳讨论，最终确定最优的策略。给出买入或者卖出的决策。</div>
<div><br />
</div>
<div><a href="https://mp.weixin.qq.com/s/mu1eF1l5ung-siVcUrEsTQ" target="_blank">https://mp.weixin.qq.com/s/mu1eF1l5ung-siVcUrEsTQ</a><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><a href="https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUxNjg4NDEzNA==&amp;action=getalbum&amp;album_id=3556316153814253570&amp;subscene=169&amp;scenenote=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUxNjg4NDEzNA%3D%3D%26mid%3D2247525205%26idx%3D1%26sn%3D1f7acd823030725eff7dd61e0c0a2cf4%26chksm%3Df9a2b09cced5398a6fd6a17fca14934263d462ed1de5f8ac0c4b6a400e484d4bc8c7a78fa0d2%26exptype%3Dunsubscribed_card_recommend_article_u2i_mainprocess_coarse_sort_pcfeeds%26ranksessionid%3D1752231405_1%26subscene%3D200%26clicktime%3D1752231474%26enterid%3D1752231474%26scene%3D169%26sessionid%3D1751950155323%26key%3Ddaf9bdc5abc4e8d04a4ecf5ad3bb8c2628494f4c1e3c1cee82eaab0706d563934297ecf1895abb7ac4518e586b9b24b522c48e441940d2f607384f0a6f1daa134afaa09ec588204b5bcd253b8e3505e3cde0c29e445846d1a2c210ff992a68decbb88c38fb721bb44db73cdedecca3c2c25a2cc83c5f9b0da1c5bc104a413ef2%26ascene%3D7%26uin%3DMTMzMjM1%26devicetype%3DUnifiedPCMac%26version%3Df2640612%26lang%3Dzh_HK%26countrycode%3DCN%26exportkey%3Dn_ChQIAhIQpNJc2HC%252BHDKA5brLNwpiwhLXAQIE97dBBAEAAAAAAPYDENYZJkUAAAAOpnltbLcz9gKNyK89dVj0SH914rUBi2dV5AvJIWoHBIhE9wxjGukmjyJjbffy4xJagIW9Ta%252FZplj4vuyI18fJ1tL%252FzKSsSNdt4zGIs3pDPkKEMULmP1TWsN5UFBzVN9uvgf2oMw42mv3xUyRmLttbRr54qb0Wp0br1vD5KXR8dDllQRZBVobcYk1QwQx5ayg3Qh7HPNp2Gaz5MGzRqvzyzrEvBOBcGxQltS9KgWCVLdc5R4ms8tiz4sZV4JA8k5sq%26acctmode%3D0%26pass_ticket%3D8mG8z55BrV9f7EOcF%252FTMK8SkAzklzZagIuRc2nOAvN5D%252B3EoEm%252BVB%252B4EIDwoVCFo%26wx_header%3D0&amp;nolastread=1&amp;sessionid=#wechat_redirect" target="_blank">合集</a></div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451646.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-07-11 19:06 <a href="http://www.blogjava.net/paulwong/archive/2025/07/11/451646.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>保险核保系统设计</title><link>http://www.blogjava.net/paulwong/archive/2025/07/02/451643.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Tue, 01 Jul 2025 16:43:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/07/02/451643.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451643.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/07/02/451643.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451643.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451643.html</trackback:ping><description><![CDATA[<div>回答用户的问题, 如&#8220;醉驾能否赔偿&#8221;时, 首先去条款库中匹配是否对得上的条款, 如有直接返回.</div>
<div>上面如果不中, 则走llm回答.</div>
<div>提取关键字, 用一关键字列表, 逐个对照, 如有则返回关键字, 没有则返回默认的车险关键字</div>
<div>拿着此关键字去知识图谱搜索出一堆条款</div>
<div>构造大模型输入的提示词, 即角色+条款列表+问题+请回答, 输入到大模型, 让大模型回答</div>
<div>检查回答是否合规, 如是否有免责字样或没有条款列表, 如不规合则直接返回, &#8220;请联系销售代表&#8221;字样</div>
<div>如合规, 则提取回答后面的字样作为答案返回</div>
@import url(/css/cuteeditor.css);
<img src ="http://www.blogjava.net/paulwong/aggbug/451643.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-07-02 00:43 <a href="http://www.blogjava.net/paulwong/archive/2025/07/02/451643.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>百炼大模型支持深度思考</title><link>http://www.blogjava.net/paulwong/archive/2025/06/18/451633.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Wed, 18 Jun 2025 15:56:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/06/18/451633.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451633.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/06/18/451633.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451633.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451633.html</trackback:ping><description><![CDATA[<div><br />
</div>
<div><a href="https://help.aliyun.com/zh/model-studio/deep-thinking#1f5ad51894bvi" target="_blank">https://help.aliyun.com/zh/model-studio/deep-thinking#1f5ad51894bvi</a><br />
</div>
<div><br />
</div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451633.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-06-18 23:56 <a href="http://www.blogjava.net/paulwong/archive/2025/06/18/451633.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>创建数据集的资源</title><link>http://www.blogjava.net/paulwong/archive/2025/05/18/451621.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Sun, 18 May 2025 00:01:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/05/18/451621.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451621.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/05/18/451621.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451621.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451621.html</trackback:ping><description><![CDATA[<div><br />
</div>
<div>AI 数据集生成和模型微调框架 Distilabel 入门指南：基本概念、安装与快速开始</div>
<div><a href="https://zhuanlan.zhihu.com/p/25766406373" target="_blank">https://zhuanlan.zhihu.com/p/25766406373</a><br />
</div>
<div><br />
</div>
<div>使用Llama3和distilabel构建微调数据<br />
<a href="https://huggingface.co/blog/dvilasuero/synthetic-data-with-llama3-distilabel" target="_blank">https://huggingface.co/blog/dvilasuero/synthetic-data-with-llama3-distilabel</a><br />
</div>
<div><br />
</div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451621.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-05-18 08:01 <a href="http://www.blogjava.net/paulwong/archive/2025/05/18/451621.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>足球数据资源</title><link>http://www.blogjava.net/paulwong/archive/2025/04/24/451613.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Thu, 24 Apr 2025 06:56:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/04/24/451613.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451613.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/04/24/451613.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451613.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451613.html</trackback:ping><description><![CDATA[<div>足球基础数据</div>
<div><a href="https://www.nami.com/details/4nw10i0tela68lq#interface" target="_blank">https://www.nami.com/details/4nw10i0tela68lq#interface</a><br />
</div>
<div><br />
</div>
<div>足球统计数据</div>
<div><a href="https://www.nami.com/details/7xwk3iqtv3s9rk6#interface" target="_blank">https://www.nami.com/details/7xwk3iqtv3s9rk6#interface</a><br />
</div>
<div><br />
</div>
<div>足球统计数据</div>
<div><a href="https://www.nami.com/details/7xwk3iqtv3s9rk6#interface" target="_blank">https://www.nami.com/details/7xwk3iqtv3s9rk6#interface</a><br />
</div>
<div><br />
</div>
<div>足球高阶数据</div>
<div><a href="https://www.nami.com/details/g5wvvikteeixwzd#interface" target="_blank">https://www.nami.com/details/g5wvvikteeixwzd#interface</a><br />
</div>
<div><br />
</div>
<div>指数数据</div>
<div><a href="https://www.nami.com/details/o6w9kipt4yi78k3#interface" target="_blank">https://www.nami.com/details/o6w9kipt4yi78k3#interface</a><br />
</div>
<div><br />
</div>
<div>足球资料库数据</div>
<div><a href="https://www.nami.com/details/7j8gxi0to7inrql#interface" target="_blank">https://www.nami.com/details/7j8gxi0to7inrql#interface</a><br />
</div>
<div><br />
</div>
<div>Marz火星数据（体育）</div>
<div><a href="https://www.kancloud.cn/marz/marz-sport/3098904">https://www.kancloud.cn/marz/marz-sport/3098904</a><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451613.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-04-24 14:56 <a href="http://www.blogjava.net/paulwong/archive/2025/04/24/451613.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大模型训练的几个阶段</title><link>http://www.blogjava.net/paulwong/archive/2025/03/18/451600.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Tue, 18 Mar 2025 05:14:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/03/18/451600.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451600.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/03/18/451600.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451600.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451600.html</trackback:ping><description><![CDATA[大模型开发出来后, 一般要经过以下几个阶段的训练:
<div><br />
</div>
<h2>预训练(Pre-Trained)</h2>
<div>单纯提供文本: {"text":"..."}</div>
<div>训练模型由第一个文字开始, 预测后面的文字, 直到结束.</div>
<div>这种模型只会做完成文本的任务</div>
<div><br />
</div>
<h2>监督微调(Supervised Fine Turning)</h2>
<div>为了使模型能完成根据指令完成回答, 而不是随机生成回答</div>
<div>提供的文本: {"instruction":"...", "output":"..."}</div>
<div><br />
</div>
<h2>高效参数微调(Parameter Efficient Fine Turning)</h2>
<div>只调整部分参数, 具体实现方法有LoRA</div>
<div><br />
</div>
<div>参考:</div>
<div><a href="https://github.com/huggingface/smol-course/blob/main/1_instruction_tuning/notebooks/sft_finetuning_example.ipynb" target="_blank">https://github.com/huggingface/smol-course/blob/main/1_instruction_tuning/notebooks/sft_finetuning_example.ipynb</a><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451600.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-03-18 13:14 <a href="http://www.blogjava.net/paulwong/archive/2025/03/18/451600.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大模型微调后的评估指标</title><link>http://www.blogjava.net/paulwong/archive/2025/03/12/451596.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Wed, 12 Mar 2025 02:08:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/03/12/451596.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451596.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/03/12/451596.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451596.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451596.html</trackback:ping><description><![CDATA[<p style="white-space: pre-wrap; padding: 0px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; box-sizing: border-box; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px; margin-top: 0px !important;">大模型微调后的评估指标是衡量模型性能的关键，通常根据任务类型和具体需求选择不同的评估指标。以下是一些常见的评估指标及其适用场景：</p>
<hr style="padding: 0px; margin: 24px 0px; box-sizing: content-box; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; height: 0.25em; border: 0px; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;" />
<h3 style="padding: 0px; margin: 24px 0px 16px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600); line-height: 1.25; font-size: 1.25em; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif;">1.&nbsp;<span style="padding: 0px; margin: 0px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600);">分类任务</span></h3>
<ul style="padding: 0px 0px 0px 2em; margin: 0px 0px 16px; box-sizing: border-box; list-style: outside; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;">
     <li style="padding: 0px; margin: 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">准确率（Accuracy）</span>：预测正确的样本占总样本的比例。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：类别分布均衡的任务。</li>
     </ul>
     </li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">精确率（Precision）</span>：预测为正类的样本中，实际为正类的比例。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：关注减少假阳性（False Positive）的任务。</li>
     </ul>
     </li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">召回率（Recall）</span>：实际为正类的样本中，预测为正类的比例。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：关注减少假阴性（False Negative）的任务。</li>
     </ul>
     </li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">F1分数（F1 Score）</span>：精确率和召回率的调和平均值。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：类别不平衡或需要平衡精确率和召回率的任务。</li>
     </ul>
     </li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">ROC-AUC</span>：ROC曲线下的面积，衡量模型区分正负类的能力。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：二分类任务，尤其是类别不平衡的情况。</li>
     </ul>
     </li>
</ul>
<hr style="padding: 0px; margin: 24px 0px; box-sizing: content-box; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; height: 0.25em; border: 0px; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;" />
<h3 style="padding: 0px; margin: 24px 0px 16px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600); line-height: 1.25; font-size: 1.25em; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif;">2.&nbsp;<span style="padding: 0px; margin: 0px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600);">回归任务</span></h3>
<ul style="padding: 0px 0px 0px 2em; margin: 0px 0px 16px; box-sizing: border-box; list-style: outside; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;">
     <li style="padding: 0px; margin: 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">均方误差（MSE, Mean Squared Error）</span>：预测值与真实值之差的平方的平均值。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：对误差较大的样本惩罚更重的任务。</li>
     </ul>
     </li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">均方根误差（RMSE, Root Mean Squared Error）</span>：MSE的平方根。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：与MSE类似，但更接近原始数据尺度。</li>
     </ul>
     </li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">平均绝对误差（MAE, Mean Absolute Error）</span>：预测值与真实值之差的绝对值的平均值。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：对异常值不敏感的任务。</li>
     </ul>
     </li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">R&#178;（决定系数）</span>：模型解释目标变量方差的比例。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：评估模型拟合优度。</li>
     </ul>
     </li>
</ul>
<hr style="padding: 0px; margin: 24px 0px; box-sizing: content-box; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; height: 0.25em; border: 0px; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;" />
<h3 style="padding: 0px; margin: 24px 0px 16px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600); line-height: 1.25; font-size: 1.25em; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif;">3.&nbsp;<span style="padding: 0px; margin: 0px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600);">生成任务</span></h3>
<ul style="padding: 0px 0px 0px 2em; margin: 0px 0px 16px; box-sizing: border-box; list-style: outside; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;">
     <li style="padding: 0px; margin: 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">BLEU（Bilingual Evaluation Understudy）</span>：衡量生成文本与参考文本的n-gram重叠程度。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：机器翻译、文本生成任务。</li>
     </ul>
     </li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">ROUGE（Recall-Oriented Understudy for Gisting Evaluation）</span>：衡量生成文本与参考文本的重叠程度，侧重于召回率。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：文本摘要、生成任务。</li>
     </ul>
     </li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">METEOR</span>：综合考虑精确率、召回率和词序的评估指标。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：机器翻译、文本生成任务。</li>
     </ul>
     </li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">Perplexity（困惑度）</span>：衡量模型预测概率分布的不确定性。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：语言模型评估。</li>
     </ul>
     </li>
</ul>
<hr style="padding: 0px; margin: 24px 0px; box-sizing: content-box; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; height: 0.25em; border: 0px; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;" />
<h3 style="padding: 0px; margin: 24px 0px 16px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600); line-height: 1.25; font-size: 1.25em; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif;">4.&nbsp;<span style="padding: 0px; margin: 0px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600);">多标签任务</span></h3>
<ul style="padding: 0px 0px 0px 2em; margin: 0px 0px 16px; box-sizing: border-box; list-style: outside; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;">
     <li style="padding: 0px; margin: 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">Hamming Loss</span>：预测错误的标签比例。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：多标签分类任务。</li>
     </ul>
     </li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">Jaccard Similarity</span>：预测标签与真实标签的交集与并集之比。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：多标签分类任务。</li>
     </ul>
     </li>
</ul>
<hr style="padding: 0px; margin: 24px 0px; box-sizing: content-box; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; height: 0.25em; border: 0px; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;" />
<h3 style="padding: 0px; margin: 24px 0px 16px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600); line-height: 1.25; font-size: 1.25em; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif;">5.&nbsp;<span style="padding: 0px; margin: 0px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600);">排序任务</span></h3>
<ul style="padding: 0px 0px 0px 2em; margin: 0px 0px 16px; box-sizing: border-box; list-style: outside; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;">
     <li style="padding: 0px; margin: 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">NDCG（Normalized Discounted Cumulative Gain）</span>：衡量排序结果的相关性。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：推荐系统、信息检索。</li>
     </ul>
     </li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">MAP（Mean Average Precision）</span>：平均精确率的均值。
     <ul style="padding: 0px 0px 0px 2em; margin: 0px; box-sizing: border-box; list-style: outside;">
         <li style="padding: 0px; margin: 0px; box-sizing: border-box;">适用场景：信息检索、推荐系统。</li>
     </ul>
     </li>
</ul>
<hr style="padding: 0px; margin: 24px 0px; box-sizing: content-box; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; height: 0.25em; border: 0px; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;" />
<h3 style="padding: 0px; margin: 24px 0px 16px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600); line-height: 1.25; font-size: 1.25em; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif;">6.&nbsp;<span style="padding: 0px; margin: 0px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600);">其他指标</span></h3>
<ul style="padding: 0px 0px 0px 2em; margin: 0px 0px 16px; box-sizing: border-box; list-style: outside; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;">
     <li style="padding: 0px; margin: 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">训练时间</span>：模型微调所需的时间。</li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">推理速度</span>：模型生成结果的速度。</li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">资源消耗</span>：模型运行所需的计算资源（如GPU内存、CPU使用率）。</li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">鲁棒性</span>：模型对噪声、异常值或对抗样本的抵抗能力。</li>
</ul>
<hr style="padding: 0px; margin: 24px 0px; box-sizing: content-box; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; height: 0.25em; border: 0px; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;" />
<h3 style="padding: 0px; margin: 24px 0px 16px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600); line-height: 1.25; font-size: 1.25em; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif;">7.&nbsp;<span style="padding: 0px; margin: 0px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600);">领域特定指标</span></h3>
<ul style="padding: 0px 0px 0px 2em; margin: 0px 0px 16px; box-sizing: border-box; list-style: outside; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;">
     <li style="padding: 0px; margin: 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">医学领域</span>：敏感性（Sensitivity）、特异性（Specificity）、AUC-ROC。</li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">金融领域</span>：收益曲线、夏普比率（Sharpe Ratio）。</li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">计算机视觉</span>：mAP（mean Average Precision）、IoU（Intersection over Union）。</li>
</ul>
<hr style="padding: 0px; margin: 24px 0px; box-sizing: content-box; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; height: 0.25em; border: 0px; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;" />
<h3 style="padding: 0px; margin: 24px 0px 16px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600); line-height: 1.25; font-size: 1.25em; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif;">8.&nbsp;<span style="padding: 0px; margin: 0px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600);">人类评估</span></h3>
<ul style="padding: 0px 0px 0px 2em; margin: 0px 0px 16px; box-sizing: border-box; list-style: outside; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;">
     <li style="padding: 0px; margin: 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">人工评分</span>：通过人工评估生成结果的质量（如流畅性、相关性、准确性）。</li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">用户满意度</span>：通过用户反馈评估模型的实际效果。</li>
</ul>
<hr style="padding: 0px; margin: 24px 0px; box-sizing: content-box; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; height: 0.25em; border: 0px; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;" />
<h3 style="padding: 0px; margin: 24px 0px 16px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600); line-height: 1.25; font-size: 1.25em; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif;">9.&nbsp;<span style="padding: 0px; margin: 0px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600);">模型对比</span></h3>
<ul style="padding: 0px 0px 0px 2em; margin: 0px 0px 16px; box-sizing: border-box; list-style: outside; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;">
     <li style="padding: 0px; margin: 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">基线对比</span>：与未微调的模型或基线模型进行性能对比。</li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">消融实验</span>：评估微调过程中不同组件（如数据、超参数）对性能的影响。</li>
</ul>
<hr style="padding: 0px; margin: 24px 0px; box-sizing: content-box; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; height: 0.25em; border: 0px; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;" />
<h3 style="padding: 0px; margin: 24px 0px 16px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600); line-height: 1.25; font-size: 1.25em; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif;">10.&nbsp;<span style="padding: 0px; margin: 0px; box-sizing: border-box; font-weight: var(--base-text-weight-semibold,600);">综合评估</span></h3>
<ul style="padding: 0px 0px 0px 2em; margin: 0px 0px 16px; box-sizing: border-box; list-style: outside; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;">
     <li style="padding: 0px; margin: 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">多指标综合</span>：根据任务需求，结合多个指标进行综合评估。</li>
     <li style="padding: 0px; margin: 0.25em 0px 0px; box-sizing: border-box;"><span style="padding: 0px; margin: 0px; box-sizing: border-box;">任务特定指标</span>：针对特定任务设计自定义指标。</li>
</ul>
<hr style="padding: 0px; margin: 24px 0px; box-sizing: content-box; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box; height: 0.25em; border: 0px; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px;" />
<p style="white-space: pre-wrap; padding: 0px; margin-top: 0px; margin-right: 0px; margin-left: 0px; box-sizing: border-box; caret-color: #232d36; color: #232d36; font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, &quot;Segoe UI&quot;, Rototo, Helvetica, Arial, sans-serif; font-size: 15px; margin-bottom: 0px !important;">在实际应用中，选择合适的评估指标需要结合任务目标、数据特点和业务需求，同时注意避免单一指标的局限性。</p>
<img src ="http://www.blogjava.net/paulwong/aggbug/451596.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-03-12 10:08 <a href="http://www.blogjava.net/paulwong/archive/2025/03/12/451596.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LLM全栈框架完整分类清单（预训练+微调+工具链）</title><link>http://www.blogjava.net/paulwong/archive/2025/03/10/451594.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Mon, 10 Mar 2025 03:29:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/03/10/451594.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451594.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/03/10/451594.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451594.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451594.html</trackback:ping><description><![CDATA[<div><a href="https://blog.csdn.net/ViniJack/article/details/145789900" target="_blank">https://blog.csdn.net/ViniJack/article/details/145789900</a><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451594.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-03-10 11:29 <a href="http://www.blogjava.net/paulwong/archive/2025/03/10/451594.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>医疗问诊系统资源</title><link>http://www.blogjava.net/paulwong/archive/2025/03/08/451593.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Sat, 08 Mar 2025 12:52:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/03/08/451593.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451593.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/03/08/451593.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451593.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451593.html</trackback:ping><description><![CDATA[<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->计算机毕业设计Python+Neo4j知识图谱医疗问答系统&nbsp;大模型<br />
</div>
</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><a href="https://baijiahao.baidu.com/s?id=1815574648931972744&amp;wfr=spider&amp;for=pc" target="_blank">https://baijiahao.baidu.com/s?id=1815574648931972744&amp;wfr=spider&amp;for=pc</a><br />
</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><br />
</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">QABasedOnMedicaKnowledgeGraph</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><a href="https://github.com/liuhuanyong/QASystemOnMedicalKG/blob/master/README.md" target="_blank">https://github.com/liuhuanyong/QASystemOnMedicalKG/blob/master/README.md</a><br />
</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><br />
</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">非结构文字抽取实体与关系的大模型</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">底座, 百川&nbsp;<a href="https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat/tree/main" target="_blank">https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat/tree/main</a></div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">底座, llama2&nbsp;<a href="https://huggingface.co/unsloth/llama-2-13b" target="_blank">https://huggingface.co/unsloth/llama-2-13b</a></div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">微调-&gt;百川&nbsp;<a href="https://huggingface.co/zjunlp/baichuan2-13b-iepile-lora" target="_blank">https://huggingface.co/zjunlp/baichuan2-13b-iepile-lora</a></div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">微调-&gt;llama2&nbsp;<a href="https://huggingface.co/zjunlp/llama2-13b-iepile-lora" target="_blank">https://huggingface.co/zjunlp/llama2-13b-iepile-lora</a></div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><br />
</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">SiameseUniNLU通用自然语言理解模型</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><a href="https://www.modelscope.cn/models/iic/nlp_structbert_siamese-uninlu_chinese-base/summary" target="_blank">https://www.modelscope.cn/models/iic/nlp_structbert_siamese-uninlu_chinese-base/summary</a><br />
</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><br />
</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">数据集</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><a href="https://huggingface.co/datasets/zjunlp/iepile" target="_blank">https://huggingface.co/datasets/zjunlp/iepile</a><br />
</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><br />
</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">各种已经训练好的模型</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><a href="https://www.modelscope.cn/models?name=zpeng1989&amp;page=1" target="_blank">https://www.modelscope.cn/models?name=zpeng1989&amp;page=1</a><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451593.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-03-08 20:52 <a href="http://www.blogjava.net/paulwong/archive/2025/03/08/451593.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用nlp提取非结构化数据中的信息</title><link>http://www.blogjava.net/paulwong/archive/2025/03/08/451592.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Sat, 08 Mar 2025 03:45:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/03/08/451592.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451592.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/03/08/451592.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451592.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451592.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
如果要从结构化的数据中提取信息,用sql即可, 即要提取的信息在select 的字段中.
<div><br />
</div>
<div>如果要从非结构化的数据中, 如纯文本, 则要靠nlp, 要对文本理解后, 才能提取相应的信息.</div>
<div><br />
</div>
<div><a href="https://www.w3cschool.cn/article/99991254.html" target="_blank">https://www.w3cschool.cn/article/99991254.html</a><br />
</div>
<div><br />
</div>
<div>文本结构化 with SpaCy 攻略</div>
<div><a href="https://zhuanlan.zhihu.com/p/556163162" target="_blank">https://zhuanlan.zhihu.com/p/556163162</a><br />
</div>
<div><a href="https://zhuanlan.zhihu.com/p/557953165" target="_blank">https://zhuanlan.zhihu.com/p/557953165</a><br />
</div>
<div><a href="https://zhuanlan.zhihu.com/p/563334531" target="_blank">https://zhuanlan.zhihu.com/p/563334531</a><br />
</div>
<div><a href="https://zhuanlan.zhihu.com/p/573743734" target="_blank">https://zhuanlan.zhihu.com/p/573743734</a><br />
</div>
<div><br />
</div>
<div>使用openspg自动构建医疗知识图谱</div>
<div><a href="https://blog.csdn.net/myboyliu2007/article/details/139654943" target="_blank">https://blog.csdn.net/myboyliu2007/article/details/139654943</a><br />
</div>
<div><br />
</div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451592.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-03-08 11:45 <a href="http://www.blogjava.net/paulwong/archive/2025/03/08/451592.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AI案例资源</title><link>http://www.blogjava.net/paulwong/archive/2025/02/26/451587.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Wed, 26 Feb 2025 08:01:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/02/26/451587.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451587.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/02/26/451587.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451587.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451587.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<div>从实践案例介绍大模型应用经验和思考</div>
<div><a href="https://mp.weixin.qq.com/s/hcD0-z9Y4PsrILUgHdqGcQ" target="_blank">https://mp.weixin.qq.com/s/hcD0-z9Y4PsrILUgHdqGcQ</a><br />
</div>
<div><br />
</div>
<div>LLaMA Factory：微调DeepSeek-R1-Distill-Qwen-7B模型实现新闻标题分类器
</div>
<div><a href="https://gallery.pai-ml.com/#/preview/deepLearning/nlp/llama_factory_deepseek_r1_distill_7b" target="_blank">https://gallery.pai-ml.com/#/preview/deepLearning/nlp/llama_factory_deepseek_r1_distill_7b</a><br />
</div>
<div><br />
</div>
<div>deepseek r1微调模型应用落地案例（医疗法律，PatientSeek）</div>
<div><a href="https://www.bilibili.com/video/BV17zAVevEtw/?spm_id_from=333.788.recommend_more_video.0&amp;vd_source=35b81999db00535703a287d5c98652b1" target="_blank">https://www.bilibili.com/video/BV17zAVevEtw/?spm_id_from=333.788.recommend_more_video.0&amp;vd_source=35b81999db00535703a287d5c98652b1</a><br />
</div>
<div><br />
</div>
<div>文本转语音的模型ChatTTS体验极佳，真人般丝滑和流畅，自定义也比较灵活</div>
<div><a href="https://www.bilibili.com/video/BV1oJ4m1u7B8/?spm_id_from=333.1387.upload.video_card.click&amp;vd_source=35b81999db00535703a287d5c98652b1" target="_blank">https://www.bilibili.com/video/BV1oJ4m1u7B8/?spm_id_from=333.1387.upload.video_card.click&amp;vd_source=35b81999db00535703a287d5c98652b1</a><br />
</div>
<div><br />
</div>
<div>医疗NLP领域 评测/比赛，数据集，论文和预训练模型资源汇总。</div>
<div><a href="https://github.com/FreedomIntelligence/Medical_NLP" target="_blank">https://github.com/FreedomIntelligence/Medical_NLP</a><br />
</div>
<div><br />
</div><img src ="http://www.blogjava.net/paulwong/aggbug/451587.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-02-26 16:01 <a href="http://www.blogjava.net/paulwong/archive/2025/02/26/451587.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不用再找了，这是大模型最全的面试题库</title><link>http://www.blogjava.net/paulwong/archive/2025/01/22/451567.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Tue, 21 Jan 2025 23:42:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/01/22/451567.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451567.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/01/22/451567.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451567.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451567.html</trackback:ping><description><![CDATA[<a href="https://blog.csdn.net/m0_59596990/article/details/135200833" target="_blank">https://blog.csdn.net/m0_59596990/article/details/135200833</a>
<img src ="http://www.blogjava.net/paulwong/aggbug/451567.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-01-22 07:42 <a href="http://www.blogjava.net/paulwong/archive/2025/01/22/451567.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据集资源</title><link>http://www.blogjava.net/paulwong/archive/2025/01/17/451561.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Fri, 17 Jan 2025 07:52:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/01/17/451561.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451561.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/01/17/451561.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451561.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451561.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<div><a href="https://hyper.ai/cn/datasets" target="_blank">https://hyper.ai/cn/datasets</a></div>
<div><br />
</div>
<div><br />
</div><img src ="http://www.blogjava.net/paulwong/aggbug/451561.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-01-17 15:52 <a href="http://www.blogjava.net/paulwong/archive/2025/01/17/451561.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>vllm资源</title><link>http://www.blogjava.net/paulwong/archive/2025/01/17/451560.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Fri, 17 Jan 2025 05:01:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/01/17/451560.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451560.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/01/17/451560.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451560.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451560.html</trackback:ping><description><![CDATA[vllm是一个可以加载大模型, 推理, 量化模型, 以http api的方式暴露服务的框架.
<div><br />
</div>
<div><a href="https://docs.vllm.ai/en/latest/getting_started/examples/basic_with_model_default_sampling.html" target="_blank">https://docs.vllm.ai/en/latest/getting_started/examples/basic_with_model_default_sampling.html</a><br />
</div>
<div><br />
</div>
<div><br />
</div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451560.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-01-17 13:01 <a href="http://www.blogjava.net/paulwong/archive/2025/01/17/451560.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AI应用场景</title><link>http://www.blogjava.net/paulwong/archive/2025/01/17/451559.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Fri, 17 Jan 2025 03:23:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/01/17/451559.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451559.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/01/17/451559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451559.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451559.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&amp;file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<div>到底AI是虚的还是假的, 在企业中有没实际落地场景, 以下取实际应用场景:</div>
<div><br />
</div>
<div>生物公司</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->使用qwen2:7b训练细胞制备领域的数据集，目标是<br />
1.预测细胞收获量&nbsp;&nbsp;<br />
2.算细胞存活状态(存活/死亡)<br />
3.预测工艺是否成功<br />
4.可以提前预测细胞的质量是否达标，以便及时采取措施进行调整<br />
5.细胞培养过程中出现大量细胞死亡的情况，模型可以根据实时数据和历史经验，分析可能是培养箱温度失控、培养基成分错误或受到污染等原因导致的，并提供相应的排查建议」</div>
</div>
<div><br />
</div>
<div>文体旅游</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->智能旅游系统:<br />
提供目的地介绍、<br />
旅行路线规划、<br />
酒店预订和景<br />
点推荐等服务。</div>
</div>
<div><br />
</div>
<div>考试改卷</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->基于大模型，做一个判试卷的应用，能够判断主观题，比如阅读理解，比如历史，地理，政治问答题。<br />
判卷准确率不能低于人工判卷准确率。<br />
即一次考试，一个班50份试卷，判断结果错误不超过5道题。判断效率高于或等于人工。<br />
<br />
取过往同学试卷题目,&nbsp;作答内容,&nbsp;得分&nbsp;作一波ocr出数据,&nbsp;一个科目,&nbsp;提取所有试卷内容,&nbsp;最后就是一个科目一个模型,&nbsp;提取的内容放在文本,&nbsp;csv,&nbsp;json,<br />
基于&#8220;bert-base-chinese&#8221;这个模型,&nbsp;进行微调出专用模型即可,&nbsp;&nbsp;<br />
让大模型成为专业的判卷老师</div>
</div>
<div><br />
</div>
<div>考试</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->用扣子打一个智能体，实现不同学员对掌握的知识进行测试，根据测试结果进行打分和二次出题测试</div>
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div><img src ="http://www.blogjava.net/paulwong/aggbug/451559.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-01-17 11:23 <a href="http://www.blogjava.net/paulwong/archive/2025/01/17/451559.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>搭建llamafactory微调、评估、测试和量化环境</title><link>http://www.blogjava.net/paulwong/archive/2025/01/16/451558.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Thu, 16 Jan 2025 08:54:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/01/16/451558.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451558.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/01/16/451558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451558.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451558.html</trackback:ping><description><![CDATA[<div>0. 配置环境变量</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->HF_ENDPOINT=https://hf-mirror.com<br />
HF_HOME=/root/autodl-tmp/paul/tools/huggingface</div>
</div>
<div><br />
</div>
1. 本机安装python 3.10, 并设置软件源
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->pip&nbsp;config&nbsp;set&nbsp;global.index-url&nbsp;https://pypi.tuna.tsinghua.edu.cn/simple<br />
pip&nbsp;config&nbsp;set&nbsp;global.index-url&nbsp;https://mirrors.huaweicloud.com/repository/pypi/simple</div>
<div><br />
<div>2. 安装miniconda</div>
<div><a href="https://juejin.cn/post/7078965942968909854" target="_blank">https://juejin.cn/post/7078965942968909854</a><br />
</div>
<div><br />
</div>
<div>3. 新建一个环境, 并激活</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->conda&nbsp;create&nbsp;-n&nbsp;quantization&nbsp;python=3.12</div>
</div>
<div><br />
<div>2. 本机安装pytorch2.5.1+cuda12.4</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->pip3&nbsp;install&nbsp;torch&nbsp;torchvision&nbsp;torchaudio</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124</div>
</div>
<div><br />
</div>
<div>3. clone llamafactory源码</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->git&nbsp;clone&nbsp;https://github.com/hiyouga/LLaMA-Factory</div>
</div>
<div><br />
</div>
<div>4. llamafactory本地安装依赖</div>
</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->pip&nbsp;install&nbsp;-e&nbsp;.</div>
</div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">pip install -e .["vllm","gptq"]<br />
</div>
<div><br />
</div>
<div>5. 启动webui</div>
</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->llamafactory-cli&nbsp;webui</div>
</div>
<div><br />
</div>
<div>6. 在页面中填入相关参数进行操作</div>
</div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-01-16 16:54 <a href="http://www.blogjava.net/paulwong/archive/2025/01/16/451558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>安装docker版的Nvidia container toolkit</title><link>http://www.blogjava.net/paulwong/archive/2025/01/13/451552.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Mon, 13 Jan 2025 06:20:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2025/01/13/451552.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451552.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2025/01/13/451552.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451552.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451552.html</trackback:ping><description><![CDATA[<a href="https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installation" target="_blank">https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installation</a>
<img src ="http://www.blogjava.net/paulwong/aggbug/451552.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2025-01-13 14:20 <a href="http://www.blogjava.net/paulwong/archive/2025/01/13/451552.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AI入门</title><link>http://www.blogjava.net/paulwong/archive/2024/10/19/451501.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Sat, 19 Oct 2024 14:37:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2024/10/19/451501.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451501.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2024/10/19/451501.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451501.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451501.html</trackback:ping><description><![CDATA[数据分析：从一堆已知的数据中进行分类，总结得出统计数据，如最大 值，最小值，平均值，总和等。<br />
只能对已知数据进行操作，无法预测出新的数据的特征，于是就有了机器学习。
<p>&nbsp;</p>
<div>机器学习：给出一堆已知的，有特征栏位的和结果栏位的数据，选定一个算法，如线性回归，逻辑回归等，其实就是一条公式，进行学习，其实就是运行一堆函数，比较结果，得出规律，也就是确定了公式中参数的值。当输入新的数据时，就能预测出所需的结果，其实就是把输入数据代入公式，算出结果。</div>
<div>机器学习只能做比较简单的任务，如预测下个月的销售数据，判断文字内容是正面还是反面(分类)，对于复杂的任务，如对话，其实就是针对输入文字预测靠谱的输出文字(回答)，于是就有了深度学习。</div>
<p>&nbsp;</p>
深度学习：给出一堆数据，只需两个本栏位，如问题，答案等，选定一个算法，其实就是神经网络的类型，如卷积神经网络(CNN)，循环神经网络(RNN)，TRANSFORMER神经网络等，进行学习，其实就是运行一堆函数，比较结果，得出规律，也就是确定了公式中参数的值。<img src ="http://www.blogjava.net/paulwong/aggbug/451501.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2024-10-19 22:37 <a href="http://www.blogjava.net/paulwong/archive/2024/10/19/451501.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微调llama3大模型(2) - 使用ollama搭建chatbot</title><link>http://www.blogjava.net/paulwong/archive/2024/07/08/451464.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Mon, 08 Jul 2024 11:48:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2024/07/08/451464.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451464.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2024/07/08/451464.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451464.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451464.html</trackback:ping><description><![CDATA[<div> 上篇已经合并出了训练好的大模型，现在要搭建起一套CHATBOT，使得这套大模型能有一个WEBUI用起来。</div><div></div><div><h3>1.设置环境变量，ollama的模型保存路径，/etc/profile</h3></div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">export&nbsp;OLLAMA_MODELS</span><span style="color: #000000; ">=</span><span style="color: #000000; ">/root/autodl-tmp/models/ollama</span></div></div><div></div><div></div><div><h3>2.克隆ollama代码</h3></div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">curl&nbsp;-fsSL&nbsp;https://ollama.com/install.sh&nbsp;|&nbsp;sh</span></div></div><div></div><div></div><div><h3>3.启动ollama</h3></div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">ollama&nbsp;serve</span></div></div><div></div><div></div><div></div><div></div><div><h3>4.建立ollama镜像的配置文件，Modelfile</h3></div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">#&nbsp;set&nbsp;the&nbsp;base&nbsp;model<br />FROM&nbsp;/root/.ollama/llamafactory-export/saves/llama3-8b/lora/docker-commnad-nlp/export<br /><br />#&nbsp;set&nbsp;custom&nbsp;parameter&nbsp;values<br />PARAMETER&nbsp;temperature&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; "><br />PARAMETER&nbsp;num_keep&nbsp;</span><span style="color: #000000; ">24</span><span style="color: #000000; "><br />PARAMETER&nbsp;stop&nbsp;&lt;|start_header_id|&gt;<br />PARAMETER&nbsp;stop&nbsp;&lt;|end_header_id|&gt;<br />PARAMETER&nbsp;stop&nbsp;&lt;|eot_id|&gt;<br />PARAMETER&nbsp;stop&nbsp;&lt;|reserved_special_token<br /><br />#&nbsp;set&nbsp;the&nbsp;model&nbsp;template<br />TEMPLATE&nbsp;</span><span style="color: #000000; ">"""</span><span style="color: #000000; "><br />{{&nbsp;if&nbsp;.System&nbsp;}}&lt;|start_header_id|&gt;system&lt;|end_header_id|&gt;<br />{{&nbsp;.System&nbsp;}}&lt;|eot_id|&gt;{{&nbsp;end&nbsp;}}{{&nbsp;if&nbsp;.Prompt&nbsp;}}&lt;|start_header_id|&gt;user&lt;|end_header_id|&gt;<br />{{&nbsp;.Prompt&nbsp;}}&lt;|eot_id|&gt;{{&nbsp;end&nbsp;}}&lt;|start_header_id|&gt;assistant&lt;|end_header_id|&gt;<br />{{&nbsp;.Response&nbsp;}}&lt;|eot_id|&gt;<br /></span><span style="color: #000000; ">"""</span><span style="color: #000000; "><br /><br />#&nbsp;set&nbsp;the&nbsp;system&nbsp;message<br />SYSTEM&nbsp;You&nbsp;are&nbsp;llama3&nbsp;from&nbsp;Meta</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&nbsp;customized&nbsp;and&nbsp;hosted&nbsp;@&nbsp;Paul&nbsp;Wong&nbsp;(http://paulwong88.tpddns.cn).<br /><br />#&nbsp;set&nbsp;Chinese&nbsp;lora&nbsp;support<br />#ADAPTER&nbsp;/root/.ollama/models/lora/ggml-adapter-model.bin</span></div></div><div></div><div>建立镜像命令，create-ollama-image-docker-command-nlp.sh</div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">BIN_PATH</span><span style="color: #000000; ">=</span><span style="color: #000000; ">$(cd&nbsp;`dirname&nbsp;$</span><span style="color: #000000; ">0</span><span style="color: #000000; ">`</span><span style="color: #008000; ">;</span><span style="color: #008000; ">&nbsp;pwd)</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">cd&nbsp;$BIN_PATH/<br />pwd<br />ollama&nbsp;create&nbsp;llama3-docker-commnad-nlp:paul&nbsp;-f&nbsp;Modelfile</span></div></div><div></div><div></div><div></div><div></div><div><h3>5.运行大模型</h3></div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">llama3-docker-commnad-nlp:paul</span></div></div><div></div><div></div><img src ="http://www.blogjava.net/paulwong/aggbug/451464.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2024-07-08 19:48 <a href="http://www.blogjava.net/paulwong/archive/2024/07/08/451464.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微调llama3大模型(1) - 使用Llama Factory微调llama3大模型</title><link>http://www.blogjava.net/paulwong/archive/2024/07/08/451463.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Mon, 08 Jul 2024 10:44:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2024/07/08/451463.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451463.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2024/07/08/451463.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451463.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451463.html</trackback:ping><description><![CDATA[<div> 对于象META的开源大模型，如llama3，由于都是用通用数据进行预训练，对想使用其模型的公司来说，可能会不适用，因为这大模型对公司的数据不熟悉，因此引入微调(Fine-Tunning)。</div><div></div><div>通过喂给大模型大量数据，1万条起步，使得大模型也能对公司的数据熟悉，进而用于各种对话场景。</div><div></div><div></div><div><h3>1.克隆并安装LLAMA FACTORY库，install-llamafactory.sh</h3></div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">BIN_PATH</span><span style="color: #000000; ">=</span><span style="color: #000000; ">$(cd&nbsp;`dirname&nbsp;$</span><span style="color: #000000; ">0</span><span style="color: #000000; ">`</span><span style="color: #008000; ">;</span><span style="color: #008000; ">&nbsp;pwd)</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">cd&nbsp;$BIN_PATH/../<br />pwd<br />git&nbsp;clone&nbsp;--depth&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&nbsp;https://github.com/hiyouga/LLaMA-Factory.git<br />cd&nbsp;LLaMA-Factory<br />pip&nbsp;install&nbsp;-e&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">.[torch,metrics,bitsandbytes,modelscope]</span><span style="color: #000000; ">"</span></div></div><div></div><div></div><div><h3>2.设置环境变量</h3></div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">export&nbsp;USE_MODELSCOPE_HUB</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&nbsp;#使用modelscop模型库，非huggingface的<br />export&nbsp;CUDA_VISIBLE_DEVICES</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;＃设置使用GPU<br />export&nbsp;HF_ENDPOINT</span><span style="color: #000000; ">=</span><span style="color: #000000; ">https://hf-mirror.com&nbsp;＃设置huggingface的替代地址<br />export&nbsp;MODELSCOPE_CACHE</span><span style="color: #000000; ">=</span><span style="color: #000000; ">/root/autodl-tmp/models/modelscope&nbsp;＃设置modelscope中的大模型保存路径<br />export LLAMAFACTORY_HOME=/root/autodl-tmp/LLaMA-Factory<br /></span></div></div><div></div><div></div><div><h3>3.准备数据</h3></div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">#在data/dataset_info.json中加入此数据<br /><br /></span><span style="color: #000000; ">"</span><span style="color: #000000; ">docker_command_NL</span><span style="color: #000000; ">"</span><span style="color: #000000; ">:&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">hf_hub_url</span><span style="color: #000000; ">"</span><span style="color: #000000; ">:&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">MattCoddity/dockerNLcommands</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />&nbsp;&nbsp;}</span><span style="color: #000000; ">,</span></div></div><div></div><div>在data目录中加入训练数据，MattCoddity/dockerNLcommands.json</div><div>数据格式为：</div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #800000; font-weight: bold; ">[<br /></span><span style="color: #000000; ">&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">input</span><span style="color: #000000; ">"</span><span style="color: #000000; ">:&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Give&nbsp;me&nbsp;a&nbsp;list&nbsp;of&nbsp;containers&nbsp;that&nbsp;have&nbsp;the&nbsp;Ubuntu&nbsp;image&nbsp;as&nbsp;their&nbsp;ancestor.</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">instruction</span><span style="color: #000000; ">"</span><span style="color: #000000; ">:&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">translate&nbsp;this&nbsp;sentence&nbsp;in&nbsp;docker&nbsp;command</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">output</span><span style="color: #000000; ">"</span><span style="color: #000000; ">:&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">docker&nbsp;ps&nbsp;--filter&nbsp;'ancestor=ubuntu'</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />&nbsp;&nbsp;}</span><span style="color: #000000; ">,</span><span style="color: #000000; "><br /><img src="http://www.blogjava.net/Images/dot.gif" alt="" /><br />]</span></div></div><div></div><div></div><div></div><div><h3>4.训练大模型</h3></div><div>训练的参数文件：llama3_lora_sft_docker_command.yaml</div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">###&nbsp;model<br />#md&nbsp;model&nbsp;id<br />model_name_or_path:&nbsp;LLM-Research/Meta-Llama-</span><span style="color: #000000; ">3</span><span style="color: #000000; ">-8B-Instruct<br />#huggingface&nbsp;model&nbsp;id<br />#model_name_or_path:&nbsp;meta-llama/Meta-Llama-</span><span style="color: #000000; ">3</span><span style="color: #000000; ">-8B-Instruct<br /><br />###&nbsp;method<br />stage:&nbsp;sft<br />do_train:&nbsp;true<br />finetuning_type:&nbsp;lora<br />lora_target:&nbsp;all<br /><br />###&nbsp;dataset<br />dataset:&nbsp;docker_command_NL<br />template:&nbsp;llama3<br />cutoff_len:&nbsp;</span><span style="color: #000000; ">1024</span><span style="color: #000000; "><br />max_samples:&nbsp;</span><span style="color: #000000; ">1000</span><span style="color: #000000; "><br />overwrite_cache:&nbsp;true<br />preprocessing_num_workers:&nbsp;</span><span style="color: #000000; ">16</span><span style="color: #000000; "><br /><br />###&nbsp;output<br />output_dir: /root/autodl-tmp/my-test/saves/llama3-8b/lora/sft/docker-commnad-nlp/sft<br />logging_steps:&nbsp;</span><span style="color: #000000; ">10</span><span style="color: #000000; "><br />save_steps:&nbsp;</span><span style="color: #000000; ">500</span><span style="color: #000000; "><br />plot_loss:&nbsp;true<br />overwrite_output_dir:&nbsp;true<br /><br />###&nbsp;train<br />per_device_train_batch_size:&nbsp;</span><span style="color: #000000; ">4</span><span style="color: #000000; "><br />gradient_accumulation_steps:&nbsp;</span><span style="color: #000000; ">8</span><span style="color: #000000; "><br />learning_rate:&nbsp;</span><span style="color: #000000; ">1.0e-4</span><span style="color: #000000; "><br />num_train_epochs:&nbsp;</span><span style="color: #000000; ">3.0</span><span style="color: #000000; "><br />lr_scheduler_type:&nbsp;cosine<br />warmup_ratio:&nbsp;</span><span style="color: #000000; ">0.1</span><span style="color: #000000; "><br />bf16:&nbsp;true<br />ddp_timeout:&nbsp;</span><span style="color: #000000; ">180000000</span><span style="color: #000000; "><br /><br />###&nbsp;eval<br />val_size:&nbsp;</span><span style="color: #000000; ">0.1</span><span style="color: #000000; "><br />per_device_eval_batch_size:&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; "><br />eval_strategy:&nbsp;steps<br />eval_steps:&nbsp;</span><span style="color: #000000; ">500</span></div></div><div></div><div>训练命令：lora-train-docker-command.sh</div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">BIN_PATH</span><span style="color: #000000; ">=</span><span style="color: #000000; ">$(cd&nbsp;`dirname&nbsp;$</span><span style="color: #000000; ">0</span><span style="color: #000000; ">`</span><span style="color: #008000; ">;</span><span style="color: #008000; ">&nbsp;pwd)</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">cd&nbsp;$BIN_PATH/<br />pwd<br />cd&nbsp;$LLAMAFACTORY_HOME<br />pwd<br />llamafactory-cli&nbsp;train&nbsp;$BIN_PATH/conf/llama3_lora_sft_docker_command.yaml<br /></span></div></div><div></div><div></div><div>执行此命令即可开始训练大模型。</div><div></div><div><h3>5.合并大模型</h3></div><div>合并用的参数文件，llama3_lora_export_docker_command.yaml</div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">###&nbsp;model<br />#md&nbsp;model&nbsp;id<br />model_name_or_path:&nbsp;LLM-Research/Meta-Llama-</span><span style="color: #000000; ">3</span><span style="color: #000000; ">-8B-Instruct<br />#huggingface&nbsp;model&nbsp;id<br />#model_name_or_path:&nbsp;meta-llama/Meta-Llama-</span><span style="color: #000000; ">3</span><span style="color: #000000; ">-8B-Instruct<br /><br />adapter_name_or_path: /root/autodl-tmp/my-test/saves/llama3-8b/lora/docker-commnad-nlp/sft<br />template:&nbsp;llama3<br />export_dir: /root/autodl-tmp/my-test/saves/llama3-8b/lora/docker-commnad-nlp/export<br />finetuning_type:&nbsp;lora<br />export_size:&nbsp;</span><span style="color: #000000; ">2</span><span style="color: #000000; "><br />export_device:&nbsp;gpu<br />export_legacy_format:&nbsp;False</span></div></div><div></div><div>合并命令，lora-export-docker-command.sh</div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">BIN_PATH</span><span style="color: #000000; ">=</span><span style="color: #000000; ">$(cd&nbsp;`dirname&nbsp;$</span><span style="color: #000000; ">0</span><span style="color: #000000; ">`</span><span style="color: #008000; ">;</span><span style="color: #008000; ">&nbsp;pwd)</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">cd&nbsp;$BIN_PATH/<br />pwd<br />llamafactory-cli&nbsp;export&nbsp;conf/llama3_lora_export_docker_command.yaml</span></div></div><div></div><div></div><div></div><div></div><div></div><img src ="http://www.blogjava.net/paulwong/aggbug/451463.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2024-07-08 18:44 <a href="http://www.blogjava.net/paulwong/archive/2024/07/08/451463.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>部署docker版的人工智能OPEN-WEBUI+OLLAMA+NGINX</title><link>http://www.blogjava.net/paulwong/archive/2024/06/19/451450.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Wed, 19 Jun 2024 14:23:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2024/06/19/451450.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/451450.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2024/06/19/451450.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/451450.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/451450.html</trackback:ping><description><![CDATA[<div>一键部署人工智能中的OPEN-WEBUI,OLLAMA, NGINX，也就对类似OPEN-AI的对话机器人</div>
<div></div>
<div>docker-compose.yaml</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->services:<br />
<br />
&nbsp;&nbsp;#&nbsp;ollama:<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;deploy:<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resources:<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reservations:<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;devices:<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;driver:&nbsp;nvidia<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count:&nbsp;all<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;capabilities:<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;gpu&nbsp;&nbsp;#使用GPU加速<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;volumes:<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;ollama-volume:/root/.ollama&nbsp;#配置OLLAMA的配置数据文件在宿主机<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;/etc/localtime:/etc/localtime:ro<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;container_name:&nbsp;ollama<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;image:&nbsp;ollama/ollama<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;restart:&nbsp;unless-stopped<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;networks:<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;isolated&nbsp;#使用DOCKER的隔离网络<br />
&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;internet<br />
<br />
&nbsp;&nbsp;vllm:<br />
&nbsp;&nbsp;&nbsp;&nbsp;container_name:&nbsp;vllm<br />
&nbsp;&nbsp;&nbsp;&nbsp;image:&nbsp;vllm/vllm-openai:latest<br />
&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;ipc:&nbsp;host<br />
&nbsp;&nbsp;&nbsp;&nbsp;volumes:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;${HUGGINGFACE_MODELS_DIR}:/models<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;/etc/localtime:/etc/localtime:ro<br />
&nbsp;&nbsp;&nbsp;&nbsp;command:&nbsp;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--model&nbsp;/models/models--unsloth--llama-3-8b-Instruct-lawdata<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--served-model-name&nbsp;llama-3-8b-Instruct-lawdata<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--gpu-memory-utilization&nbsp;0.90<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--max_model_len&nbsp;1072<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--quantization&nbsp;bitsandbytes<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--load_format&nbsp;bitsandbytes<br />
&nbsp;&nbsp;&nbsp;&nbsp;ports:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;"8000:8000"<br />
&nbsp;&nbsp;&nbsp;&nbsp;deploy:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resources:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reservations:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;devices:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;driver:&nbsp;nvidia<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count:&nbsp;all<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;capabilities:&nbsp;<span style="color: #800000; font-weight: bold; ">[</span><span style="color: #800000; ">gpu</span><span style="color: #800000; font-weight: bold; ">]</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;networks:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;isolated&nbsp;#使用DOCKER的隔离网络<br />
<br />
&nbsp;&nbsp;#&nbsp;https://github.com/open-webui/open-webui<br />
&nbsp;&nbsp;open-webui:&nbsp;#全局维一的服务名<br />
&nbsp;&nbsp;&nbsp;&nbsp;volumes:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;open-webui-volume:/app/backend/data&nbsp;#配置open-webui的配置数据文件在宿主机<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;/etc/localtime:/etc/localtime:ro<br />
&nbsp;&nbsp;&nbsp;&nbsp;container_name:&nbsp;open-webui<br />
&nbsp;&nbsp;&nbsp;&nbsp;restart:&nbsp;unless-stopped<br />
&nbsp;&nbsp;&nbsp;&nbsp;image:&nbsp;ghcr.io/open-webui/open-webui:main<br />
&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;network_mode:&nbsp;host<br />
&nbsp;&nbsp;&nbsp;&nbsp;ports:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;"3000:3000"<br />
&nbsp;&nbsp;&nbsp;&nbsp;environment:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;-&nbsp;OLLAMA_BASE_URL=http://ollama:11434&nbsp;#OPEN-WEBUI访问OLLAMA的地址，其实就是服务名代替IP<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;ENABLE_OLLAMA_API=False<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;OPENAI_API_BASE_URL=http://vllm:8000&nbsp;/v1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;/etc/localtime:/etc/localtime:ro<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;LOG_LEVEL=DEBUG<br />
&nbsp;&nbsp;&nbsp;&nbsp;depends_on:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;-&nbsp;ollama<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;vllm<br />
&nbsp;&nbsp;&nbsp;&nbsp;networks:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;isolated<br />
<br />
&nbsp;&nbsp;nginx-webui:<br />
&nbsp;&nbsp;&nbsp;&nbsp;volumes:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;${NGINX_DATA_DIR}/html:/usr/share/nginx/html:ro<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;${NGINX_DATA_DIR}/conf/nginx.conf:/etc/nginx/nginx.conf:ro<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;${NGINX_DATA_DIR}/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf:ro<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;${NGINX_DATA_DIR}/conf/.htpasswd:/etc/nginx/.htpasswd:ro<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;/etc/localtime:/etc/localtime:ro<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;${NGINX_DATA_DIR}/log/access.log:/var/log/nginx/access.log<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;${NGINX_DATA_DIR}/log/error.log:/var/log/nginx/error.log<br />
&nbsp;&nbsp;&nbsp;&nbsp;container_name:&nbsp;nginx-webui<br />
&nbsp;&nbsp;&nbsp;&nbsp;ports:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;"81:81"<br />
&nbsp;&nbsp;&nbsp;&nbsp;image:&nbsp;nginx:latest<br />
&nbsp;&nbsp;&nbsp;&nbsp;#image:&nbsp;quay.io/ricardbejarano/nginx<br />
&nbsp;&nbsp;&nbsp;&nbsp;depends_on:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;open-webui<br />
&nbsp;&nbsp;&nbsp;&nbsp;restart:&nbsp;unless-stopped<br />
&nbsp;&nbsp;&nbsp;&nbsp;networks:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;isolated<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;internet<br />
<br />
volumes:<br />
&nbsp;&nbsp;ollama-volume:<br />
&nbsp;&nbsp;&nbsp;&nbsp;driver:&nbsp;local<br />
&nbsp;&nbsp;&nbsp;&nbsp;driver_opts:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type:&nbsp;none<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o:&nbsp;bind<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;device:&nbsp;${OLLAMA_DATA_DIR}<br />
&nbsp;&nbsp;open-webui-volume:<br />
&nbsp;&nbsp;&nbsp;&nbsp;driver:&nbsp;local<br />
&nbsp;&nbsp;&nbsp;&nbsp;driver_opts:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type:&nbsp;none<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o:&nbsp;bind<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;device:&nbsp;${OPEN_WEBUI_DATA_DIR}<br />
<br />
networks:<br />
&nbsp;&nbsp;isolated:<br />
&nbsp;&nbsp;&nbsp;&nbsp;driver:&nbsp;bridge<br />
&nbsp;&nbsp;&nbsp;&nbsp;internal:&nbsp;true<br />
&nbsp;&nbsp;internet:<br />
&nbsp;&nbsp;&nbsp;&nbsp;driver:&nbsp;bridge</div>
</div>
<div><br />
</div>
<div>nginx.conf</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->user&nbsp;&nbsp;nginx<span style="color: #008000; ">;<br />
</span>worker_processes&nbsp;&nbsp;auto<span style="color: #008000; ">;<br />
</span><br />
error_log&nbsp;&nbsp;/var/log/nginx/error.log&nbsp;warn<span style="color: #008000; ">;<br />
</span>pid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/var/run/nginx.pid<span style="color: #008000; ">;<br />
</span><br />
events&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;worker_connections&nbsp;&nbsp;1024<span style="color: #008000; ">;<br />
</span>}<br />
<br />
http&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/etc/nginx/mime.types<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;default_type&nbsp;&nbsp;application/octet-stream<span style="color: #008000; ">;<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;log_format&nbsp;&nbsp;main&nbsp;&nbsp;'$remote_addr&nbsp;-&nbsp;$remote_user&nbsp;<span style="color: #800000; font-weight: bold; ">[</span><span style="color: #800000; ">$time_local</span><span style="color: #800000; font-weight: bold; ">]</span>&nbsp;"$request"&nbsp;'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'$status&nbsp;$body_bytes_sent&nbsp;"$http_referer"&nbsp;'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'"$http_user_agent"&nbsp;"$http_x_forwarded_for"'<span style="color: #008000; ">;<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;access_log&nbsp;&nbsp;/var/log/nginx/access.log&nbsp;&nbsp;main<span style="color: #008000; ">;<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;sendfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;keepalive_timeout&nbsp;&nbsp;65<span style="color: #008000; ">;<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;/etc/nginx/conf.d/*.conf<span style="color: #008000; ">;</span><span style="color: #008000; ">&nbsp;&nbsp;#&nbsp;加载&nbsp;conf.d&nbsp;目录下的配置文件</span><span style="color: #008000; "><br />
</span>}</div>
</div>
<div><br />
</div>
<div>docker/docker-nginx/data/conf/conf.d/default.conf</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->#&nbsp;server&nbsp;{<br />
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;80<span style="color: #008000; ">;<br />
</span>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;example.com&nbsp;www.example.com<span style="color: #008000; ">;<br />
</span><br />
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;&nbsp;/usr/share/nginx/html<span style="color: #008000; ">;<br />
</span>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index&nbsp;&nbsp;index.html&nbsp;index.htm<span style="color: #008000; ">;<br />
</span><br />
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location&nbsp;/&nbsp;{<br />
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try_files&nbsp;$uri&nbsp;$uri/&nbsp;=404<span style="color: #008000; ">;<br />
</span>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error_page&nbsp;&nbsp;&nbsp;500&nbsp;502&nbsp;503&nbsp;504&nbsp;&nbsp;/50x.html<span style="color: #008000; ">;<br />
</span>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location&nbsp;=&nbsp;/50x.html&nbsp;{<br />
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;&nbsp;/usr/share/nginx/html<span style="color: #008000; ">;<br />
</span>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
#&nbsp;}<br />
server&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;81<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;localhost<span style="color: #008000; ">;<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;location&nbsp;/&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass&nbsp;http://open-webui:8080<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;proxy_pass&nbsp;http://localhost:8080<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header&nbsp;Host&nbsp;$host<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header&nbsp;X-Real-IP&nbsp;$remote_addr<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header&nbsp;X-Forwarded-For&nbsp;$proxy_add_x_forwarded_for<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header&nbsp;X-Forwarded-Proto&nbsp;$scheme<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;代理&nbsp;WebSocket&nbsp;请求<br />
&nbsp;&nbsp;&nbsp;&nbsp;location&nbsp;/ws/&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass&nbsp;http://open-webui:8080<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_http_version&nbsp;1.1<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header&nbsp;Upgrade&nbsp;$http_upgrade<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header&nbsp;Connection&nbsp;"Upgrade"<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header&nbsp;Host&nbsp;$host<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header&nbsp;X-Real-IP&nbsp;$remote_addr<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header&nbsp;X-Forwarded-For&nbsp;$proxy_add_x_forwarded_for<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header&nbsp;X-Forwarded-Proto&nbsp;$scheme<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;access_log&nbsp;/var/log/nginx/access.log<span style="color: #008000; ">;<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;error_log&nbsp;/var/log/nginx/error.log<span style="color: #008000; ">;<br />
</span>}</div>
</div>
<br />
<div>00_varible.sh</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->#!/bin/bash<br />
<br />
#&nbsp;获取当前脚本的路径<br />
#&nbsp;SCRIPT_PATH="$(realpath&nbsp;"$0")"<br />
#&nbsp;echo&nbsp;"当前脚本的路径是:&nbsp;$SCRIPT_PATH"<br />
<br />
#&nbsp;获取当前脚本所在的目录<br />
#&nbsp;SCRIPT_DIR="$(dirname&nbsp;"$SCRIPT_PATH")"<br />
#&nbsp;echo&nbsp;"当前脚本所在的目录是:&nbsp;$SCRIPT_DIR"<br />
#&nbsp;cd&nbsp;$SCRIPT_DIR<br />
<br />
#&nbsp;export&nbsp;HTTP_PROXY=http://192.168.0.102:7890<br />
#&nbsp;export&nbsp;HTTPS_PROXY=https://192.168.0.102:7890<br />
<br />
<br />
export&nbsp;DOCKER_ROOT_DIR=/home/paul/paulwong/work/workspaces/python-ai-project/docker<br />
export&nbsp;NGINX_DATA_DIR=${DOCKER_ROOT_DIR}/docker-nginx/data<br />
export&nbsp;OLLAMA_DATA_DIR=${DOCKER_ROOT_DIR}/docker-ollama/data<br />
export&nbsp;OPEN_WEBUI_DATA_DIR=${DOCKER_ROOT_DIR}/docker-webui/data<br />
export&nbsp;HUGGINGFACE_MODELS_DIR=/home/paul/.cache/huggingface/models</div>
</div>
<div><br />
</div>
<div>01_start-nginx-ollama-webui.sh</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">#!/bin/bash<br />
<br />
# 获取当前脚本的路径<br />
SCRIPT_PATH="$(realpath "$0")"<br />
echo "当前脚本的路径是: $SCRIPT_PATH"<br />
<br />
# 获取当前脚本所在的目录<br />
SCRIPT_DIR="$(dirname "$SCRIPT_PATH")"<br />
echo "当前脚本所在的目录是: $SCRIPT_DIR"<br />
cd $SCRIPT_DIR<br />
<br />
source ./00_varible.sh<br />
docker compose -f configs/docker-compose.yaml down<br />
docker compose -f configs/docker-compose.yaml up</div>
</div>
<div><br />
</div>
<div>02_restart-nginx-ollama-webui.sh</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">#!/bin/bash<br />
<br />
# 获取当前脚本的路径<br />
SCRIPT_PATH="$(realpath "$0")"<br />
echo "当前脚本的路径是: $SCRIPT_PATH"<br />
<br />
# 获取当前脚本所在的目录<br />
SCRIPT_DIR="$(dirname "$SCRIPT_PATH")"<br />
echo "当前脚本所在的目录是: $SCRIPT_DIR"<br />
cd $SCRIPT_DIR<br />
<br />
source ./00_varible.sh<br />
docker compose -f configs/docker-compose.yaml restart</div>
</div>
<div><br />
</div>
<div>03_login_ollama.sh</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">#!/bin/bash<br />
<br />
# 获取当前脚本的路径<br />
SCRIPT_PATH="$(realpath "$0")"<br />
echo "当前脚本的路径是: $SCRIPT_PATH"<br />
<br />
# 获取当前脚本所在的目录<br />
SCRIPT_DIR="$(dirname "$SCRIPT_PATH")"<br />
echo "当前脚本所在的目录是: $SCRIPT_DIR"<br />
cd $SCRIPT_DIR<br />
<br />
source ./00_varible.sh<br />
docker compose -f configs/docker-compose.yaml exec ollama /bin/bash<br />
# echo ${DOCKER_ROOT_DIR}</div>
</div>
<div><br />
</div>
<div>04_restart_open_webui.sh</div>
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; border-image: none; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;">#!/bin/bash<br />
<br />
# 获取当前脚本的路径<br />
SCRIPT_PATH="$(realpath "$0")"<br />
echo "当前脚本的路径是: $SCRIPT_PATH"<br />
<br />
# 获取当前脚本所在的目录<br />
SCRIPT_DIR="$(dirname "$SCRIPT_PATH")"<br />
echo "当前脚本所在的目录是: $SCRIPT_DIR"<br />
cd $SCRIPT_DIR<br />
<br />
source ./00_varible.sh<br />
docker compose -f configs/docker-compose.yaml restart open-webui<br />
# echo ${DOCKER_ROOT_DIR}</div>
</div>
<div><br />
</div>
<img src ="http://www.blogjava.net/paulwong/aggbug/451450.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2024-06-19 22:23 <a href="http://www.blogjava.net/paulwong/archive/2024/06/19/451450.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>