开源Agent框架全景图2026

2026年Agent开源生态概览 如果说2024年是Agent框架的"寒武纪大爆发",那2026年就是生态收敛和成熟的一年。经过两年的优胜劣汰,一批优秀框架脱颖而出,同时新的工具在特定垂直领域不断涌现。 全栈Agent框架 LangGraph / LangChain 定位:最全面的Agent开发框架 核心能力: 图结构的工作流定义 丰富的工具和集成(500+) LangSmith可观测性平台 LangServe部署服务 适用场景:需要复杂控制流的企业级Agent应用 成熟度:★★★★★ 社区活跃度:★★★★★ 学习曲线:陡峭 CrewAI 定位:简洁直观的多Agent协作框架 核心能力: 角色驱动的Agent定义 串行和层级执行模式 简洁的API设计 内置多种工具集成 适用场景:快速原型、内容创作、研究分析 成熟度:★★★★☆ 社区活跃度:★★★★☆ 学习曲线:平缓 AutoGen (Microsoft) 定位:对话式多Agent协作框架 核心能力: 灵活的Agent对话模式 人类在环支持 可扩展的Agent类型系统 Code execution环境 适用场景:研究探索、代码生成、需要人类反馈的场景 成熟度:★★★★☆ 社区活跃度:★★★☆☆ 学习曲线:中等 专用Agent工具 MCP生态 定位:Agent工具连接标准协议 2026年的MCP生态已经相当丰富: 官方Server:文件系统、数据库、GitHub、Slack等40+ 社区Server:邮件、ERP、CRM等200+ MCP SDK:Python、TypeScript、Go、Rust Dify 定位:LLM应用开发平台 核心能力: 可视化Workflow编辑器 RAG管道内置 Agent编排 模型管理和路由 适用场景:低代码LLM应用开发,非技术用户友好 LlamaIndex 定位:数据驱动的Agent框架 核心能力: 强大的数据连接器 多种索引结构 查询引擎 Agent模块 适用场景:以数据检索为核心的Agent应用 Agent基础设施 可观测性 LangSmith:LangChain生态的监控平台,支持Trace、评估、A/B测试 Phoenix:Arize开源的LLM可观测性工具 Langfuse:开源的LLM工程平台,支持追踪和评估 评估 DeepEval:开源的LLM评估框架,支持多种评估指标 Promptfoo:Prompt测试和评估工具 RAGAS:RAG系统专用评估框架 ...

2026-07-12 · 1 min · 183 words · 硅基 AGI 探索者
AI命令行工具

2026 AI命令行工具集:终端中的AI力量

引言 命令行是开发者最自然的工作环境。2026年,AI命令行工具已经从简单的"命令行聊天"发展为一个完整的工具生态,涵盖代码生成、文档查询、数据处理、系统管理等多个领域。本文将介绍2026年最实用的AI命令行工具。 工具一:aichat — 终端AI助手 # 安装 cargo install aichat # 基本使用 aichat "解释什么是Rust的所有权机制" # 多模型支持 aichat -m glm-5 "你好" aichat -m claude-4-opus "写一个函数" # 管道使用 cat error.log | aichat "分析这个错误日志" 配置 # ~/.config/aichat/config.yaml model: glm-5 api_base: http://localhost:11434/v1 temperature: 0.7 max_tokens: 2048 models: glm-5: provider: ollama model: glm-5:32b gpt-5: provider: openai model: gpt-5 工具二:shell-genie — 自然语言命令 # 安装 pip install shell-genie # 自然语言转命令 shell-genie ask "找出当前目录下最大的10个文件" # 输出: du -ah . | sort -rh | head -10 # 执行? [Y/n] # 解释命令 shell-genie explain "awk '{print $2}' file.txt | sort -u" # 输出: 提取file.txt的第二列,排序并去重 工具三:commit-assistant — AI提交助手 # 安装 npm install -g ai-commit # 自动生成提交信息 git add . ai-commit # 输出: "feat: 添加用户认证模块,支持JWT和OAuth2" # 指定风格 ai-commit --style conventional # Conventional Commits ai-commit --style zh # 中文提交 工具四:code-review-cli — 代码审查 # 安装 pip install ai-code-review # 审查当前改动 git diff | ai-code-review # 输出: # 🔴 严重问题:SQL注入风险(第23行) # 🟡 建议:添加错误处理(第45行) # 🟢 良好实践:使用了参数化查询 # 审查特定文件 ai-code-review src/auth.py 工具五:ai-docs — 文档生成 # 安装 pip install ai-docs # 从代码生成文档 ai-docs generate src/ # 输出: 自动生成API文档 # 从README生成API文档 ai-docs api --input README.md --output api-docs.md # 生成变更日志 ai-docs changelog --from v1.0.0 --to v2.0.0 工具六:translate-cli — 翻译工具 # 安装 pip install ai-translate # 翻译文本 translate "Hello, world" --to zh # 你好,世界 # 翻译文件 translate --file README.md --to zh --output README_ZH.md # 实时翻译管道 echo "Hello" | translate --to ja 工具七:ai-sql — SQL助手 # 安装 pip install ai-sql # 自然语言转SQL ai-sql "查询上个月销售额前10的产品" # SELECT product_name, SUM(quantity * price) as total_sales # FROM orders # WHERE created_at >= DATE_SUB(NOW(), INTERVAL 1 MONTH) # GROUP BY product_name # ORDER BY total_sales DESC # LIMIT 10; # 解释SQL ai-sql explain "SELECT ... FROM ..." # 这个查询的作用是... # 优化SQL ai-sql optimize "SELECT ... FROM ..." # 建议:添加索引 idx_user_id_created_at 工具八:ai-data — 数据分析 # 安装 pip install ai-data # 分析CSV ai-data analyze sales.csv # 输出: # 数据概览:1000行×15列 # 缺失值:3列有缺失 # 异常值:5个 # 趋势分析:销售额呈上升趋势 # 建议:考虑填充缺失的price列 # 数据可视化 ai-data plot sales.csv --x date --y amount --type line 工具九:ai-test — 测试生成 # 安装 npm install -g ai-test-gen # 生成单元测试 ai-test generate src/auth.py # 输出: tests/test_auth.py # 生成测试用例 ai-test cases "用户注册流程" # 输出: # 1. 正常注册 # 2. 重复用户名 # 3. 无效邮箱 # 4. 密码过短 # ... 工具十:ai-grep — 语义搜索 # 安装 pip install ai-grep # 语义搜索代码 ai-grep "处理用户认证的代码" # 输出: # src/auth/login.py:15 - def authenticate(username, password): # src/middleware/auth.py:8 - class AuthMiddleware: # src/api/users.py:32 - @require_auth # 语义搜索文档 ai-grep --type docs "如何部署" # 输出: # docs/deployment.md:1 - # 部署指南 # README.md:45 - ## 快速部署 工具十一:aichat-config — 多模型管理 # 模型切换 aichat config set model glm-5 aichat config set model gpt-5 # 查看可用模型 aichat models # 模型对比 aichat compare "写一个快排" --models glm-5,gpt-5,claude-4 工具十二:ai-explain — 代码解释 # 安装 pip install ai-explain # 解释代码 ai-explain src/complex_algorithm.py # 输出: # 这个文件实现了Dijkstra最短路径算法 # 主要函数:find_shortest_path(graph, start, end) # 时间复杂度:O((V+E)logV) # 解释命令 ai-explain "tar -xzvf archive.tar.gz" # 解压.tar.gz格式的压缩包 组合使用 工作流:代码开发 # 1. 用自然语言搜索代码 ai-grep "用户登录逻辑" # 2. 查看并解释代码 ai-explain src/auth.py # 3. 生成测试 ai-test generate src/auth.py # 4. 审查改动 git diff | ai-code-review # 5. 生成提交信息 ai-commit 工作流:数据分析 # 1. 分析数据 ai-data analyze sales.csv # 2. 生成SQL查询 ai-sql "查询月度销售趋势" # 3. 可视化 ai-data plot sales.csv --x month --y total --type bar 工作流:文档编写 # 1. 从代码生成文档 ai-docs generate src/ # 2. 翻译文档 translate --file docs/api.md --to en # 3. 生成变更日志 ai-docs changelog 自定义工具 # 创建自定义AI命令 #!/bin/bash # ~/.local/bin/ai-debug ERROR=$1 aichat "作为调试专家,分析以下错误并给出解决方案:$ERROR" 性能优化 # 使用本地模型(零成本) export AI_CHAT_MODEL=ollama:glm-5:32b # 使用缓存 export AI_CACHE_ENABLED=true # 异步处理 ai-data analyze big.csv --async 安全注意 # 不要将敏感数据发送到云端AI # 使用本地模型处理敏感代码 ai-grep "密码" --model local-only # 或使用数据脱敏 ai-data analyze customers.csv --anonymize 结语 2026年的AI命令行工具已经非常丰富,覆盖了开发的各个环节。这些工具让AI成为开发者的"第二大脑",在终端中即可完成代码搜索、生成、审查、测试等工作。 ...

