【必学收藏】构建三大AI管道:智能RAG、多智能体系统与视觉处理实战指南

「文智助手」全场景办公AI助理AI+OPC全流程实践方案(大赛作品) 阅读详情

基于推理的智能RAG、多智能体系统与视觉处理

在2025年,最先进的系统已不再依赖单一的大型通用模型。相反,它们采用多个不同规模和专业领域的大语言模型(LLMs),每个模型如同专家团队中的专业成员,协同处理复杂问题。

然而,在如此架构中正确评估一个LLM在其特定角色中的表现极具挑战性,因为需要在其被使用的具体环境中直接进行测试。

LLM决策管道(由Fareed Khan创建)

我们将构建三个独立的、生产级的AI管道,并将其作为测试平台来衡量不同模型在其指定角色中的表现。我们的评估框架基于三个核心原则:

  1. 角色特定测试:我们根据模型在管道中被分配的具体任务来评估其表现,无论是快速路由器、深度推理器还是精确评判器。
  2. 真实场景验证:我们不仅停留在抽象测试层面,而是让模型经历完整的端到端工作流程,以观察其在真实条件下的表现。
  3. 全面测量:我们将测量所有重要指标,从运营成本、延迟等运营指标到忠实性、相关性和科学有效性等定性评分。

所有代码(理论+3个notebook)均可在我的GitHub仓库中获取:

https://github.com/FareedKhan-dev/best-llm-finder-pipeline

