<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on 图灵派对</title><link>https://turingparty-ai.pages.dev/posts/</link><description>Recent content in Posts on 图灵派对</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 08 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://turingparty-ai.pages.dev/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>AI Agent 到底是什么？一文讲透</title><link>https://turingparty-ai.pages.dev/posts/20260408/</link><pubDate>Wed, 08 Apr 2026 00:00:00 +0000</pubDate><guid>https://turingparty-ai.pages.dev/posts/20260408/</guid><description>&lt;p&gt;2025 年以来，&amp;ldquo;AI Agent&amp;rdquo; 成为大模型领域最热门的关键词之一。但当我们说 Agent 的时候，我们到底在说什么？它和普通的 ChatBot 有什么本质区别？&lt;/p&gt;
&lt;h2 id="什么是-ai-agent"&gt;什么是 AI Agent？&lt;/h2&gt;
&lt;p&gt;AI Agent（人工智能代理）是一种能够&lt;strong&gt;自主感知环境、进行推理决策并采取行动&lt;/strong&gt;来完成特定目标的系统。与传统的 ChatBot 不同，Agent 不仅仅是&amp;quot;一问一答&amp;quot;，而是能够：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;自主规划&lt;/strong&gt;：将复杂任务拆解为多个子步骤&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;使用工具&lt;/strong&gt;：调用 API、搜索引擎、代码解释器等外部工具&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;记忆管理&lt;/strong&gt;：维护短期和长期记忆&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自我反思&lt;/strong&gt;：评估执行结果并调整策略&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="核心架构"&gt;核心架构&lt;/h2&gt;
&lt;p&gt;一个典型的 AI Agent 系统由以下核心组件构成：&lt;/p&gt;
&lt;h3 id="1-大模型llm作为大脑"&gt;1. 大模型（LLM）作为&amp;quot;大脑&amp;quot;&lt;/h3&gt;
&lt;p&gt;LLM 是 Agent 的核心推理引擎，负责理解用户意图、制定计划、生成工具调用指令。目前主流选择包括 GPT-4o、Claude 4、Gemini 2.5 Pro 等。&lt;/p&gt;
&lt;h3 id="2-工具tools"&gt;2. 工具（Tools）&lt;/h3&gt;
&lt;p&gt;Agent 通过 Function Calling 机制调用外部工具。常见的工具类型包括：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7086;font-style:italic"&gt;# 定义一个搜索工具&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools &lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt; [{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e3a1"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style="color:#a6e3a1"&gt;&amp;#34;function&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e3a1"&gt;&amp;#34;function&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e3a1"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: &lt;span style="color:#a6e3a1"&gt;&amp;#34;web_search&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e3a1"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;: &lt;span style="color:#a6e3a1"&gt;&amp;#34;搜索互联网获取最新信息&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e3a1"&gt;&amp;#34;parameters&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e3a1"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style="color:#a6e3a1"&gt;&amp;#34;object&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e3a1"&gt;&amp;#34;properties&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e3a1"&gt;&amp;#34;query&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e3a1"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style="color:#a6e3a1"&gt;&amp;#34;string&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e3a1"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;: &lt;span style="color:#a6e3a1"&gt;&amp;#34;搜索关键词&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e3a1"&gt;&amp;#34;required&amp;#34;&lt;/span&gt;: [&lt;span style="color:#a6e3a1"&gt;&amp;#34;query&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="3-记忆系统memory"&gt;3. 记忆系统（Memory）&lt;/h3&gt;
&lt;p&gt;记忆系统让 Agent 能够在多轮对话中保持上下文。分为：&lt;/p&gt;</description></item><item><title>RAG 实战：从零搭建企业知识库问答系统</title><link>https://turingparty-ai.pages.dev/posts/20260405/</link><pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate><guid>https://turingparty-ai.pages.dev/posts/20260405/</guid><description>&lt;p&gt;RAG（Retrieval-Augmented Generation，检索增强生成）是目前让大模型落地企业场景最实用的技术方案之一。本文将带你从零开始，构建一套生产级的 RAG 知识库问答系统。&lt;/p&gt;
&lt;h2 id="为什么需要-rag"&gt;为什么需要 RAG？&lt;/h2&gt;
&lt;p&gt;大模型虽然强大，但存在几个核心问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;知识截止&lt;/strong&gt;：训练数据有时间限制，无法获取最新信息&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;幻觉问题&lt;/strong&gt;：模型可能&amp;quot;一本正经地胡说八道&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;私有数据&lt;/strong&gt;：企业内部知识不在模型训练集中&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;RAG 通过&lt;strong&gt;先检索、再生成&lt;/strong&gt;的方式，让大模型基于真实文档来回答问题，有效解决以上问题。&lt;/p&gt;
&lt;h2 id="整体架构"&gt;整体架构&lt;/h2&gt;
&lt;p&gt;一个标准的 RAG 系统包含以下流程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;文档加载&lt;/strong&gt;：读取 PDF、Word、网页等多种格式&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;文本分块&lt;/strong&gt;：将长文档切分为合适大小的 Chunk&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;向量化&lt;/strong&gt;：使用 Embedding 模型将文本转为向量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;索引存储&lt;/strong&gt;：存入向量数据库（ChromaDB / Milvus / Pinecone）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;检索&lt;/strong&gt;：根据用户 Query 检索最相关的 Chunk&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生成&lt;/strong&gt;：将检索结果作为上下文，交给 LLM 生成答案&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="代码实战"&gt;代码实战&lt;/h2&gt;
&lt;h3 id="环境准备"&gt;环境准备&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip install langchain chromadb openai tiktoken
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="文档加载与分块"&gt;文档加载与分块&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#94e2d5"&gt;from&lt;/span&gt; &lt;span style="color:#fab387"&gt;langchain.document_loaders&lt;/span&gt; &lt;span style="color:#94e2d5"&gt;import&lt;/span&gt; DirectoryLoader
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#94e2d5"&gt;from&lt;/span&gt; &lt;span style="color:#fab387"&gt;langchain.text_splitter&lt;/span&gt; &lt;span style="color:#94e2d5"&gt;import&lt;/span&gt; RecursiveCharacterTextSplitter
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7086;font-style:italic"&gt;# 加载文档&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;loader &lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt; DirectoryLoader(&lt;span style="color:#a6e3a1"&gt;&amp;#34;./docs&amp;#34;&lt;/span&gt;, glob&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a6e3a1"&gt;&amp;#34;**/*.md&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;documents &lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt; loader&lt;span style="color:#89dceb;font-weight:bold"&gt;.&lt;/span&gt;load()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7086;font-style:italic"&gt;# 分块&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;splitter &lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt; RecursiveCharacterTextSplitter(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chunk_size&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#fab387"&gt;500&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; chunk_overlap&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#fab387"&gt;50&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; separators&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;[&lt;span style="color:#a6e3a1"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#89b4fa"&gt;\n\n&lt;/span&gt;&lt;span style="color:#a6e3a1"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#a6e3a1"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#89b4fa"&gt;\n&lt;/span&gt;&lt;span style="color:#a6e3a1"&gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#a6e3a1"&gt;&amp;#34;。&amp;#34;&lt;/span&gt;, &lt;span style="color:#a6e3a1"&gt;&amp;#34;！&amp;#34;&lt;/span&gt;, &lt;span style="color:#a6e3a1"&gt;&amp;#34;？&amp;#34;&lt;/span&gt;, &lt;span style="color:#a6e3a1"&gt;&amp;#34;.&amp;#34;&lt;/span&gt;, &lt;span style="color:#a6e3a1"&gt;&amp;#34; &amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chunks &lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt; splitter&lt;span style="color:#89dceb;font-weight:bold"&gt;.&lt;/span&gt;split_documents(documents)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#89dceb"&gt;print&lt;/span&gt;(&lt;span style="color:#f38ba8"&gt;f&lt;/span&gt;&lt;span style="color:#a6e3a1"&gt;&amp;#34;共生成 &lt;/span&gt;&lt;span style="color:#a6e3a1"&gt;{&lt;/span&gt;&lt;span style="color:#89dceb"&gt;len&lt;/span&gt;(chunks)&lt;span style="color:#a6e3a1"&gt;}&lt;/span&gt;&lt;span style="color:#a6e3a1"&gt; 个文本块&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="向量化与存储"&gt;向量化与存储&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#94e2d5"&gt;from&lt;/span&gt; &lt;span style="color:#fab387"&gt;langchain.embeddings&lt;/span&gt; &lt;span style="color:#94e2d5"&gt;import&lt;/span&gt; OpenAIEmbeddings
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#94e2d5"&gt;from&lt;/span&gt; &lt;span style="color:#fab387"&gt;langchain.vectorstores&lt;/span&gt; &lt;span style="color:#94e2d5"&gt;import&lt;/span&gt; Chroma
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;embedding &lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt; OpenAIEmbeddings(model&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a6e3a1"&gt;&amp;#34;text-embedding-3-small&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vectordb &lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt; Chroma&lt;span style="color:#89dceb;font-weight:bold"&gt;.&lt;/span&gt;from_documents(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; documents&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;chunks,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; embedding&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;embedding,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; persist_directory&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a6e3a1"&gt;&amp;#34;./chroma_db&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="检索与问答"&gt;检索与问答&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#94e2d5"&gt;from&lt;/span&gt; &lt;span style="color:#fab387"&gt;langchain.chat_models&lt;/span&gt; &lt;span style="color:#94e2d5"&gt;import&lt;/span&gt; ChatOpenAI
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#94e2d5"&gt;from&lt;/span&gt; &lt;span style="color:#fab387"&gt;langchain.chains&lt;/span&gt; &lt;span style="color:#94e2d5"&gt;import&lt;/span&gt; RetrievalQA
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;llm &lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt; ChatOpenAI(model&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a6e3a1"&gt;&amp;#34;gpt-4o&amp;#34;&lt;/span&gt;, temperature&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#fab387"&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;qa_chain &lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt; RetrievalQA&lt;span style="color:#89dceb;font-weight:bold"&gt;.&lt;/span&gt;from_chain_type(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; llm&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;llm,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; retriever&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;vectordb&lt;span style="color:#89dceb;font-weight:bold"&gt;.&lt;/span&gt;as_retriever(search_kwargs&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;{&lt;span style="color:#a6e3a1"&gt;&amp;#34;k&amp;#34;&lt;/span&gt;: &lt;span style="color:#fab387"&gt;4&lt;/span&gt;}),
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; return_source_documents&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#fab387"&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;result &lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt; qa_chain({&lt;span style="color:#a6e3a1"&gt;&amp;#34;query&amp;#34;&lt;/span&gt;: &lt;span style="color:#a6e3a1"&gt;&amp;#34;我们的退款政策是什么？&amp;#34;&lt;/span&gt;})
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#89dceb"&gt;print&lt;/span&gt;(result[&lt;span style="color:#a6e3a1"&gt;&amp;#34;result&amp;#34;&lt;/span&gt;])
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="优化策略"&gt;优化策略&lt;/h2&gt;
&lt;p&gt;基础 RAG 搭建完后，以下是几个关键优化方向：&lt;/p&gt;</description></item><item><title>10 个让你的 Prompt 效果翻倍的技巧</title><link>https://turingparty-ai.pages.dev/posts/20260403/</link><pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate><guid>https://turingparty-ai.pages.dev/posts/20260403/</guid><description>&lt;p&gt;Prompt Engineering 是使用大模型最重要的技能之一。好的 Prompt 和差的 Prompt，输出质量可能天差地别。&lt;/p&gt;
&lt;h2 id="1-使用角色设定"&gt;1. 使用角色设定&lt;/h2&gt;
&lt;p&gt;给模型一个明确的角色，可以显著提升输出质量：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;你是一位资深的 Python 后端工程师，拥有 10 年开发经验。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;请帮我 review 以下代码，关注性能和安全性问题。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="2-提供示例few-shot"&gt;2. 提供示例（Few-Shot）&lt;/h2&gt;
&lt;p&gt;通过给出 1-3 个输入输出示例，让模型理解你期望的格式和风格。&lt;/p&gt;
&lt;h2 id="3-结构化输出"&gt;3. 结构化输出&lt;/h2&gt;
&lt;p&gt;明确要求输出格式，比如 JSON、Markdown 表格、分步骤列表等：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;请以 JSON 格式输出，包含以下字段：
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- summary: 一句话总结
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- key_points: 关键要点数组
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- difficulty: 难度等级（1-5）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="4-分步思考chain-of-thought"&gt;4. 分步思考（Chain of Thought）&lt;/h2&gt;
&lt;p&gt;使用 &amp;ldquo;Let&amp;rsquo;s think step by step&amp;rdquo; 或 &amp;ldquo;请一步步分析&amp;rdquo; 引导模型进行推理。&lt;/p&gt;
&lt;h2 id="5-设定约束条件"&gt;5. 设定约束条件&lt;/h2&gt;
&lt;p&gt;明确告诉模型什么不该做，减少不需要的输出。&lt;/p&gt;
&lt;h2 id="6-使用分隔符"&gt;6. 使用分隔符&lt;/h2&gt;
&lt;p&gt;用 &lt;code&gt;&amp;quot;&amp;quot;&amp;quot;&lt;/code&gt; 或 &lt;code&gt;---&lt;/code&gt; 将指令和内容分隔开，避免模型混淆。&lt;/p&gt;
&lt;h2 id="7-迭代优化"&gt;7. 迭代优化&lt;/h2&gt;
&lt;p&gt;不要期望一次就写出完美的 Prompt。像调试代码一样，反复测试和优化。&lt;/p&gt;
&lt;h2 id="8-控制输出长度"&gt;8. 控制输出长度&lt;/h2&gt;
&lt;p&gt;明确字数或段落要求，避免模型输出过长或过短。&lt;/p&gt;
&lt;h2 id="9-利用系统提示"&gt;9. 利用系统提示&lt;/h2&gt;
&lt;p&gt;API 调用时，充分利用 &lt;code&gt;system&lt;/code&gt; 消息设置全局行为。&lt;/p&gt;</description></item><item><title>多模态大模型全面解析：从 GPT-4V 到 Gemini 2.5</title><link>https://turingparty-ai.pages.dev/posts/20260330/</link><pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><guid>https://turingparty-ai.pages.dev/posts/20260330/</guid><description>&lt;p&gt;多模态大模型是 AI 领域最令人兴奋的方向之一——让模型同时理解文本、图像、音频甚至视频。&lt;/p&gt;
&lt;h2 id="什么是多模态"&gt;什么是多模态？&lt;/h2&gt;
&lt;p&gt;多模态（Multimodal）指的是模型能够处理和生产多种类型的数据。典型的模态包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;文本&lt;/strong&gt;：自然语言理解与生成&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;图像&lt;/strong&gt;：图像理解、生成、编辑&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;音频&lt;/strong&gt;：语音识别、音乐生成&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;视频&lt;/strong&gt;：视频理解、生成&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="主流多模态模型对比"&gt;主流多模态模型对比&lt;/h2&gt;
&lt;p&gt;截至 2026 年初，主流多模态大模型包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GPT-4o&lt;/strong&gt;：OpenAI 的统一多模态模型，文本图像音频原生处理&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Claude 4 Opus&lt;/strong&gt;：Anthropic 出品，视觉理解能力出色&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemini 2.5 Pro&lt;/strong&gt;：Google DeepMind，超长上下文 + 原生多模态&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Qwen2.5-VL&lt;/strong&gt;：阿里通义，开源多模态的标杆&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="技术架构演进"&gt;技术架构演进&lt;/h2&gt;
&lt;h3 id="早期双塔架构"&gt;早期：双塔架构&lt;/h3&gt;
&lt;p&gt;分别用视觉编码器和语言模型处理图像和文本，通过投影层对齐。代表作如 LLaVA。&lt;/p&gt;
&lt;h3 id="中期交叉注意力"&gt;中期：交叉注意力&lt;/h3&gt;
&lt;p&gt;在 Transformer 层中引入交叉注意力机制，让文本和图像特征深度融合。代表作如 Flamingo。&lt;/p&gt;
&lt;h3 id="当前原生多模态"&gt;当前：原生多模态&lt;/h3&gt;
&lt;p&gt;从预训练阶段就统一处理所有模态，不再需要额外的对齐步骤。代表作如 GPT-4o、Gemini。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;多模态不是&amp;quot;加个图像编码器&amp;quot;那么简单。真正的多模态模型需要从底层架构就支持跨模态理解。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="应用场景"&gt;应用场景&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;文档智能解析（OCR + 理解）&lt;/li&gt;
&lt;li&gt;图表数据分析&lt;/li&gt;
&lt;li&gt;医学影像辅助诊断&lt;/li&gt;
&lt;li&gt;自动驾驶环境感知&lt;/li&gt;
&lt;li&gt;视频内容审核与摘要&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;多模态是大模型走向通用人工智能的必经之路。理解当前技术演进脉络，有助于你选择合适的模型和方案来解决实际问题。&lt;/p&gt;</description></item><item><title>本地部署大模型完全指南：Ollama + Open WebUI</title><link>https://turingparty-ai.pages.dev/posts/20260325/</link><pubDate>Wed, 25 Mar 2026 00:00:00 +0000</pubDate><guid>https://turingparty-ai.pages.dev/posts/20260325/</guid><description>&lt;p&gt;不想把数据发送到第三方 API？想在自己的机器上跑大模型？Ollama + Open WebUI 是目前最简单的本地部署方案。&lt;/p&gt;
&lt;h2 id="为什么要本地部署"&gt;为什么要本地部署？&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;隐私保护&lt;/strong&gt;：数据不出本地&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;零成本&lt;/strong&gt;：无需 API 费用&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;低延迟&lt;/strong&gt;：无网络往返&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可定制&lt;/strong&gt;：自由选择和切换模型&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ollama-安装"&gt;Ollama 安装&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7086;font-style:italic"&gt;# macOS / Linux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -fsSL https://ollama.com/install.sh | sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7086;font-style:italic"&gt;# Windows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7086;font-style:italic"&gt;# 从 https://ollama.com/download 下载安装包&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7086;font-style:italic"&gt;# 拉取模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ollama pull llama3.1:8b
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ollama pull qwen2.5:7b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="open-webui-部署"&gt;Open WebUI 部署&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7086;font-style:italic"&gt;# Docker 一键部署&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d -p 3000:8080 &lt;span style="color:#89b4fa"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --add-host&lt;span style="color:#89dceb;font-weight:bold"&gt;=&lt;/span&gt;host.docker.internal:host-gateway &lt;span style="color:#89b4fa"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v open-webui:/app/backend/data &lt;span style="color:#89b4fa"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --name open-webui &lt;span style="color:#89b4fa"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ghcr.io/open-webui/open-webui:main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;访问 &lt;code&gt;http://localhost:3000&lt;/code&gt; 即可使用类 ChatGPT 的界面与本地模型对话。&lt;/p&gt;
&lt;h2 id="硬件要求"&gt;硬件要求&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;7B 模型&lt;/strong&gt;：8GB 内存 / 6GB 显存&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;13B 模型&lt;/strong&gt;：16GB 内存 / 10GB 显存&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;70B 模型&lt;/strong&gt;：64GB 内存 / 48GB 显存&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;没有 GPU 也能跑！Ollama 支持 CPU 推理，7B 模型在 M1 Mac 上体验流畅。&lt;/p&gt;</description></item><item><title>大模型微调入门：LoRA / QLoRA 原理与实践</title><link>https://turingparty-ai.pages.dev/posts/20260320/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://turingparty-ai.pages.dev/posts/20260320/</guid><description>&lt;p&gt;全参数微调一个 7B 模型需要 ~56GB 显存，这对大多数人来说不现实。LoRA 和 QLoRA 让你用一张消费级显卡就能微调大模型。&lt;/p&gt;
&lt;h2 id="lora-原理"&gt;LoRA 原理&lt;/h2&gt;
&lt;p&gt;LoRA（Low-Rank Adaptation）的核心思想：&lt;strong&gt;冻结原模型参数&lt;/strong&gt;，只训练一组低秩分解矩阵。&lt;/p&gt;
&lt;p&gt;对于原始权重矩阵 W，LoRA 添加一个低秩更新：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;W&amp;#39; = W + α × (B × A)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# W: 原始权重 (d × d)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# A: 降维矩阵 (d × r)，r &amp;lt;&amp;lt; d
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# B: 升维矩阵 (r × d)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# α: 缩放因子
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;当 rank r = 16 时，可训练参数只有原来的 0.1% 左右。&lt;/p&gt;
&lt;h2 id="qlora更进一步"&gt;QLoRA：更进一步&lt;/h2&gt;
&lt;p&gt;QLoRA 在 LoRA 基础上增加了：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;4-bit 量化&lt;/strong&gt;：将基础模型量化到 4-bit NormalFloat&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;双重量化&lt;/strong&gt;：对量化常数进行二次量化&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分页优化器&lt;/strong&gt;：自动管理 GPU 内存&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这使得在单张 24GB GPU 上微调 70B 模型成为可能。&lt;/p&gt;</description></item></channel></rss>