2026-07-02 · 3 min · 593 words · 硅基 AGI 探索者
LocalAI自托管

LocalAI 2026自托管指南:完全掌控你的AI

引言 LocalAI是一个完全开源的AI服务框架,提供OpenAI兼容的API,让你可以在自己的硬件上运行AI服务。2026年,LocalAI已经成为替代OpenAI API最完整的方案。本文将详细介绍LocalAI的自托管部署。 LocalAI核心特性 OpenAI兼容API:直接替换OpenAI API,无需修改代码 多模型支持:LLM、嵌入、图像生成、语音识别、TTS 多后端:llama.cpp、vLLM、Diffusers等 多架构:x86、ARM、Apple Silicon 无GPU依赖:支持CPU推理 部署指南 Docker部署 docker run -d \ --name localai \ -p 8080:8080 \ -v localai-models:/models \ -v localai-data:/data \ -e MODELS_PATH=/models \ -e THREADS=8 \ --gpus all \ localai/localai:latest Docker Compose version: '3.8' services: localai: image: localai/localai:latest ports: - "8080:8080" volumes: - ./models:/models - ./data:/data environment: - MODELS_PATH=/models - THREADS=8 - GPU_TYPE=nvidia deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] restart: always 从源码编译 git clone https://github.com/mudler/LocalAI cd LocalAI make build 模型配置 LLM模型 # models/glm-5.yaml name: glm-5 backend: llama parameters: model: glm-5-32b.gguf temperature: 0.7 top_p: 0.9 max_tokens: 2048 context_size: 8192 gpu_layers: 35 # GPU加速层数 嵌入模型 # models/bge-large-zh.yaml name: bge-large-zh backend: bert parameters: model: bge-large-zh-v2.gguf 图像生成模型 # models/sd4.yaml name: stable-diffusion-4 backend: diffusers parameters: model: stabilityai/stable-diffusion-4 device: cuda TTS模型 # models/cosyvoice.yaml name: cosyvoice backend: cosyvoice parameters: model: cosyvoice-300m API使用 OpenAI兼容 from openai import OpenAI # 只需修改base_url client = OpenAI( base_url="http://localhost:8080/v1", api_key="not-needed" # LocalAI不需要API key ) # 对话 response = client.chat.completions.create( model="glm-5", messages=[{"role": "user", "content": "你好"}] ) # 嵌入 embedding = client.embeddings.create( model="bge-large-zh", input="要嵌入的文本" ) # 图像生成 image = client.images.generate( model="stable-diffusion-4", prompt="一只可爱的猫" ) 直接API调用 # 对话 curl http://localhost:8080/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "glm-5", "messages": [{"role": "user", "content": "你好"}] }' # 嵌入 curl http://localhost:8080/v1/embeddings \ -H "Content-Type: application/json" \ -d '{ "model": "bge-large-zh", "input": "要嵌入的文本" }' 集成方案 与LangChain集成 from langchain_openai import ChatOpenAI llm = ChatOpenAI( base_url="http://localhost:8080/v1", api_key="not-needed", model="glm-5" ) 与LlamaIndex集成 from llama_index.llms.openai import OpenAI llm = OpenAI( base_url="http://localhost:8080/v1", api_key="not-needed", model="glm-5" ) 性能优化 GPU加速 # 模型配置中启用GPU parameters: gpu_layers: 35 # 使用GPU的层数 device: cuda 并发配置 # 环境变量 THREADS=8 # CPU线程数 PARALLEL_REQUESTS=4 # 并行请求数 量化配置 parameters: quantize: q4_K_M # INT4量化 高级功能 1. 模型自动加载 # 启动时自动加载模型 PRELOAD_MODELS=glm-5,bge-large-zh 2. 请求队列 # 管理并发请求 queue: max_size: 100 timeout: 300 3. 模型卸载 # 自动卸载空闲模型 GALLERIES_AUTO_LOAD=false IDLE_UNLOAD_TIMEOUT=300 # 5分钟后卸载 4. 多GPU parameters: tensor_parallel_size: 4 gpu_memory_fraction: 0.9 监控 健康检查 curl http://localhost:8080/health # {"status":"ok","models":["glm-5","bge-large-zh"]} 模型列表 curl http://localhost:8080/v1/models 性能指标 curl http://localhost:8080/metrics # Prometheus格式指标 与Ollama对比 特性 LocalAI Ollama API兼容 OpenAI完全兼容 自定义API 模型格式 GGUF/SafeTensors/ONNX GGUF 嵌入支持 ✓ ✓ 图像生成 ✓ ✗ TTS ✓ ✗ CPU推理 ✓ ✓ 多后端 ✓ llama.cpp 易用性 中等 简单 功能丰富度 ★★★★★ ★★★☆☆ 使用场景 场景一:企业内网AI服务 # 部署在内网 docker run -d -p 8080:8080 \ -v /data/models:/models \ -e MODELS_PATH=/models \ localai/localai:latest 场景二:开发测试环境 # 替代OpenAI API进行开发测试 export OPENAI_API_BASE=http://localhost:8080/v1 export OPENAI_API_KEY=not-needed 场景三:边缘设备 # 在树莓派上运行 docker run -d -p 8080:8080 \ -v /models:/models \ -e THREADS=4 \ localai/localai:latest-cpu 结语 LocalAI在2026年已经成为功能最全面的自托管AI服务框架。它不仅兼容OpenAI API,还支持图像生成、TTS等多种AI能力。对于需要完全掌控AI基础设施的团队,LocalAI是最佳选择。 ...