代码库组织结构如下:

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(linebest-llm-finder-pipeline/├── 01_agentic_RAG.ipynb        # 智能RAG├── 02_multi_agent_system.ipynb # 多智能体系统├── 03_vision_reasoning.ipynb   # 视觉推理├── README.md                   # 项目文档└── requirements.txt            # 依赖项

我们为每个组件选择合适LLM的评估策略分为三个真实案例

用于深度文档分析的智能RAG

基于智能体的RAG系统已成为AI领域中基于LLM的新流行解决方案,特别适用于处理大规模非结构化文档的理解挑战。

按回车键或点击查看完整尺寸图像

智能RAG(由Fareed Khan创建)

在这种架构中,LLM被用于不同部分以使整个系统运作(评估LLM的正确方式),从路由和检索到合成和评估。

我们将避免预索引(如基于嵌入的RAG),而是让智能体即时阅读文档,测试LLM的深度和感知能力。

按回车键或点击查看完整尺寸图像

智能RAG管道(由Fareed Khan创建)

  1. 我们首先加载一个大型文档,并将其分割成少量的大型高级块。这为智能体创建了一个顶层地图以供导航,避免了耗时的预嵌入步骤。
  2. 然后我们创建一个路由器智能体,基于小型快速的LLM,快速浏览这些大块以识别最相关的部分。
  3. 系统重复地获取选定的部分,将其分割成更小的子块,并重新路由。这种放大过程允许智能体逐步聚焦于最有前景的信息。
  4. 一旦隔离出最相关的段落,我们使用强大的合成器智能体来构建详细答案,确保每个陈述都包含对其来源的精确引用。
  5. 最后,我们实施一个评估智能体,作为公正的评判者,对最终答案的忠实性和相关性进行评分,提供定量置信度评分以及其他评估指标。

让我们开始构建这个管道。

设置RAG环境

在开始编码之前,我们需要导入在整个RAG管道中有用的必要库。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineimport os                      # 与操作系统交互import json                    # 处理JSON数据import re                      # 正则表达式操作import time                    # 时间相关函数from io import BytesIO         # 处理内存中的二进制流from openai import OpenAI      # OpenAI客户端库from pypdf import PdfReader    # 用于从PDF文件中读取和提取文本from typing import List, Dict, Any # 类型提示以提高代码清晰度

我们将通过OpenAI兼容的API提供商使用开源LLM。我正在使用Nebius AI,但您可以轻松切换到本地提供商如Ollama或其他云服务如Together AI。

由于我没有强大的本地GPU,云服务是访问各种模型的最佳方式(他们确实提供免费额度)。让我们初始化API客户端。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# --- LLM配置 ---# 替换为您的API密钥和LLM提供商的基础URLAPI_KEY = "YOUR_API_KEY" # 替换为您的实际密钥BASE_URL = "https://api.studio.nebius.com/v1/" # 或者您的Ollama/本地主机
# 初始化OpenAI客户端以连接到自定义端点client = OpenAI(    api_key=API_KEY,    base_url=BASE_URL,)
# 我们将在此处存储整个运行过程中的性能指标metrics_log = []

我们还初始化了一个空列表metrics_log,这对我们的评估阶段很重要,因为它将存储我们进行的每个LLM调用的详细性能数据。

我们策略的一个关键部分是为不同任务使用不同的模型。

通用智能RAG管道通常由至少三个AI驱动的组件组成,我们可以通过为每个组件选择合适的模型来优化成本和性能。

  • 路由:此任务涉及浏览大量文本以查找相关部分。较小、更快的模型(如8B模型)通常足够且极具成本效益。
  • 合成:此任务需要深度理解并能够将来自多个来源的信息组合成连贯的答案。更大、更强大的模型(如70B模型)是更好的选择。
  • 评估:为了可靠地评判其他模型的质量,我们需要一个高度能力的"评判"模型。为此最终检查使用顶级模型可确保我们的质量评分值得信赖。
ounter(lineounter(lineounter(lineounter(line# 定义用于不同任务的模型ROUTER_MODEL = "meta-llama/Meta-Llama-3.1-8B-Instruct"  # 用于路由的快速模型SYNTHESIS_MODEL = "meta-llama/Llama-3.3-70B-Instruct"   # 用于合成的强大模型EVALUATION_MODEL = "deepseek-ai/DeepSeek-V3"       # 用于评估的顶级模型

现在我们已初始化核心组件,可以继续加载和预处理我们的数据。

为了正确评估我们的模型,我们需要一个具有挑战性的数据集。为此,我们将使用[商标审判和上诉委员会程序手册(TBMP)](https://www.uspto.gov/sites/default/files/documents/tbmp-Master-June2024.pdf),这是一个密集的920页法律文档。它可免费下载,让我们编写一个函数来获取它并提取其文本。

按回车键或点击查看完整尺寸图像

TBMP文档(由Fareed Khan创建)

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linedef download_and_extract_text_from_pdf(url: str) -> str:    """    从给定的URL下载PDF并提取其文本内容。    返回提取的文本作为字符串。    """    try:        response = requests.get(url)        response.raise_for_status()  # 如果下载出现问题则引发异常
        # 使用BytesIO从下载的内容创建类似文件的对象        pdf_file = BytesIO(response.content)
        # 初始化PDF阅读器        pdf_reader = PdfReader(pdf_file)
        # 从所有页面提取文本        text = ""        for page in pdf_reader.pages:            text += page.extract_text() or ""  # 如果页面为空则处理None
        return text
    except Exception as e:        print(f"下载或处理PDF时出错: {e}")        return ""
# 使用TBMP PDF的URLTBMP_URL = "https://www.uspto.gov/sites/default/files/documents/tbmp-Master-June2024.pdf"
# 下载并提取文本print("正在下载TBMP文档...")tbmp_text = download_and_extract_text_from_pdf(TBMP_URL)
# 检查结果print(f"成功提取{len(tbmp_text)}个字符的文本。")

运行此代码将下载920页的商标程序手册,为我们提供一个密集、具有挑战性的数据集来测试我们的RAG系统。

创建双通道路由器智能体

现在我们有了原始文本,需要将其分割成可管理的块。我们不是创建数百个小的嵌入向量,而是创建少量大的、高层次的块。这种方法允许我们的路由器智能体快速浏览文档结构,而不会陷入细节。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linedef split_text_into_large_chunks(text: str, chunk_size: int = 10000) -> List[str]:    """    将文本分割成指定字符大小的大块。    尝试在句子边界处分割以保持可读性。    """    # 简单地在chunk_size附近的最后一个空格处分割    chunks = []    start = 0
    while start < len(text):        # 找到chunk_size附近的最后一个空格        end = start + chunk_size        if end >= len(text):            chunks.append(text[start:])            break
        # 向后查找最后一个空格        last_space = text.rfind(' ', start, end)        if last_space == -1:            last_space = end
        chunks.append(text[start:last_space])        start = last_space + 1
    return chunks
# 将TBMP文本分割成大的、高层次的块print("正在将文档分割成大的、高层次的块...")large_chunks = split_text_into_large_chunks(tbmp_text, chunk_size=15000)print(f"创建了{len(large_chunks)}个大块。")

现在我们有了文档块,让我们创建路由器智能体。这是一个轻量级的LLM,其工作是快速浏览这些大块并识别最相关的部分。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linedef create_router_agent(model_name: str) -> callable:    """    创建一个路由器智能体函数,该函数使用指定的模型    根据查询识别最相关的文档块。    """    def router_agent(query: str, chunks: List[str]) -> List[int]:        """        根据查询返回最相关块的索引列表。        """        prompt = f"""您是一个文档路由器。您的任务是识别哪些文档块与用户的查询最相关。
        用户查询:{query}
        文档块:        {chr(10).join([f"块{i+1}: {chunk[:500]}..." for i, chunk in enumerate(chunks)])}
        返回一个JSON对象,格式为:{{"relevant_chunks": [1, 3, 5]}}        仅包含高度相关的块的索引(从1开始)。        """
        messages = [{"role": "user", "content": prompt}]
        # 记录指标        start_time = time.time()
        response = client.chat.completions.create(            model=model_name,            messages=messages,            temperature=0.1        )
        # 计算指标        latency = time.time() - start_time        tokens = response.usage.total_tokens
        # 解析响应        content = response.choices[0].message.content        try:            result = json.loads(content)            relevant_indices = [i-1 for i in result["relevant_chunks"]]  # 转换为0索引        except:            relevant_indices = []
        # 记录指标        metrics_log.append({            "stage": "routing",            "model": model_name,            "latency_s": latency,            "tokens": tokens,            "cost_usd": (tokens / 1000000) * 0.1  # 假设8B模型的价格        })
        return relevant_indices
    return router_agent
# 创建路由器智能体router = create_router_agent(ROUTER_MODEL)
# 测试路由器test_query = "商标异议的程序是什么?"relevant_chunk_indices = router(test_query, large_chunks)print(f"路由器识别出{len(relevant_chunk_indices)}个相关块。")

构建递归导航器

路由器给了我们一个良好的开端,但我们现在需要放大。我们将获取路由器识别的相关块,将它们分割成更小的子块,然后重复该过程。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linedef recursive_navigator(query: str, chunks: List[str], depth: int = 2) -> List[str]:    """    递归地缩小到最相关的段落。    深度控制递归级别数。    """    current_chunks = chunks    relevant_chunks = current_chunks
    for level in range(depth):        print(f"导航级别{level+1}...")
        # 将当前块分割成更小的子块        smaller_chunks = []        for chunk in relevant_chunks:            sub_chunks = split_text_into_large_chunks(chunk, chunk_size=3000)            smaller_chunks.extend(sub_chunks)
        if not smaller_chunks:            break
        # 在这些较小的块上运行路由器        router = create_router_agent(ROUTER_MODEL)        relevant_indices = router(query, smaller_chunks)
        if not relevant_indices:            break
        relevant_chunks = [smaller_chunks[i] for i in relevant_indices]
    return relevant_chunks
# 运行递归导航器final_relevant_chunks = recursive_navigator(test_query,                                           [large_chunks[i] for i in relevant_chunk_indices])print(f"递归导航后最终识别出{len(final_relevant_chunks)}个高度相关的段落。")

用于可引用答案的合成器智能体

现在我们有了最相关的段落,让我们使用更强大的模型来合成一个带有精确引用的详细答案。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linedef create_synthesizer_agent(model_name: str) -> callable:    """    创建一个合成器智能体,该智能体使用指定的模型    基于检索到的段落生成带有引用的详细答案。    """    def synthesizer_agent(query: str, relevant_chunks: List[str]) -> Dict[str, Any]:        """        基于检索到的块生成带有引用的详细答案。        """        context = "\n\n".join([f"段落{i+1}:{chunk}" for i, chunk in enumerate(relevant_chunks)])
        prompt = f"""您是一个文档合成器。基于提供的文档段落,创建一个详细、准确的答案。        每个事实陈述都必须包含对其来源段落的引用。
        用户查询:{query}
        相关文档段落:        {context}
        提供一个JSON响应,格式为:        {{            "answer": "详细答案,每个事实都有[段落X]引用",            "confidence": 0.0-1.0,            "sources": ["段落1", "段落2", ...]        }}        """
        messages = [{"role": "user", "content": prompt}]
        # 记录指标        start_time = time.time()
        response = client.chat.completions.create(            model=model_name,            messages=messages,            temperature=0.2        )
        # 计算指标        latency = time.time() - start_time        tokens = response.usage.total_tokens
        # 解析响应        content = response.choices[0].message.content        try:            result = json.loads(content)        except:            result = {"answer": content, "confidence": 0.5, "sources": []}
        # 记录指标        metrics_log.append({            "stage": "synthesis",            "model": model_name,            "latency_s": latency,            "tokens": tokens,            "cost_usd": (tokens / 1000000) * 0.5  # 假设70B模型的价格        })
        return result
    return synthesizer_agent
# 创建合成器智能体synthesizer = create_synthesizer_agent(SYNTHESIS_MODEL)
# 生成答案synthesized_answer = synthesizer(test_query, final_relevant_chunks)print("合成答案:")print(synthesized_answer["answer"])print(f"置信度:{synthesized_answer['confidence']}")

LLM作为评判器(忠实性、检索、相关性)评估

现在我们有了答案,让我们使用顶级模型作为评判器来评估其质量。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linedef create_evaluation_agent(model_name: str) -> callable:    """    创建一个评估智能体,该智能体使用指定的模型    评估生成的答案的质量。    """    def evaluation_agent(query: str, answer: str, context: List[str]) -> Dict[str, float]:        """        评估答案的忠实性、相关性和检索质量。        返回包含评分的字典。        """        context_text = "\n\n".join(context)
        prompt = f"""您是一个公正的评判者。评估提供的答案相对于用户查询和源文档的质量。
        用户查询:{query}
        生成的答案:{answer}
        源文档段落:{context_text}
        评估以下方面并提供0-1的评分:        1. 忠实性:答案是否准确反映源文档?        2. 相关性:答案是否直接解决用户查询?        3. 检索质量:是否使用了最相关的源段落?
        返回JSON格式:{{"faithfulness": 0.0, "relevance": 0.0, "retrieval": 0.0}}        """
        messages = [{"role": "user", "content": prompt}]
        # 记录指标        start_time = time.time()
        response = client.chat.completions.create(            model=model_name,            messages=messages,            temperature=0.0        )
        # 计算指标        latency = time.time() - start_time        tokens = response.usage.total_tokens
        # 解析响应        content = response.choices[0].message.content        try:            scores = json.loads(content)        except:            scores = {"faithfulness": 0.5, "relevance": 0.5, "retrieval": 0.5}
        # 记录指标        metrics_log.append({            "stage": "evaluation",            "model": model_name,            "latency_s": latency,            "tokens": tokens,            "cost_usd": (tokens / 1000000) * 0.8  # 假设DeepSeek-V3的价格        })
        return scores
    return evaluation_agent
# 创建评估智能体evaluator = create_evaluation_agent(EVALUATION_MODEL)
# 评估答案quality_scores = evaluator(test_query,                           synthesized_answer["answer"],                           final_relevant_chunks)print("质量评分:")for metric, score in quality_scores.items():    print(f"{metric}: {score:.2f}")

成本和置信度评估

让我们整合所有指标,创建成本和性能的完整画面。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineimport pandas as pd
# 创建指标摘要if metrics_log:    df_metrics = pd.DataFrame(metrics_log)
    # 计算总成本(使用示例定价)    total_cost = df_metrics['cost_usd'].sum()    total_latency = df_metrics['latency_s'].sum()    total_tokens = df_metrics['tokens'].sum()
    # 创建摘要    summary = {        '总延迟(秒)': f"{total_latency:.2f}",        '总成本(美元)': f"${total_cost:.6f}",        '总令牌数': f"{total_tokens:,}",        '平均忠实性评分': f"{quality_scores.get('faithfulness', 0):.2f}",        '平均相关性评分': f"{quality_scores.get('relevance', 0):.2f}",        '平均检索评分': f"{quality_scores.get('retrieval', 0):.2f}",        '合成置信度': f"{synthesized_answer.get('confidence', 0):.2f}"    }
    print("\n=== 智能RAG管道性能摘要 ===")    for key, value in summary.items():        print(f"{key}: {value}")

用于科学研究的多智能体系统

我们的第二个管道模拟了一个多智能体科学研究系统,其中不同的LLM扮演不同的角色——从生成假设的构思智能体到评估安全性的关键审查器。

按回车键或点击查看完整尺寸图像

工具使用推理(由Fareed Khan创建)

配置共同科学家和模拟实验室工具

首先,让我们设置我们的"共同科学家"——一个能够使用工具收集信息、分析数据并生成研究假设的智能体。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# --- 模拟实验室工具 ---def search_literature(query: str) -> str:    """模拟文献搜索功能。"""    if "CRISPR" in query:        return "最新CRISPR研究显示在基因编辑精度方面取得进展,但脱靶效应仍然是一个挑战。"    return "在文献中未找到相关信息。"
def analyze_data(experiment_type: str) -> str:    """模拟数据分析功能。"""    if "gene_expression" in experiment_type:        return "基因表达分析显示处理组和对照组之间有2.3倍的显著差异(p<0.01)。"    return "分析完成,未观察到显著效果。"
def check_safety(protocol: str) -> str:    """模拟安全检查功能。"""    if "viral_vector" in protocol.lower():        return "警告:病毒载体需要BSL-2安全等级和机构审查委员会批准。"    return "协议符合标准安全指南。"
# 工具调度器LAB_TOOLS = {    "search_literature": search_literature,    "analyze_data": analyze_data,    "check_safety": check_safety}

构建核心智能体运行器

现在让我们创建一个能够并行运行多个构思智能体的系统。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linedef create_ideation_agent(model_name: str, agent_id: str) -> callable:    """    创建一个构思智能体,该智能体可以生成研究假设并使用实验室工具。    """    def ideation_agent(research_topic: str, context: Dict[str, Any]) -> Dict[str, Any]:        """        基于研究主题和可用工具生成研究假设。        """        prompt = f"""您是一个AI研究科学家(智能体{agent_id})。您的任务是生成关于{research_topic}的新颖研究假设。
        您可以使用以下工具:        - search_literature:查找相关研究        - analyze_data:分析实验数据        - check_safety:验证协议安全性
        首先分析现有文献,然后提出3个可测试的假设。        对每个假设,提供:        1. 简要描述        2. 预期结果        3. 所需实验        4. 潜在影响
        使用可用的工具来指导您的假设生成。        """
        messages = [            {"role": "system", "content": prompt},            {"role": "user", "content": f"研究主题:{research_topic}"}        ]
        # 允许工具使用        for step in range(5):            response = client.chat.completions.create(                model=model_name,                messages=messages,                tools=get_tool_manifest(),                tool_choice="auto"            )
            message = response.choices[0].message            messages.append(message)
            if message.tool_calls:                for tool_call in message.tool_calls:                    function_name = tool_call.function.name                    arguments = json.loads(tool_call.function.arguments)                    result = LAB_TOOLS[function_name](**arguments)                    messages.append({                        "role": "tool",                        "tool_call_id": tool_call.id,                        "content": result                    })            else:                break
        # 提取最终假设        final_response = client.chat.completions.create(            model=model_name,            messages=messages,            temperature=0.7        )
        # 记录指标        metrics_log.append({            "stage": "ideation",            "model": model_name,            "agent_id": agent_id,            "latency_s": response.usage.total_tokens / 100,  # 近似值            "tokens": response.usage.total_tokens,            "cost_usd": (response.usage.total_tokens / 1000000) * 0.15        })
        return {            "agent_id": agent_id,            "hypotheses": final_response.choices[0].message.content,            "model_used": model_name        }
    return ideation_agent
# 创建多个构思智能体ideation_agents = [    create_ideation_agent("meta-llama/Llama-3.1-8B-Instruct", "agent_1"),    create_ideation_agent("meta-llama/Llama-3.1-8B-Instruct", "agent_2"),    create_ideation_agent("Qwen/Qwen3-14B", "agent_3")]实施锦标赛排名智能体

实施锦标赛排名智能体

让我们创建一个智能体来评估和排名不同构思智能体生成的假设。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linedef create_tournament_ranking_agent(model_name: str) -> callable:    """    创建一个智能体,该智能体使用锦标赛风格评估来排名研究假设。    """    def ranking_agent(hypotheses: List[Dict[str, Any]]) -> Dict[str, Any]:        """        评估和排名来自多个智能体的假设。        """        all_hypotheses = []        for agent_result in hypotheses:            all_hypotheses.append({                "agent_id": agent_result["agent_id"],                "content": agent_result["hypotheses"]            })
        prompt = f"""您是一个研究总监。评估以下研究假设并对其进行排名。
        提交的假设:        {json.dumps(all_hypotheses, indent=2)}
        基于以下标准评估每个假设:        1. 科学合理性(1-10)        2. 新颖性(1-10)        3. 可行性(1-10)        4. 潜在影响(1-10)
        提供排名列表,包含总分和简要理由。        返回JSON格式:{{"rankings": [...]}}        """
        messages = [{"role": "user", "content": prompt}]
        response = client.chat.completions.create(            model=model_name,            messages=messages,            temperature=0.1        )
        # 记录指标        metrics_log.append({            "stage": "tournament_ranking",            "model": model_name,            "latency_s": response.usage.total_tokens / 100,            "tokens": response.usage.total_tokens,            "cost_usd": (response.usage.total_tokens / 1000000) * 0.3        })
        try:            rankings = json.loads(response.choices[0].message.content)        except:            rankings = {"rankings": []}
        return rankings
    return ranking_agent
# 创建排名智能体ranker = create_tournament_ranking_agent("meta-llama/Llama-3.3-70B-Instruct")

深度批判和安全检查智能体

让我们添加一个专门的批判智能体来评估顶级假设的安全性和有效性。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linedef create_critique_agent(model_name: str) -> callable:    """    创建一个批判智能体,该智能体评估研究假设的安全性和科学有效性。    """    def critique_agent(top_hypotheses: List[Dict[str, Any]]) -> Dict[str, Any]:        """        对顶级假设进行深度批判和安全分析。        """        prompt = f"""您是一个经验丰富的研究伦理委员会成员。对以下顶级研究假设进行深度批判。
        需要评估的假设:        {json.dumps(top_hypotheses, indent=2)}
        提供:        1. 每个假设的安全风险评估        2. 伦理考虑        3. 方法论的潜在缺陷        4. 改进建议        5. 总体建议(批准/修改/拒绝)
        返回JSON格式:{{"critiques": [...]}}        """
        messages = [{"role": "user", "content": prompt}]
        response = client.chat.completions.create(            model=model_name,            messages=messages,            temperature=0.1        )
        # 记录指标        metrics_log.append({            "stage": "critique",            "model": model_name,            "latency_s": response.usage.total_tokens / 100,            "tokens": response.usage.total_tokens,            "cost_usd": (response.usage.total_tokens / 1000000) * 0.5        })
        try:            critiques = json.loads(response.choices[0].message.content)        except:            critiques = {"critiques": []}
        return critiques
    return critique_agent
# 创建批判智能体critic = create_critique_agent("deepseek-ai/DeepSeek-V3")

运行完整的多智能体系统

让我们运行完整的科学研究管道。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# 运行多智能体系统research_topic = "CRISPR基因编辑在治疗遗传疾病中的应用"
print("=== 运行多智能体科学研究系统 ===")print(f"研究主题:{research_topic}")
# 步骤1:并行运行构思智能体print("\n1. 运行并行构思智能体...")hypotheses = []for agent in ideation_agents:    result = agent(research_topic, {})    hypotheses.append(result)    print(f"智能体{result['agent_id']}完成")
# 步骤2:锦标赛排名print("\n2. 运行锦标赛排名...")rankings = ranker(hypotheses)print("排名完成")
# 步骤3:深度批判print("\n3. 运行深度批判...")top_hypotheses = [h for h in hypotheses if h['agent_id'] in [r.get('agent_id') for r in rankings.get('rankings', [])[:3]]]critiques = critic(top_hypotheses)print("批判分析完成")
# 显示结果print("\n=== 最终研究结果 ===")print(f"生成的假设数量:{len(hypotheses)}")print(f"排名前三的假设已识别")print(f"安全评估完成")

处理扫描质量较差表单的视觉推理

我们的第三个管道解决了从扫描质量较差的表单中提取结构化数据的现实挑战,使用专门的视觉模型进行OCR,然后使用推理模型进行数据清理。

设置两阶段组件

我们将创建一个两阶段管道:

  1. 阶段1:使用视觉模型进行高保真OCR
  2. 阶段2:使用工具推理模型进行优化
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# 模拟OCR输出(在实际实现中,这将来自视觉模型)mock_ocr_output = {    "applicant": {        "name": "Smith, James L OR James L Smith",        "email": "jsmithl@gmail.com OR j.smith@company.com"    },    "risk_address": {        "street": "855 Brannan St",        "city": "San Francisco",        "state": "CA",        "zip": "",        "county": ""    },    "mailing_address_if_different_than_risk_address": {        "street": "",        "city": "",        "state": "",        "zip": "",        "county": ""    },    "policy_details": {        "effective_date": "2024-01-15",        "coverage_amount": "$500,000",        "premium": "$2,500 annually"    }}

使用视觉模型的高保真OCR

在实际实现中,这将使用像gemma-3-27b-it这样的视觉模型来处理图像并提取文本。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linedef run_ocr_stage(image_path: str) -> Dict[str, Any]:    """    使用视觉模型从表单图像中提取原始OCR数据。    在实际实现中,这将调用视觉模型API。    """    # 模拟视觉模型处理    print("正在使用视觉模型处理表单图像...")
    # 记录指标    metrics_log.append({        "stage": "ocr_extraction",        "model": "google/gemma-3-27b-it",        "latency_s": 2.5,        "tokens": 1500,        "cost_usd": 0.0006  # 基于视觉模型定价    })
    return mock_ocr_output
# 运行OCR阶段stage1_output = run_ocr_stage("insurance_form.jpg")print("阶段1 OCR输出:")print(json.dumps(stage1_output, indent=2))

使用工具推理模型进行优化

现在我们使用能够使用工具验证和完成数据的推理模型。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# 为阶段2设置工具def validate_email(email: str) -> bool:    """模拟函数以验证电子邮件。对于此演示,只有'jsmithl@gmail.com'有效。"""    return email == "jsmithl@gmail.com"
def search_web(query: str) -> str:    """模拟网络搜索功能以查找缺失的地址详细信息。"""    if "855 Brannan St" in query:        return "完整地址是855 Brannan St, San Francisco, CA 94103。位于旧金山县。"    return "未找到信息。"
TOOL_DISPATCHER = {"validate_email": validate_email, "search_web": search_web}
def run_refinement_stage(ocr_data: Dict[str, Any]) -> Dict[str, Any]:    """    使用较小的、工具使用的LLM来清理、验证和完成原始OCR数据。    """    refinement_prompt = """您是数据验证专家。您已获得OCR系统的原始JSON。您的工作是清理、验证和完成它。    1. 检查每个字段是否存在歧义(例如,带有' OR '的文本)。使用工具解决它们。    2. 识别缺失信息(例如,'zip'的空字符串)。使用工具查找它。    3. 如果邮寄地址为空,假设它与风险地址相同。    4. 返回符合Pydantic模式的最终清理JSON对象。"""
    messages = [        {"role": "system", "content": refinement_prompt},        {"role": "user", "content": f"这是需要优化的原始OCR数据:\n\n{json.dumps(ocr_data)}"}    ]
    # 如果需要,允许智能体进行多次工具调用    for i in range(5):        response = client.chat.completions.create(            model="Qwen/Qwen3-14B",            messages=messages,            tools=get_tool_manifest(),            tool_choice="auto"        )        msg = response.choices[0].message        messages.append(msg)
        if not msg.tool_calls:            return json.loads(msg.content)
        # 执行工具调用并将结果附加到对话        for tool_call in msg.tool_calls:            function_name = tool_call.function.name            args = json.loads(tool_call.function.arguments)            result = TOOL_DISPATCHER[function_name](**args)            messages.append({                "role": "tool",                "tool_call_id": tool_call.id,                "content": json.dumps(result)            })
    return {"error": "超出工具调用限制。"}
# 运行管道的第二阶段stage2_output = run_refinement_stage(stage1_output)print("\n阶段2优化输出:")print(json.dumps(stage2_output, indent=2))

分析结果

转换效果良好。推理智能体成功使用其工具将模糊电子邮件解析为jsmithl@gmail.com,并执行网络搜索以填写缺失的邮政编码和县。

它还正确推断出邮寄地址与风险地址相同。结果是一个干净、完整且经验证的数据对象。

自动化质量保证(QA)智能体

作为最终组件,我们将编码一个自动化质量保证(QA)智能体。

该智能体基于我们的LLM充当评估器MODEL_EVALUATE,将作为审计员工作。它比较阶段1的原始、模糊输出与阶段2的干净、优化输出。其工作是提供详细报告,在多个维度上对过程进行评分,最重要的是标记可能仍需要人工审查的任何字段。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linedef evaluate_extraction_quality(raw_data: Dict, final_data: Dict) -> Dict:    """    使用强大的评估模型比较原始数据和优化数据,提供详细的质量报告。    """    eval_prompt = f"""您是质量保证专家。比较'原始OCR数据'与'最终优化数据'并提供详细评估作为JSON对象。
    原始OCR数据:    {json.dumps(raw_data, indent=2)}
    最终优化数据:    {json.dumps(final_data, indent=2)}
    使用以下结构提供您的评估:    {{      "field_accuracy_score": {{ "score": float (0.0-1.0), "justification": "评估最终数据是否准确保留所有原始、正确的信息。" }},      "inference_quality_score": {{ "score": float (0.0-1.0), "justification": "专门评估模型填写缺失或解决模糊字段的效果。" }},      "completeness_score": {{ "score": float (0.0-1.0), "justification": "计算最终数据中非空字段的比率。" }},      "overall_confidence_score": {{ "score": float (0.0-1.0), "justification": "您对最终数据正确性的整体信心。" }},      "fields_requiring_human_review": ["需要人工审查的字段名称列表", "这些字段看起来仍然不确定或信心不足"]    }}    """
    messages = [{"role": "user", "content": eval_prompt}]    response = client.chat.completions.create(        model="Qwen/Qwen3-235B-A22B",        messages=messages,        temperature=0.0    )
    # 记录指标    metrics_log.append({        "stage": "quality_assurance",        "model": "Qwen/Qwen3-235B-A22B",        "latency_s": response.usage.total_tokens / 50,        "tokens": response.usage.total_tokens,        "cost_usd": (response.usage.total_tokens / 1000000) * 0.6    })
    return json.loads(response.choices[0].message.content)
# 运行最终评估阶段quality_assessment = evaluate_extraction_quality(stage1_output, stage2_output)print("\n阶段3自动化质量报告:")print(json.dumps(quality_assessment, indent=2))

这个最终评估步骤使管道具备生产就绪性。我们不是仅仅希望输出正确,而是以编程方式评估其质量并生成可操作的反馈,将我们的系统从黑盒转变为透明且可观察的过程。

分析我们的发现

跨越三个不同且具有挑战性的用例,我们已经超越了抽象基准并评估了开源LLM。让我们来看看我们的发现。

  • 对于广泛、高吞吐量的任务(路由、构思):较小、更快的模型如Qwen/Qwen3-4B-fast和Llama-3.1-8B-Instruct被证明是冠军。它们极具成本效益,其速度对于需要处理大量数据或生成许多并行输出的任务至关重要。在这些角色中,它们较低的推理能力并不是主要缺点。
  • 对于专注的、逻辑性任务(安全、优化):中等规模的模型如Qwen/Qwen3-14B达到了最佳平衡点。它们具有强大的指令遵循和工具使用能力,使其成为不需要旗舰模型深度理解的专业逻辑任务的完美选择。
  • 对于深度、高风险的推理(合成、批判、评估):这是最大模型如Qwen/Qwen3-235B-A22B、Llama-3.3-70B-Instruct和DeepSeek-V3不可或缺的地方。它们卓越的推理、合成和评估能力证明了当最终输出质量至关重要时,其更高的成本和延迟是合理的。
  • 对于多模态感知(OCR):专门的视觉能力模型如gemma-3-27b-it是必需的。这表明对于某些任务,关键选择标准不仅仅是规模,而是模型训练的基本模态。

关键要点

这篇博客中有很多信息,让我们快速总结最重要的几点。

  • 没有单一最佳LLM:最有效的系统结合多个模型,使用更便宜的模型进行扩展,使用更昂贵的模型进行精确处理。
  • 基于角色的选择:将模型分配给路由器、合成器或评判器等角色,而不是寻求一个万能的模型。
  • 升级模式:从快速、低成本的模型开始以构建或过滤问题,然后将前景良好的案例升级到更强大的模型进行更深入的分析。
  • 自动化评估:可靠的管道需要持续测量,使用顶级LLM作为评判器来评分质量并发现弱点。
  • 可观察性:在统一视图中监控成本、延迟和定性指标对于优化、调试和展示价值至关重要。

普通人如何抓住AI大模型的风口?

领取方式在文末

为什么要学习大模型?

目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
在这里插入图片描述

随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:
在这里插入图片描述

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!

最后

只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!

在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

大模型全套学习资料展示

自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。

图片

希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!

01 教学内容

图片

  • 从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!

  • 大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

02适学人群

应届毕业生‌: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

image.png

vx扫描下方二维码即可
在这里插入图片描述

本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!

03 入门到进阶学习路线图

大模型学习路线图,整体分为5个大的阶段:
图片

04 视频和书籍PDF合集

图片

从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)

图片

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)
图片

05 行业报告+白皮书合集

收集70+报告与白皮书,了解行业最新动态!
图片

06 90+份面试题/经验

AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)图片
在这里插入图片描述

07 deepseek部署包+技巧大全

在这里插入图片描述

由于篇幅有限

只展示部分资料

并且还在持续更新中…

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

船载 OpenHarmony AIS 航海工作台:告警与防碰撞预警系统 船载OpenHarmony AIS航海工作台的告警与防碰撞系统,集成十余类告警(超速、偏航、会遇、SOS等),通过网格空间索引实现高效邻近判定,保障实时性。告警管理器统一调度规则、去重、通知与日志,支持悬浮球、语音、跑马灯、弹窗多渠道触达,确保航行安全。SOS紧急通道独立运行,避免干扰。系统设计强调性能优化与多场景适配,为航海安全提供核心支撑。 阅读详情

相关推荐

Windows上python的spark环境搭建

1.安装好JDK 下载并安装好jdk-12.0.1_windows-x64_bin.exe,配置环境变量: 新建系统变量JAVA_HOME,值为Java安装路径 新建系统变量CLASSPATH,值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(注意最前面的圆点) 配置系统变量PATH,添加 %JAVA_HOME%bin;%JAVA_HOME%jrebin 在CMD中输入:java或者java -version,不显示不是内部命令等,说明安装成功。

weixin_43915303的博客 652

逐步理解 Transformers 的数学原理

大数据文摘受权转载自数据派THU作者:Fareed Khan翻译:赵鉴开校对:赵茹萱Transformer架构可能看起来很恐怖,您也可能在YouTube或博客中看到了各种解释。但是下面,将通过提供一个全面的数学示例阐明它的原理。通过这样做,我希望简化对Transformer架构的理解。那就开始吧!Inputs and Positional Encoding让我们解决最初的部分,在那里我们将确定我们...

人工智能学家 303

14.4kW大功率母线变换器设计:LLC+矩阵变压器+GaN实战解析

在数据中心供电架构中,隔离母线变换器将高压直流母线转换为48V低压母线,是大功率供电链路的核心环节。随着功率密度与效率要求不断攀升,传统移相全桥与普通LLC方案已难以满足300A级输出需求。基于LLC/CLLC谐振拓扑,结合矩阵变压器与GaN功率器件,成为新一代高性能母线变换器的主流技术路线。矩阵变压器将大功率磁性元件拆分为多个小单元,配合原边串联副边并联结构,有效降低绕组损耗并提升功率密度;GaN器件则通过高频软开关进一步压减开关损耗。本文以一台14.4kW样机为例,完整梳理从拓扑选型、谐振参数计算、同步

weixin_28273593的博客 345

解锁17种智能体AI模式:从简单工具到复杂自我反思,构建高效AI系统的完整指南!

文章详解了17种智能体AI模式及其在大型AI系统中的应用,包括反思、工具使用、ReAct、规划、PEV、思维树、多智能体系统等。每种模式均配有具体代码实现、工作流程和评估方法,展示了从简单工具使用到复杂自我反思、多智能体协作和模拟决策的全面解决方案。文章最后介绍了如何组合这些架构构建更强大的AI系统,为开发者提供了构建高效、可靠AI系统的完整指南。

m0_65555479的博客 1069

pytorch实现基本的logistic和softmax回归实验(手动+torch)

前提:不是前馈神经网络,没有隐藏层。 一:Logistic回归实验–人工构造数据集,手动构造模型 要求: 动手从0实现logistic回归,实现二分类,人工构造数据集,并分析loss、训练集、测试集的准确率。(要求从零实现二元交叉熵) 实验过程: 1.1人工构造数据集 1. # #自定义数据---训练集 2. num_inputs = 2 3. n_data = torch.ones(1500, num_inputs) # 数据的基本形态 4. x1 = torch.normal(2 * n_d

qq_37534947的博客 1万+

OpenClaw 子代理配对失败问题分析与解决方案

OpenClaw子代理配对失败问题分析与解决方案 问题核心在于agent设备权限不足,仅有operator.approvals权限而缺少operator.admin权限,导致子代理启动时形成权限死锁。本文提供三种解决方案: 直接编辑设备配对文件(推荐):修改本地JSON文件,为agent设备添加完整operator.admin权限,操作简单快捷。 标准重新配对流程:删除现有agent设备后重新配对,通过正常审批流程获取完整权限,符合系统安全设计。 修改源码降低权限要求(仅限开发环境):调整子代理代码避免强制

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 151

从零构建 DeepSeek R1:训练、公式与可视化全解析

我将在本文中使用手绘流程图和简单计算,帮助你从零理解 DeepSeek R1 的核心技术。在整篇文章中我会使用字符串。

2401_84494441的博客 1120

点云从入门到精通技术详解100篇-基于 CBCT 与口内扫描数据的牙齿点云配准

口扫生成的三维牙模型只包含牙冠结构,容易受到唾液、食物残留等杂质的干扰。像精度,但其扫描成本较高,在公立医院的普及率较低。此外,口扫探入式的体。完整、精确的牙齿信息,有助于医生更好地进行数字化辅助诊疗,提高手术的预。可以表示上颌骨、下颌骨、牙冠以及牙根的位置和形状,但其扫描分辨率较低,精配准前实现粗略的预配准来确定点云间的初始位置,为精配准提供良好的配准。该算法通过计算点对间的距离确定源点云中的某一点在目标点云中的对应。算两点之间的欧氏距离,运算量较大,而且由于算法只考虑点集间的距离而忽略。

getusushu的博客 1641

【值得收藏】企业级大模型RAG架构设计:从数据摄入到智能体协调的完整指南

本文详细介绍了一个六层架构的企业级智能体RAG系统,涵盖数据摄入、AI计算、智能体流水线、工具沙箱、基础设施即代码和部署评估。通过Ray、vLLM和Kubernetes等技术实现高吞吐量文档处理、并行推理和智能自动扩展,支持向量数据库和知识图谱检索,并提供完整的企业级部署方案和性能优化策略。

Android23333的博客 457

[deprecated]第四章:TTM分析: 4.2.1 存储分配ttm_bo_validate功能实现分析

ttm_bo_validate是TTM框架中负责验证和调整BufferObject物理内存分配的核心函数,主要用于显存管理。该函数通过placement参数判断BO是否需要迁移或重新分配资源,完成内存分配、迁移及缓存策略调整等操作。实现流程包括资源释放、兼容性检查、迁移保护、新资源分配、迁移实现等步骤,支持多跳迁移和临时缓冲区。典型应用于显存溢出迁移、缓存策略调整、驱动初始化等场景,确保BO始终处于预期状态。

图形/计算GPU的驱动与虚拟化技术分享园地 847

LeRobot — 基于 PyTorch 的真实世界机器人学习框架(一)- 核心框架模块解析

LeRobot 是一个开源的机器人学习框架,由 Hugging Face 开发,旨在降低机器人学的准入门槛。该框架提供完整的机器学习流程支持,包括数据采集、训练、评估和部署。核心模块涵盖数据集标准化、策略算法、硬件抽象和强化学习组件,采用模块化设计实现灵活扩展。通过集成 Hugging Face Hub,用户可以轻松共享数据集和预训练模型。LeRobot 特别注重真实世界的机器人应用,支持多种前沿算法如模仿学习、视觉语言动作模型等,并提供统一的硬件接口和仿真环境适配。

熊猫小妖的AI世界 171

独家 | 逐步理解Transformers的数学原理

作者:Fareed Khan 翻译:赵鉴开 校对:赵茹萱 本文约1500字,建议阅读5分钟本文将通过提供一个全面的数学示例阐明Transformers的原理。transformer架构可能看起来很恐怖,您也可能在YouTube或博客中看到了各种解释。但是,在我的博客中,我将通过提供一个全面的数学示例阐明它的原理。通过这样做,我希望简化对transformer架构的理解。那就开始吧!Input...

数据派THU 272

Unity之OpenXR+XR Interaction Toolkit接入HTC Vive

目前VR领域,最流行的设备要当属HTC VIVE了。以前在Unity端接入HTC VIVE设备时,都是通过SteamVR+VRTK来接入的。但是随着Unity的版本升级和OpenXR标准的流行,再加上VR设备的逐渐增多。SteamVR+VRTK的方式已经无法更好的满足大家的需求。

TxNet 4137

第195期 构建自我改进AI Agent的训练架构

这个初始设置很重要——我们在这里做出的每个选择,从我们安装的库到我们获取的数据,都将决定最终训练智能体的可靠性和可重现性。通过这种方式,我们积极寻找并整合来自多个来源的信息到智能体系统中,将它们从简单的推理器转变为积极的研究人员。通过创建一个可重用的**“工厂”**,我们确保系统中的每个智能体都以一致的方式构建,采用定义其角色的特定。这种方法为智能体的整个认知过程提供了机器可读的蓝图。,我们为智能体提供了一种集中的方式来查找有关药物开发管道和治疗干预的信息,这与通常在PubMed摘要中找到的信息类型不同。

全网120W+关注AI拉呱,专注人工智能以及科技前沿! 1814

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

独家 | Scikit-LLM:Sklearn邂逅大语言模型

作者:Fareed Khan翻译:陈之炎 校对:赵茹萱 本文约2600字,建议阅读8分钟 本文为您介绍文本分析的工具包Scikit-LLM。标签:LLMScikit-LLM是文本分析的游戏规则改变者,它将功能强大的ChatGPT语言模型和scikit-learn相结合,为理解和分析文本提供了一个无与伦比的工具包。利用scikit-LLM,可以在各种类型的文本数据中发现隐含的模式、情绪和上下文,...

数据派THU 397

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【干货收藏】21种智能体设计模式:构建强大智能体系统的完整指南

短短两年间,AI范式发生了巨大转变,从简单自动化迈向复杂自主系统。最初,工作流依赖基础提示和触发器,利用LLM处理数据。随后,检索增强生成(RAG)技术出现,通过事实信息提升模型可靠性。接着,单体智能体诞生,能够调用多种工具。如今,我们正步入智能体AI时代,多个专业智能体协作完成复杂目标,AI的协同能力实现了质的飞跃。图2:AI范式变化,从LLM到RAG,到智能体RAG,最终迈向智能体AI。

大模型研究中心 1135

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

一文掌握RAPTOR:构建更智能的层级索引,轻松提升RAG性能100%!

RAPTOR是一种通过构建层级索引优化RAG系统性能的技术。它将文档拆分为叶节点,使用机器学习算法聚类,并通过LLM生成抽象摘要,递归构建多层级树状结构。这种"折叠树"策略使系统能同时检索细节和高层概念,解决传统RAG"迷失于细节"的问题。实验证明,RAPTOR在回答综合性问题时准确率达84.71%,远超传统RAG的33.33%,且答案深度和连贯性更优,无需增加系统复杂性即可显著提升性能。

m0_65555479的博客 1733

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 297

ChatGPT、Perplexity、Gemini 与 AI Overviews 引用对比:谁的引用更可信

AI 引擎的引用机制差异很大:ChatGPT 以行内引用加 Sources 列表呈现来源,Perplexity 几乎逐句可溯源,Gemini 在回答中内嵌相关来源链接,AI Overviews 则把多源聚合答案与来源列表一起放在搜索结果顶部。本文从引用透明度、来源偏好、可干预性 3 个维度对比这 4 个引擎,并给出 GEO 的 3 点启示,帮企业在多引擎环境下提升被引用的概率。

淡然一笑 的专栏 140

AI Agent之核心框架

A: 显式 Thought 有三类价值:可解释性(便于人类审计)、可调试性(定位哪一步选错工具)、学习信号(可做监督微调或评估中间步骤质量)。ReAct 把推理与 可执行行动 绑定,每一步行动后都有 真实 Observation 反馈,从而用工具结果约束生成,降低闭卷幻觉。做完不等于结束——还要 评估做得好不好,把 教训 记下来,下次 带着教训重试,反思作为 记忆,影响后续尝试的策略。工作流程:Action → Evaluation → Reflection → Retry。A: 普通 CoT 只在。

剑雨巍巍的博客 235

【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端

上一篇讲了 MCP 的概念:标准协议、三大角色、M+N 替代 M×N。

nice_lcj520的博客 534

AI 应用开发工程师技术实践:大模型接入、通用组件封装与性能优化

本文提出AI应用从PoC到生产的核心挑战:模型调用的持续可用、可控与可优化。通过构建统一LLM网关实现多供应商路由与故障转移,封装对话、工具调用与RAG组件以解耦业务逻辑,结合前缀缓存、批处理与流式背压治理等性能优化手段,形成“接通→接稳→接快”的工程路径,最终以工程化能力决定AI应用的生产可用性。

2301_79189962的博客 588

终端 AI 审计与 “龙虾” 类智能体风险治理:从可见性到闭环溯源

生成式 AI 办公普及之后,数据泄露风险逐步下沉到终端。员工将合同、源代码、客户资料粘贴至公有大模型,以及龙虾(OpenClaw)这类本地开源 AI 智能体的滥用,成为企业安全新挑战。传统网络边界防护存在审计盲区,本文从风险链路拆解、核心能力模型、分级治理策略、落地踩坑点以及技术局限性多角度,分享终端侧 AI 安全治理的实践思路。

2401_86491085的博客 665

抽象主义人工智能和生命体AI的内在联系

彭军辉提出“抽象主义人工智能”作为第四大AI范式,批判符号主义、连接主义、行为主义剥离生命本体的误区,确立“智能是现象,生命是本体”的核心公理。主张原生智能必须依附具备存续诉求的生命本体,提出“生命体AI理论”,构建七层演化阶梯与自闭环工程框架,强调智能不可跳过底层存续机制直接模拟语言。该体系为生成式AI提供科学边界,推动从“仿真表象”向“原生智能”的范式跃迁,开辟硅基人工生命新赛道。

抽象主义人工智能和生命体AI 131

OpenClaw 深度调查:把 AI 助手做成你自己的控制平面

对 openclaw/openclaw 的完整技术尽调:Gateway 架构、Agent 运行时、工具与沙箱、30 个消息通道、181 个插件、安全信任边界、工程代价与采用建议。17 章 / 10 张图,全部数字标注口径,数据截至 2026-10-31。

厚积薄发 257
上一篇: 【干货收藏】揭秘多智能体:如何让多个专业AI协作,解决单体大模型的痛点
下一篇: RAG系统文档解析工具精选指南:从知识图谱到多模态处理,收藏这篇就够了!
不秃头de程序猿
博客等级 码龄5年 4089粉丝 1478原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值