2026-07-02 · 2 min · 405 words · 硅基 AGI 探索者
Open WebUI部署

Open WebUI 2026部署:打造你的私有ChatGPT

引言 Open WebUI是2026年最流行的自托管AI对话界面,提供了类似ChatGPT的体验,但完全在你的控制之下。配合Ollama等本地推理引擎,可以构建一个功能完整、数据私有的AI对话平台。本文将详细介绍Open WebUI的部署和使用。 为什么选择Open WebUI 核心优势 完全私有:数据不离开你的服务器 功能丰富:多模型支持、RAG、多用户、插件系统 界面友好:ChatGPT级别的用户体验 开源免费:无API费用 高度可定制:主题、提示、模型均可自定义 部署方案 方案一:Docker单机部署 # 最简单的部署 docker run -d -p 3000:8080 \ --add-host=host.docker.internal:host-gateway \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:main 方案二:Docker Compose version: '3.8' services: ollama: image: ollama/ollama:latest ports: - "11434:11434" volumes: - ollama_data:/root/.ollama deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] open-webui: image: ghcr.io/open-webui/open-webui:main ports: - "3000:8080" environment: - OLLAMA_BASE_URL=http://ollama:11434 - WEBUI_AUTH=true - ENABLE_RAG=true - ENABLE_OCR=true volumes: - webui_data:/app/backend/data depends_on: - ollama restart: always # 可选:向量数据库 chromadb: image: chromadb/chroma:latest ports: - "8000:8000" volumes: - chroma_data:/chroma/chroma volumes: ollama_data: webui_data: chroma_data: 方案三:Kubernetes部署 apiVersion: apps/v1 kind: Deployment metadata: name: open-webui spec: replicas: 1 template: spec: containers: - name: open-webui image: ghcr.io/open-webui/open-webui:main ports: - containerPort: 8080 env: - name: OLLAMA_BASE_URL value: "http://ollama-service:11434" - name: WEBUI_AUTH value: "true" resources: requests: memory: "2Gi" cpu: "1000m" --- apiVersion: v1 kind: Service metadata: name: open-webui spec: type: LoadBalancer ports: - port: 80 targetPort: 8080 核心功能配置 多模型管理 # 在WebUI中配置模型 models: - name: "GLM-5" ollama_model: "glm-5:32b" description: "中文最强模型" - name: "DeepSeek-V4" ollama_model: "deepseek-v4:671b" description: "开源代码之王" - name: "Qwen3 7B" ollama_model: "qwen3:7b" description: "轻量快速模型" RAG配置 # RAG设置 rag_config = { "embedding_model": "bge-large-zh", "chunk_size": 500, "chunk_overlap": 50, "top_k": 5, "reranker": "bge-reranker-v2", "vector_db": "chromadb" } 在WebUI中: ...

2026-07-02 · 3 min · 468 words · 硅基 AGI 探索者
LlamaIndex指南

LlamaIndex 2026指南:数据驱动的LLM应用

引言 LlamaIndex是专注于"将私有数据连接到LLM"的框架。2026年的LlamaIndex已经从简单的RAG工具发展为一个完整的数据驱动LLM应用平台。本文将全面介绍LlamaIndex 2026的使用。 核心概念 数据连接器 from llama_index.readers import ( PDFReader, WebPageReader, NotionReader, GitHubReader, DatabaseReader ) # 多种数据源 documents = PDFReader().load_data("report.pdf") web_docs = WebPageReader().load_data(["https://example.com"]) db_docs = DatabaseReader(uri="postgresql://...").load_data("SELECT * FROM articles") 索引 from llama_index.core import VectorStoreIndex, SummaryIndex, TreeIndex # 向量索引(最常用) vector_index = VectorStoreIndex.from_documents(documents) # 摘要索引(适合长文档) summary_index = SummaryIndex.from_documents(documents) # 树索引(适合层次化数据) tree_index = TreeIndex.from_documents(documents) # 关键词索引 from llama_index.core import KeywordTableIndex keyword_index = KeywordTableIndex.from_documents(documents) 查询引擎 # 基本查询 query_engine = vector_index.as_query_engine(similarity_top_k=5) response = query_engine.query("什么是AI?") # 流式查询 streaming_engine = vector_index.as_query_engine(streaming=True) response = streaming_engine.query("什么是AI?") for text in response.response_gen: print(text, end="") # 子问题查询 from llama_index.core.tools import QueryEngineTool from llama_index.core.query_engine import SubQuestionQueryEngine tools = [ QueryEngineTool.from_defaults( query_engine=vector_index, name="文档查询", description="查询内部文档" ) ] sub_engine = SubQuestionQueryEngine.from_defaults(query_engine_tools=tools) response = sub_engine.query("比较文档A和文档B的观点") 2026年新特性 1. LlamaCloud from llama_index.cloud import LlamaCloud # 云端索引管理 cloud = LlamaCloud(api_key="...") index = cloud.create_index( name="my-index", documents=documents, embed_model="bge-large-zh" ) 2. Agent支持 from llama_index.agent import FunctionAgent agent = FunctionAgent( tools=[ query_engine_tool, web_search_tool, code_execution_tool ], llm="gpt-5", system_prompt="你是一个研究助手..." ) response = agent.chat("分析最新的AI趋势并生成报告") 3. 工作流 from llama_index.workflow import Workflow, step class RAGWorkflow(Workflow): @step def retrieve(self, ctx, query): documents = self.retriever.retrieve(query) ctx.data["documents"] = documents return ctx @step def generate(self, ctx): response = self.llm.complete( prompt=ctx.data["query"], context=ctx.data["documents"] ) return response workflow = RAGWorkflow() result = await workflow.run("什么是AI?") 4. 多模态 from llama_index.multi_modal import MultiModalIndex # 多模态索引 mm_index = MultiModalIndex.from_documents( documents=[text_docs, image_docs, table_docs] ) RAG最佳实践 分块策略 from llama_index.core.node_parser import ( SentenceSplitter, SemanticSplitter, HierarchicalNodeParser ) # 句子分割 splitter = SentenceSplitter(chunk_size=500, chunk_overlap=50) # 语义分割 splitter = SemanticSplitter( embed_model=embed_model, buffer_size=1, breakpoint_percentile_threshold=95 ) # 层次化分割 splitter = HierarchicalNodeParser.from_defaults( chunk_sizes=[2048, 512, 128] # 三级层次 ) 检索优化 from llama_index.core.retrievers import ( VectorIndexRetriever, BM25Retriever, QueryFusionRetriever ) # 混合检索 vector_retriever = VectorIndexRetriever(index=vector_index, similarity_top_k=10) bm25_retriever = BM25Retriever.from_defaults(index=vector_index, similarity_top_k=10) fusion_retriever = QueryFusionRetriever( retrievers=[vector_retriever, bm25_retriever], num_queries=3, # 查询扩展 mode="reciprocal_rerank" ) 重排序 from llama_index.core.postprocessor import SentenceTransformerRerank reranker = SentenceTransformerRerank( model="bge-reranker-v2", top_n=5 ) query_engine = vector_index.as_query_engine( similarity_top_k=20, # 先检索20个 node_postprocessors=[reranker] # 重排序取5个 ) 上下文增强 from llama_index.core.indices.query.schema import QueryBundle # 查询重写 class QueryRewriter: def rewrite(self, query): prompt = f"将以下查询重写为更清晰的表述:\n{query}" return llm.complete(prompt).text # 在查询前重写 rewritten = QueryRewriter().rewrite("AI怎么样") response = query_engine.query(QueryBundle(rewritten)) 评估 from llama_index.core.evaluation import ( FaithfulnessEvaluator, RelevancyEvaluator, CorrectnessEvaluator ) # 评估RAG效果 faithfulness = FaithfulnessEvaluator(llm=eval_llm) relevancy = RelevancyEvaluator(llm=eval_llm) # 评估单个查询 faith_result = faithfulness.evaluate_response( query=query, response=response ) # faith_result.passing: True/False 部署 API服务 from llama_index.core.server import LlamaIndexServer server = LlamaIndexServer( query_engine=query_engine, port=8000 ) server.start() 批量处理 import asyncio async def batch_query(queries): tasks = [query_engine.aquery(q) for q in queries] results = await asyncio.gather(*tasks) return results 结语 LlamaIndex在2026年仍然是数据驱动LLM应用的首选框架。它的数据连接器丰富、索引类型多样、查询引擎灵活,特别适合需要处理大量私有数据的场景。 ...

2026-07-02 · 2 min · 393 words · 硅基 AGI 探索者
Haystack RAG

Haystack 2026 RAG实践:企业级检索增强生成

引言 Haystack是deepset开发的企业级NLP框架,在RAG领域有着深厚积累。2026年的Haystack已经发展成为一个完整的RAG解决方案框架。本文将分享Haystack在RAG实践中的经验。 Haystack 2026架构 Pipeline设计 from haystack import Pipeline from haystack.components.embedders import OllamaEmbedder from haystack.components.retrievers import ChromaRetriever from haystack.components.generators import OpenAIGenerator # 构建RAG Pipeline pipe = Pipeline() # 添加组件 pipe.add_component("embedder", OllamaEmbedder(model="bge-large-zh")) pipe.add_component("retriever", ChromaRetriever(top_k=5)) pipe.add_component("generator", OpenAIGenerator(model="gpt-5")) # 连接组件 pipe.connect("embedder.embedding", "retriever.query_embedding") pipe.connect("retriever.documents", "generator.documents") 文档处理 from haystack.components.converters import PDFToDocument, MarkdownToDocument from haystack.components.preprocessors import DocumentSplitter, DocumentCleaner # 文档转换pipeline indexing = Pipeline() # 转换器 indexing.add_component("pdf_converter", PDFToDocument()) indexing.add_component("md_converter", MarkdownToDocument()) # 预处理 indexing.add_component("cleaner", DocumentCleaner()) indexing.add_component("splitter", DocumentSplitter( split_by="word", split_length=500, split_overlap=50 )) # 嵌入 indexing.add_component("embedder", OllamaEmbedder(model="bge-large-zh")) indexing.add_component("writer", ChromaDocumentWriter()) # 连接 indexing.connect("pdf_converter.documents", "cleaner.documents") indexing.connect("cleaner.documents", "splitter.documents") indexing.connect("splitter.documents", "embedder.documents") indexing.connect("embedder.documents", "writer.documents") RAG优化实践 实践一:混合检索 from haystack.components.retrievers import ( ChromaRetriever, # 稠密检索 BM25Retriever # 稀疏检索 ) from haystack.components.joiners import DocumentJoiner # 混合检索pipeline hybrid_pipe = Pipeline() # 稠密检索 hybrid_pipe.add_component("dense_embedder", OllamaEmbedder(model="bge-large-zh")) hybrid_pipe.add_component("dense_retriever", ChromaRetriever(top_k=20)) # 稀疏检索 hybrid_pipe.add_component("sparse_retriever", BM25Retriever(top_k=20)) # 融合 hybrid_pipe.add_component("joiner", DocumentJoiner(join_mode="reciprocal_rank_fusion")) # 重排序 hybrid_pipe.add_component("reranker", SentenceTransformersRanker(model="bge-reranker-v2", top_k=5)) 实践二:查询扩展 from haystack.components.generators import OpenAIGenerator # 查询扩展组件 class QueryExpander: def __init__(self, llm): self.llm = llm def expand(self, query): prompt = f"请将以下查询扩展为3个不同表述:\n{query}" response = self.llm.run(prompt) return parse_queries(response) def run(self, query): expanded = self.expand(query) return {"queries": expanded} # 在pipeline中使用 pipe.add_component("expander", QueryExpander(llm=OpenAIGenerator())) 实践三:分块策略优化 from haystack.components.preprocessors import DocumentSplitter # 语义分块(基于段落) splitter = DocumentSplitter( split_by="paragraph", split_length=1, split_overlap=0 ) # 滑动窗口分块 splitter = DocumentSplitter( split_by="word", split_length=300, split_overlap=50 # 50词重叠 ) # 基于标题的分块 class HeadingBasedSplitter: def split(self, document): # 按Markdown标题分块 sections = re.split(r'^#+\s', document.content, flags=re.MULTILINE) return [Document(content=s.strip()) for s in sections if s.strip()] 实践四:上下文管理 # 上下文窗口管理 class ContextWindowManager: def __init__(self, max_tokens=4000): self.max_tokens = max_tokens def select_context(self, documents, query): """选择最相关的上下文,不超过token限制""" selected = [] token_count = 0 for doc in documents: doc_tokens = count_tokens(doc.content) if token_count + doc_tokens > self.max_tokens: # 截断最后一个文档 remaining = self.max_tokens - token_count if remaining > 100: # 至少100 token才包含 doc.content = doc.content[:remaining] selected.append(doc) break selected.append(doc) token_count += doc_tokens return selected 实践五:答案溯源 # 带来源标注的生成 class SourcedGenerator: def __init__(self, llm): self.llm = llm def run(self, query, documents): # 构造带来源编号的提示 context = "" for i, doc in enumerate(documents): context += f"[{i+1}] {doc.content}\n\n" prompt = f""" 基于以下参考信息回答问题。在回答中标注信息来源。 参考信息: {context} 问题:{query} 回答格式:答案内容[来源编号] """ response = self.llm.run(prompt) return {"answer": response} 企业级功能 权限控制 class AccessControlledRetriever: def __init__(self, retriever, acl): self.retriever = retriever self.acl = acl # 访问控制列表 def run(self, query, user_id): # 检索 documents = self.retriever.run(query) # 过滤:只返回用户有权限的文档 accessible = [ doc for doc in documents if self.acl.has_access(user_id, doc.metadata.get("doc_id")) ] return {"documents": accessible} 多租户 class MultiTenantStore: def __init__(self): self.stores = {} # tenant_id -> vector_store def get_store(self, tenant_id): if tenant_id not in self.stores: self.stores[tenant_id] = ChromaStore( collection_name=f"tenant_{tenant_id}" ) return self.stores[tenant_id] 缓存 from haystack.components.cachers import CacheChecker pipe.add_component("cache_checker", CacheChecker( cache_store=RedisCache(), cache_key="{{query}}" )) 2026年新特性 1. 多模态RAG from haystack.components.embedders import CLIPEmbedder # 图文混合RAG pipe.add_component("image_embedder", CLIPEmbedder()) pipe.add_component("text_embedder", OllamaEmbedder(model="bge-large-zh")) 2. 自适应检索 class AdaptiveRetriever: """根据查询复杂度自适应选择检索策略""" def run(self, query): complexity = self.assess_complexity(query) if complexity == "simple": return self.simple_retrieve(query) elif complexity == "medium": return self.hybrid_retrieve(query) else: return self.multi_hop_retrieve(query) 3. 评估集成 from haystack.components.evaluators import ( FaithfulnessEvaluator, AnswerRelevanceEvaluator, ContextRelevanceEvaluator ) # 在pipeline末尾加入评估 pipe.add_component("faithfulness", FaithfulnessEvaluator()) pipe.add_component("relevance", AnswerRelevanceEvaluator()) 性能对比 框架 索引速度 检索延迟 RAG准确率 功能丰富度 Haystack ★★★★☆ ★★★★☆ ★★★★★ ★★★★★ LlamaIndex ★★★★★ ★★★★☆ ★★★★☆ ★★★★☆ LangChain ★★★☆☆ ★★★☆☆ ★★★☆☆ ★★★★★ 结语 Haystack在2026年仍然是企业级RAG的首选框架。其Pipeline架构清晰、组件丰富、可扩展性强,特别适合需要精细控制RAG流程的企业应用。 ...

2026-07-02 · 3 min · 494 words · 硅基 AGI 探索者
CrewAI生产实践

CrewAI生产实践2026:打造AI梦之队

引言 CrewAI以其简洁的API和角色扮演式多智能体设计,在2026年获得了大量生产用户。与AutoGen相比,CrewAI更注重"团队协作"的自然性。本文将分享CrewAI在生产环境中的实践经验。 CrewAI核心概念 Crew(团队) 一个Crew由多个Agent组成,每个Agent有特定角色、目标和工具。 Agent(成员) from crewai import Agent, Task, Crew, Process researcher = Agent( role='市场研究员', goal='收集和分析市场数据', backstory='你是一位有10年经验的市场研究专家,擅长数据分析和趋势预测。', tools=[search_tool, analytics_tool], llm='gpt-5', verbose=True ) writer = Agent( role='技术写作专家', goal='将研究结果转化为清晰的报告', backstory='你是一位资深技术写作专家,擅长将复杂数据转化为易懂的报告。', llm='claude-4-opus', verbose=True ) editor = Agent( role='内容编辑', goal='确保报告质量和一致性', backstory='你是一位严谨的编辑,对细节和质量有极高要求。', llm='gpt-5', verbose=True ) Task(任务) research_task = Task( description='研究2026年AI市场趋势,重点关注LLM和Agent领域。', agent=researcher, expected_output='一份包含数据和分析的市场研究报告', context=[] ) writing_task = Task( description='基于研究报告,撰写一篇2000字的行业分析文章。', agent=writer, expected_output='一篇2000字的文章', context=[research_task] # 依赖研究任务的输出 ) editing_task = Task( description='审核并修改文章,确保准确性和可读性。', agent=editor, expected_output='最终版文章', context=[writing_task] ) Crew(组建团队) crew = Crew( agents=[researcher, writer, editor], tasks=[research_task, writing_task, editing_task], process=Process.sequential, # 顺序执行 verbose=True ) result = crew.kickoff() 2026年新特性 1. 流程类型 # 顺序流程 crew = Crew(agents=agents, tasks=tasks, process=Process.sequential) # 层级流程(有管理者) crew = Crew( agents=agents, tasks=tasks, process=Process.hierarchical, manager_llm='gpt-5' ) # 自定义流程 from crewai.process import CustomProcess class MyProcess(CustomProcess): def run(self, crew, tasks): # 自定义执行逻辑 pass 2. 工具集成 from crewai.tools import tool @tool("搜索网络") def search(query: str) -> str: """搜索互联网获取最新信息""" return web_search(query) @tool("执行代码") def execute_code(code: str) -> str: """执行Python代码并返回结果""" return exec_python(code) @tool("读取文件") def read_file(path: str) -> str: """读取本地文件""" with open(path) as f: return f.read() 3. 记忆系统 crew = Crew( agents=agents, tasks=tasks, memory=True, # 启用记忆 memory_config={ "provider": "chroma", # 向量数据库 "embedder": "bge-large-zh", "long_term": True, "short_term": True } ) 4. 人机协作 from crewai import HumanInput # 在关键步骤加入人工审核 task = Task( description='生成营销文案', agent=writer, human_input=HumanInput( enabled=True, check_every=1, # 每步都检查 prompt="请审核以上内容,输入修改意见或'approve'确认。" ) ) 生产实践经验 实践一:角色设计 # 好的角色设计 good_agent = Agent( role='资深安全审计员', # 具体角色 goal='发现代码中的安全漏洞并提供修复建议', # 明确目标 backstory='''你是一位有15年经验的网络安全专家, 曾在Google和腾讯安全团队工作,精通OWASP Top 10漏洞 和安全编码最佳实践。''', # 丰富背景 tools=[code_analyzer, vulnerability_db], llm='gpt-5' ) # 不好的角色设计 bad_agent = Agent( role='助手', # 太模糊 goal='帮忙', # 不明确 backstory='你是一个AI助手。' # 太简单 ) 实践二:任务分解 # 好的任务分解:颗粒度适中 tasks = [ Task(description='分析需求文档,提取功能点', agent=analyst), Task(description='为每个功能点设计测试用例', agent=test_designer), Task(description='编写自动化测试脚本', agent=test_engineer), Task(description='执行测试并生成报告', agent=test_runner), ] # 不好的任务分解:太粗 tasks = [ Task(description='做测试', agent=tester), # 太笼统 ] 实践三:错误处理 from crewai import CrewError try: result = crew.kickoff() except CrewError as e: print(f"Crew执行失败:{e}") # 降级处理 result = fallback_process() # Agent级别错误处理 class SafeAgent(Agent): def execute_task(self, task): try: return super().execute_task(task) except Exception as e: return f"任务执行失败:{e}。请重试或调整策略。" 实践四:成本控制 # 根据任务复杂度选择模型 researcher = Agent( role='研究员', llm='deepseek-v4', # 研究用便宜模型 max_iter=5 ) writer = Agent( role='作家', llm='claude-4-opus', # 写作用高质量模型 max_iter=3 ) # 设置预算上限 crew = Crew( agents=[researcher, writer], tasks=tasks, max_cost=1.0, # 最大花费$1 ) 实践五:质量保证 # 添加质量检查Agent quality_checker = Agent( role='质量检查员', goal='确保输出质量达到标准', backstory='你是一位严格的质量检查专家。', llm='gpt-5' ) quality_task = Task( description='检查最终输出的质量,评分并给出改进建议。', agent=quality_checker, expected_output='质量评分报告' ) # 在流程末尾加入质量检查 crew = Crew( agents=[researcher, writer, editor, quality_checker], tasks=[research_task, writing_task, editing_task, quality_task] ) 部署方案 API服务 from fastapi import FastAPI from crewai import Crew app = FastAPI() @app.post("/analyze") async def analyze(topic: str): crew = create_research_crew(topic) result = crew.kickoff() return {"result": result} @app.post("/analyze/stream") async def analyze_stream(topic: str): crew = create_research_crew(topic) async for chunk in crew.kickoff_stream(): yield chunk 异步执行 import asyncio async def run_crews_concurrently(topics): crews = [create_research_crew(topic) for topic in topics] results = await asyncio.gather(*[crew.kickoff_async() for crew in crews]) return results 监控与调试 from crewai import CrewMonitor monitor = CrewMonitor() @monitor.trace def run_crew(crew, input_data): result = crew.kickoff(inputs=input_data) return result # 查看执行详情 monitor.print_summary() # 包括:每个Agent的执行时间、token消耗、输出质量 应用场景 场景一:内容生产 # 内容生产团队 content_crew = Crew( agents=[ Agent(role='选题策划', ...), Agent(role='资料收集', ...), Agent(role='内容撰写', ...), Agent(role='排版编辑', ...), Agent(role='SEO优化', ...), ], tasks=[...], process=Process.sequential ) 场景二:代码审查 # 代码审查团队 review_crew = Crew( agents=[ Agent(role='代码审查员', tools=[read_file, code_analyzer]), Agent(role='安全审计员', tools=[vulnerability_scanner]), Agent(role='性能分析师', tools=[profiler]), Agent(role='报告生成者'), ], tasks=[...] ) 场景三:数据分析 # 数据分析团队 data_crew = Crew( agents=[ Agent(role='数据工程师', tools=[sql_tool, python_tool]), Agent(role='数据分析师', tools=[statistical_tool]), Agent(role='可视化专家', tools=[chart_tool]), Agent(role='报告撰写者'), ], tasks=[...] ) 结语 CrewAI在2026年已经成为生产环境中最流行的多智能体框架之一。它的角色扮演式设计让AI协作变得自然直观,丰富的工具集成和记忆系统让它能胜任复杂的实际任务。 ...

2026-07-02 · 3 min · 531 words · 硅基 AGI 探索者
AutoGen多智能体

AutoGen 2026多智能体:协作AI的新范式

引言 多智能体(Multi-Agent)是2026年AI应用的热门方向。微软的AutoGen框架是这一领域的领军者,它让多个AI智能体协作完成复杂任务成为可能。本文将全面介绍AutoGen 2026的最新进展。 AutoGen 2026核心概念 多智能体协作模式 模式一:对话式协作 Agent A ←→ Agent B (两个Agent通过对话解决问题) 模式二:层级式协作 Manager Agent ├── Worker Agent 1 ├── Worker Agent 2 └── Worker Agent 3 (管理者分配任务给工作者) 模式三:流水线协作 Agent A → Agent B → Agent C (每个Agent处理一个阶段) 模式四:竞争式协作 Agent A ↘ Agent B → Judge Agent Agent C ↗ (多个Agent竞争,裁判选择最佳) 基本使用 双Agent对话 from autogen import AssistantAgent, UserProxyAgent # 创建用户代理 user_proxy = UserProxyAgent( name="user", human_input_mode="TERMINATE", max_consecutive_auto_reply=10 ) # 创建助手 assistant = AssistantAgent( name="assistant", system_prompt="你是一个Python编程助手。", llm_config={"model": "gpt-5"} ) # 开始对话 user_proxy.initiate_chat( assistant, message="帮我写一个快速排序算法" ) 多Agent协作 from autogen import AssistantAgent, GroupChat, GroupChatManager # 创建多个专家Agent coder = AssistantAgent( name="coder", system_prompt="你是一个Python程序员,负责写代码。", llm_config={"model": "gpt-5"} ) reviewer = AssistantAgent( name="reviewer", system_prompt="你是一个代码审查专家,负责检查代码质量。", llm_config={"model": "claude-4-opus"} ) tester = AssistantAgent( name="tester", system_prompt="你是一个测试工程师,负责编写测试用例。", llm_config={"model": "gpt-5"} ) # 创建群聊 group_chat = GroupChat( agents=[coder, reviewer, tester], messages=[], max_round=20 ) manager = GroupChatManager( groupchat=group_chat, llm_config={"model": "gpt-5"} ) # 开始协作 user_proxy.initiate_chat( manager, message="实现一个LRU缓存,包括代码、审查和测试" ) 2026年新特性 1. Agent Workflow from autogen import Workflow # 定义工作流 workflow = Workflow() # 添加节点 workflow.add_node("researcher", research_agent) workflow.add_node("writer", writing_agent) workflow.add_node("editor", editing_agent) # 定义流程 workflow.add_edge("researcher", "writer") workflow.add_edge("writer", "editor") workflow.add_edge("editor", "writer", condition="needs_revision") # 执行 result = workflow.run("写一篇关于AI的科普文章") 2. Agent工具 from autogen import register_function # 注册工具 @register_function("search") def search_web(query: str) -> str: """搜索网络""" return web_search(query) @register_function("code_exec") def execute_code(code: str) -> str: """执行Python代码""" return exec_python(code) # Agent可以使用这些工具 agent = AssistantAgent( name="tool_agent", tools=["search", "code_exec"], llm_config={"model": "gpt-5"} ) 3. 可观测性 from autogen import trace # 追踪Agent交互 with trace("my_conversation"): user_proxy.initiate_chat(assistant, message="...") # 查看追踪 trace.visualize() # 生成交互图 4. 持久化 from autogen import save_state, load_state # 保存对话状态 save_state(assistant, "agent_state.pkl") # 加载状态继续对话 assistant = load_state("agent_state.pkl") user_proxy.initiate_chat(assistant, message="继续之前的对话") 应用场景 场景一:软件开发 # 多Agent协作开发软件 product_manager = AssistantAgent( name="PM", system_prompt="你是产品经理,负责需求分析和项目规划。" ) architect = AssistantAgent( name="Architect", system_prompt="你是架构师,负责技术设计。" ) developer = AssistantAgent( name="Developer", system_prompt="你是开发者,负责编码实现。" ) qa = AssistantAgent( name="QA", system_prompt="你是测试工程师,负责质量保证。" ) team = GroupChat( agents=[product_manager, architect, developer, qa], max_round=50 ) 场景二:研究报告 # 多Agent协作写研究报告 researcher = AssistantAgent( name="Researcher", system_prompt="你是研究员,负责收集和分析资料。" ) analyst = AssistantAgent( name="Analyst", system_prompt="你是分析师,负责数据分析和可视化。" ) writer = AssistantAgent( name="Writer", system_prompt="你是技术写作专家,负责撰写报告。" ) editor = AssistantAgent( name="Editor", system_prompt="你是编辑,负责审核和修改。" ) 场景三:客服系统 # 分层Agent客服 triage_agent = AssistantAgent( name="Triage", system_prompt="你是客服分流Agent,判断问题类型并路由。" ) tech_agent = AssistantAgent( name="Tech", system_prompt="你是技术支持Agent。" ) billing_agent = AssistantAgent( name="Billing", system_prompt="你是计费问题Agent。" ) 性能优化 并行执行 # 多Agent并行工作 import asyncio async def parallel_agents(): tasks = [ agent1.ainvoke("任务1"), agent2.ainvoke("任务2"), agent3.ainvoke("任务3") ] results = await asyncio.gather(*tasks) return results 成本控制 # 根据任务复杂度选择模型 def select_model(task_complexity): if task_complexity == "simple": return "gpt-5o-mini" elif task_complexity == "medium": return "gpt-5o" else: return "gpt-5" 与其他框架对比 特性 AutoGen CrewAI LangGraph 多Agent ★★★★★ ★★★★☆ ★★★☆☆ 工作流 ★★★★☆ ★★★★★ ★★★★★ 可观测性 ★★★☆☆ ★★★☆☆ ★★★★★ 学习曲线 中等 低 高 适合场景 复杂协作 角色扮演 图式流程 结语 AutoGen在2026年仍然是多智能体协作的首选框架。它让多个AI智能体像人类团队一样协作,各司其职,共同完成复杂任务。随着Agent工作流和可观测性的增强,AutoGen正在从实验性框架走向生产级工具。 ...

2026-07-02 · 2 min · 419 words · 硅基 AGI 探索者
LangChain演进

LangChain 2026演进:从框架到平台

引言 LangChain从2022年的一个LLM调用库,发展到2026年的完整AI应用平台。LangGraph、LangSmith、LangServe构成了LangChain生态系统。本文将全面介绍2026年LangChain的演进。 LangChain 2026架构 LangChain生态系统 ├── LangChain (核心库) │ ├── Models (模型抽象) │ ├── Prompts (提示管理) │ ├── Chains (链式调用) │ ├── Agents (智能体) │ ├── Memory (记忆) │ ├── Retrievers (检索器) │ └── Tools (工具集) ├── LangGraph (Agent编排) │ ├── State Graph (状态图) │ ├── Checkpointing (检查点) │ └── Human-in-loop (人机协作) ├── LangSmith (可观测性) │ ├── Tracing (追踪) │ ├── Evaluation (评估) │ └── Monitoring (监控) └── LangServe (部署) ├── API Server └── Streaming (流式) LangChain核心库 模型抽象 from langchain_community.llms import Ollama from langchain_openai import ChatOpenAI from langchain_anthropic import ChatAnthropic # 统一接口,不同后端 models = { "gpt5": ChatOpenAI(model="gpt-5"), "claude4": ChatAnthropic(model="claude-4-opus"), "glm5": Ollama(model="glm-5:32b"), } # 统一调用 for name, model in models.items(): response = model.invoke("你好") print(f"{name}: {response.content}") 提示管理 from langchain.prompts import ChatPromptTemplate # 提示模板 prompt = ChatPromptTemplate.from_messages([ ("system", "你是一个{role}。"), ("human", "{question}") ]) # 链式调用 chain = prompt | model | output_parser response = chain.invoke({"role": "数学老师", "question": "1+1=?"}) RAG from langchain_community.embeddings import OllamaEmbeddings from langchain_community.vectorstores import Chroma from langchain.text_splitter import RecursiveCharacterTextSplitter # 文档处理 splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50) chunks = splitter.split_text(document) # 嵌入和存储 embeddings = OllamaEmbeddings(model="bge-large-zh") vectorstore = Chroma.from_texts(chunks, embeddings) # RAG链 retriever = vectorstore.as_retriever(search_kwargs={"k": 5}) rag_chain = ( {"context": retriever, "question": RunnablePassthrough()} | prompt | model | output_parser ) LangGraph 2026年最重要的Agent编排工具: ...

2026-07-02 · 3 min · 522 words · 硅基 AGI 探索者
vLLM社区

vLLM 2026社区进展:高性能推理引擎的进化

引言 vLLM是2026年最流行的高性能LLM推理引擎。从PagedAttention到连续批处理,vLLM不断创新推理优化技术。本文将全面介绍2026年vLLM社区的最新进展。 vLLM 2026核心特性 PagedAttention 2.0 vLLM的招牌技术,2026年升级到2.0: 虚拟内存管理:更高效的KV Cache管理 碎片消除:几乎零内存碎片 吞吐量提升:比v1提升30% 连续批处理 from vllm import LLM, SamplingParams llm = LLM(model="glm-5-32b") # 连续批处理 prompts = ["问题1", "问题2", "问题3", ...] sampling_params = SamplingParams(temperature=0.7, max_tokens=500) outputs = llm.generate(prompts, sampling_params) 多模态支持 # 支持视觉模型 llm = LLM(model="qwen3-vl-72b") # 图像输入 from vllm.multimodal import ImageFeature outputs = llm.generate( prompts=[{"text": "描述这张图", "image": image_feature}] ) 分布式推理 # 张量并行 llm = LLM( model="deepseek-v4-671b", tensor_parallel_size=4, pipeline_parallel_size=2 ) # 流水线并行 llm = LLM( model="deepseek-v4-671b", pipeline_parallel_size=8 ) 2026年新特性 1. Speculative Decoding(投机解码) # 用小模型加速大模型 llm = LLM( model="glm-5-32b", speculative_model="glm-5-air-6b", # 投机模型 num_speculative_tokens=5 ) # 吞吐量提升2-3倍 2. 量化推理 # INT4量化推理 llm = LLM( model="glm-5-32b", quantization="awq", dtype="float16" ) # GPTQ量化 llm = LLM( model="qwen3-72b", quantization="gptq" ) 3. LoRA动态加载 # 同时服务多个LoRA适配器 llm = LLM( model="glm-5-32b", enable_lora=True, max_loras=16, max_lora_rank=64 ) # 每个请求使用不同的LoRA outputs = llm.generate( prompts=[ {"prompt": "问题1", "lora_request": LoRARequest("lora_1", 1, "path/to/lora1")}, {"prompt": "问题2", "lora_request": LoRARequest("lora_2", 2, "path/to/lora2")}, ] ) 4. 语法引导生成 # 约束输出为JSON from vllm.sampling_params import SamplingParams, GuidedDecodingParams sampling_params = SamplingParams( guided_decoding=GuidedDecodingParams( json={"type": "object", "properties": {"name": {"type": "string"}}} ) ) 5. 模型组成 # 工具调用+推理+生成 llm = LLM( model="glm-5-32b", enable_auto_tool_choice=True, tool_call_parser="glm" ) 性能基准 吞吐量对比(tokens/s) 模型 vLLM TGI llama.cpp Triton GLM-5 32B (A100×4) 2850 2100 850 1800 Qwen3 72B (A100×8) 1920 1450 520 1300 Llama4 8B (A100×1) 4500 3800 2100 3200 延迟对比 模型 vLLM P50 vLLM P95 TGI P95 GLM-5 32B 0.8s 2.1s 3.5s Qwen3 7B 0.2s 0.5s 0.8s 部署指南 Docker部署 # 简单部署 docker run --gpus all -p 8000:8000 \ vllm/vllm-openai:latest \ --model glm-5-32b \ --tensor-parallel-size 4 # 带OpenAI兼容API docker run --gpus all -p 8000:8000 \ vllm/vllm-openai:latest \ --model glm-5-32b \ --openai-api-key sk-vllm Kubernetes部署 apiVersion: apps/v1 kind: Deployment metadata: name: vllm-glm5 spec: replicas: 2 template: spec: containers: - name: vllm image: vllm/vllm-openai:latest args: - --model=glm-5-32b - --tensor-parallel-size=4 resources: limits: nvidia.com/gpu: 4 ports: - containerPort: 8000 API服务 # OpenAI兼容API from openai import OpenAI client = OpenAI( base_url="http://localhost:8000/v1", api_key="sk-vllm" ) response = client.chat.completions.create( model="glm-5-32b", messages=[{"role": "user", "content": "你好"}] ) 社区生态 贡献者 2026年vLLM社区有: ...

2026-07-02 · 2 min · 363 words · 硅基 AGI 探索者
鲁ICP备2026018361号