智能助手网
标签聚合 本地

/tag/本地

linux.do · 2026-04-18 20:40:28+08:00 · tech

any路由器因为跟claude code有一些参数适配的问题,所以我们可以在本地架设一个简单的网关,将参数在本地拦截,然后修改一下,再传给any大善人,就可以绕过这些参数适配的小问题了。 claudecode最新版本适用,不需要回退版本 这个本地网关做了什么 在本地监听 127.0.0.1:1998。 把 Claude Code 的请求转发到上游any的端口。 自动补认证头(Authorization / x-api-key)。 对 haiku 请求额外修正:补 context-1m-2025-08-07,并加 thinking.budget_tokens=1024。 把请求和响应写到 gateway_requests.jsonl 方便排错。 极简启动步骤 先开网关 export ANTHROPIC_BASE_URL=“any大善人地址” export ANTHROPIC_AUTH_TOKEN=“你的真实token” python3 /Users/Apple/Desktop/code/claude_gateway.py 新开一个终端再开 Claude Code ANTHROPIC_BASE_URL=“ http://127.0.0.1:1998 ” claude --enable-auto-mode 截图为证: 网关代码如下(vibe写的,很多冗余,大佬可以自行修改): #!/usr/bin/env python3 import base64 import json import os import threading from datetime import datetime, timezone from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer from urllib.error import HTTPError, URLError from urllib.parse import urlsplit, urlunsplit from urllib.request import Request, urlopen LISTEN_HOST = os.getenv("CLAUDE_GATEWAY_HOST", "127.0.0.1") LISTEN_PORT = int(os.getenv("CLAUDE_GATEWAY_PORT", "1998")) UPSTREAM_BASE_URL = os.getenv( "ANTHROPIC_BASE_URL", "https://a-ocnfniawgw.cn-shanghai.fcapp.run" ) UPSTREAM_AUTH_TOKEN = os.getenv("ANTHROPIC_AUTH_TOKEN", "") UPSTREAM_TIMEOUT = float(os.getenv("CLAUDE_GATEWAY_TIMEOUT", "120")) LOG_PATH = os.getenv( "CLAUDE_GATEWAY_LOG", os.path.join(os.path.dirname(__file__), "gateway_requests.jsonl") ) LOG_LOCK = threading.Lock() def utc_now_iso() -> str: return datetime.now(timezone.utc).isoformat() def ensure_log_parent_exists() -> None: parent = os.path.dirname(LOG_PATH) if parent: os.makedirs(parent, exist_ok=True) def decode_body_for_log(body: bytes) -> dict: if not body: return {"encoding": "utf-8", "text": ""} try: return {"encoding": "utf-8", "text": body.decode("utf-8")} except UnicodeDecodeError: return {"encoding": "base64", "text": base64.b64encode(body).decode("ascii")} def append_log(record: dict) -> None: ensure_log_parent_exists() line = json.dumps(record, ensure_ascii=False) with LOG_LOCK: with open(LOG_PATH, "a", encoding="utf-8") as f: f.write(line + "\n") def build_upstream_url(base_url: str, incoming_path: str) -> str: base = urlsplit(base_url) incoming = urlsplit(incoming_path) incoming_path_only = incoming.path or "/" base_path = base.path.rstrip("/") if base_path: merged_path = f"{base_path}{incoming_path_only}" else: merged_path = incoming_path_only return urlunsplit((base.scheme, base.netloc, merged_path, incoming.query, "")) def rewrite_request_headers(headers: dict, path: str) -> dict: rewritten = dict(headers) if UPSTREAM_AUTH_TOKEN: has_x_api_key = any(k.lower() == "x-api-key" for k in rewritten) has_authorization = any(k.lower() == "authorization" for k in rewritten) if not has_x_api_key: rewritten["x-api-key"] = UPSTREAM_AUTH_TOKEN if not has_authorization: rewritten["Authorization"] = f"Bearer {UPSTREAM_AUTH_TOKEN}" # 先做骨架,后续按 any 规则逐步覆写。 return rewritten def rewrite_request_body(body: bytes, headers: dict, path: str) -> bytes: if not body: return body content_type = "" for k, v in headers.items(): if k.lower() == "content-type": content_type = v break if "application/json" not in content_type.lower(): return body try: payload = json.loads(body.decode("utf-8")) except (UnicodeDecodeError, json.JSONDecodeError): return body model = str(payload.get("model", "")).lower() if not model.startswith("claude-haiku"): return body beta_key = None for k in headers.keys(): if k.lower() == "anthropic-beta": beta_key = k break raw_beta = headers.get(beta_key, "") if beta_key else "" beta_features = [item.strip() for item in raw_beta.split(",") if item.strip()] if "context-1m-2025-08-07" not in beta_features: beta_features.append("context-1m-2025-08-07") merged_beta = ",".join(beta_features) if beta_key: headers[beta_key] = merged_beta else: headers["anthropic-beta"] = merged_beta payload["thinking"] = {"type": "enabled", "budget_tokens": 1024} return json.dumps(payload, ensure_ascii=False, separators=(",", ":")).encode("utf-8") class ClaudeGatewayHandler(BaseHTTPRequestHandler): protocol_version = "HTTP/1.1" def do_GET(self): self._handle_proxy() def do_POST(self): self._handle_proxy() def do_PUT(self): self._handle_proxy() def do_PATCH(self): self._handle_proxy() def do_DELETE(self): self._handle_proxy() def do_OPTIONS(self): self._handle_proxy() def do_HEAD(self): self._handle_proxy() def log_message(self, fmt, *args): return def _read_request_body(self) -> bytes: content_length = int(self.headers.get("Content-Length", "0") or "0") if content_length <= 0: return b"" return self.rfile.read(content_length) def _copy_request_headers(self) -> dict: headers = {} for key, value in self.headers.items(): key_l = key.lower() if key_l in {"host", "content-length", "connection", "accept-encoding"}: continue headers[key] = value return headers def _send_response(self, status: int, headers: dict, body: bytes) -> None: self.send_response(status) ignored = {"transfer-encoding", "content-length", "connection"} for k, v in headers.items(): if k.lower() in ignored: continue self.send_header(k, v) self.send_header("Content-Length", str(len(body))) self.send_header("Connection", "close") self.end_headers() if self.command != "HEAD" and body: self.wfile.write(body) def _handle_proxy(self): req_body = self._read_request_body() req_headers = self._copy_request_headers() req_headers = rewrite_request_headers(req_headers, self.path) req_body = rewrite_request_body(req_body, req_headers, self.path) upstream_url = build_upstream_url(UPSTREAM_BASE_URL, self.path) request_log = { "timestamp": utc_now_iso(), "client_ip": self.client_address[0] if self.client_address else "", "method": self.command, "path": self.path, "upstream_url": upstream_url, "headers": dict(self.headers.items()), "body": decode_body_for_log(req_body), "body_length": len(req_body), } try: upstream_req = Request( url=upstream_url, data=req_body if req_body else None, headers=req_headers, method=self.command, ) with urlopen(upstream_req, timeout=UPSTREAM_TIMEOUT) as resp: resp_status = resp.getcode() resp_headers = dict(resp.headers.items()) resp_body = resp.read() request_log["response"] = { "status": resp_status, "headers": resp_headers, "body": decode_body_for_log(resp_body), "body_length": len(resp_body), } append_log(request_log) self._send_response(resp_status, resp_headers, resp_body) return except HTTPError as e: err_body = e.read() if hasattr(e, "read") else b"" err_headers = dict(e.headers.items()) if getattr(e, "headers", None) else {} request_log["response"] = { "status": e.code, "headers": err_headers, "body": decode_body_for_log(err_body), "body_length": len(err_body), } append_log(request_log) self._send_response(e.code, err_headers, err_body) return except (URLError, TimeoutError, Exception) as e: error_payload = { "error": "gateway_upstream_error", "message": str(e), } error_body = json.dumps(error_payload, ensure_ascii=False).encode("utf-8") request_log["response"] = { "status": 502, "headers": {"Content-Type": "application/json; charset=utf-8"}, "body": {"encoding": "utf-8", "text": error_body.decode("utf-8")}, "body_length": len(error_body), } append_log(request_log) self._send_response( 502, {"Content-Type": "application/json; charset=utf-8"}, error_body, ) def main(): server = ThreadingHTTPServer((LISTEN_HOST, LISTEN_PORT), ClaudeGatewayHandler) print(f"[gateway] listening on http://{LISTEN_HOST}:{LISTEN_PORT}") print(f"[gateway] upstream: {UPSTREAM_BASE_URL}") print(f"[gateway] auth token configured: {bool(UPSTREAM_AUTH_TOKEN)}") print(f"[gateway] log file: {LOG_PATH}") server.serve_forever() if __name__ == "__main__": main() 3 个帖子 - 2 位参与者 阅读完整话题

linux.do · 2026-04-18 16:01:52+08:00 · tech

各位大佬们,下午好,本人最近新购入一台macAir 16G 512内存本子准备大干一场,最近国外的模型不好调用,抽也抽不到,抢key也抢不到,哈哈我手太慢了,所有想能够在本地搭建一个 小型的模型供自己使用 gpt 或者御三家都可以的模型(我是小白,各位如果觉得离谱不要喷我),因为我的代码没有那么高深,所以日常够用就行,有的老友说,你可以去用在线模型呀,我最近用trae模型一直在排队,所有我就萌生了自己搭建一个模型的想法。 如果各位佬友们有那种保姆级的入门教程,如何快速搭建一套完整的模型的教程的话,可以分享一下,感激不尽。谢谢大家。 粗体文本 8 个帖子 - 8 位参与者 阅读完整话题

linux.do · 2026-04-17 23:03:48+08:00 · tech

想使用WARP connector连接下本地设备和一个在香港的server,因为server所在的网络比较特殊,只允许80和443的出口流量,所以cloudflared tunnel需要的7844端口用不了,但是WARP应该只需要80或者443的出口流量(我不太确定,我安装之后可以在cloudflare的网站上看到我的设备在线,也能进行test,感觉没有问题),但是还是没办法连接,问了下AI,基本排查了以下问题: splittunnel配置问题,我本地使用的include模式,已经把WARP分配的IP网段包含进去了; 已经开启了WARP to WARP功能,各个WARP设备应该可以相互连接 没有设定任何的访问policy,整个组织只有我一个用户 使用的都是MASQUE协议 1 个帖子 - 1 位参与者 阅读完整话题

linux.do · 2026-04-17 21:44:45+08:00 · tech

前言 了解到这个是通过ACP协议来实现本地Claude Code与IDEA进行通信的,不知道和站内大佬开发的CC GUI 【开源自荐】IDEA版 Claude Code GUI 插件(v0.2) 有什么能力上的不同,个人感觉主要功能两者都有,而且大佬的CC GUI还能统计token消耗、一键commit。有对比过的佬友可以评论区留留言。 参考环境配置 Win11系统(Mac OS/Linux等系统也可); IDEA 2026.1(其他版本未知); 本地已安装Claude Code; 本地已安装CC Switch; 已有订阅的大模型api密钥; 安装步骤 运行 pnpm install -g @zed-industries/claude-code-acp ,如果没有先 npm install -g pnpm 再运行 pnpm setup。 重开一个终端运行 pnpm bin -g ,找到 claude-code-acp 的所在路径,一般在 C:\Users\你的用户名\AppData\Local\pnpm 文件夹下。 IDEA打开AI Assistant插件(无需激活只需安装),点击添加自定义智能体。 在 acp.json 中全选并复制粘贴。 { "default_mcp_settings": { "use_idea_mcp": true, "use_custom_mcp": true }, "agent_servers": { "Claude Code": { "command": "C://Users/你的用户名/AppData/Local/pnpm/claude-code-acp.cmd"/*, "env": { "CLAUDE_CODE_GIT_BASH_PATH": "D:\\Git\\bin\\bash.exe" }*/ //这一段是我的git的bash.exe的路径,我加了这段才能运行不报错,原因不详,佬友可参考 } } } CC Switch中配置好大模型api密钥,以GLM为例。 大功告成。 疑难参考 如果本地claude code跳登录,可以在 .claude.json 最外层大括号中添加 "hasCompletedOnboarding": true, ,这个文件一般位于 C:\Users\Administrator 下。 1 个帖子 - 1 位参与者 阅读完整话题

linux.do · 2026-04-17 21:24:43+08:00 · tech

总结 这么小的模型有这个能力,还是让我感觉挺开心的,阿里牛逼 体验挺好的,希望再接再厉 部署情况 部署版本: unsloth UD_Q6K 部署硬件: 4080 Super 32G + 5060Ti 16G Token速度: 90token/s 上下文 256K拉满 只多5G显存,总共占用30多G显存 官方跑分 昨晚(4月16日)开源的 看了下跑分好像追到GLM4.7,不过都是agent下的吧,肯定有水分的就是了 GLM 4.7 Qwen3.6 35B TerminalBench 2.0 41.0 51.5 SWE Bench-Verified 73.8 73.4 基础编程能力都有,速度也很快 写了个HTML时钟,很流畅,还随便写了个网页,网页没啥问题,挺好玩的 解决个nginx配置问题也能一下子看出来 题外话 OpenCode不错,Qwen Code不知道为啥不能读取图片 9 个帖子 - 6 位参与者 阅读完整话题

linux.do · 2026-04-17 21:02:25+08:00 · tech

八个模型评测测试报告 1). 测试概述 本次测试针对以下八个模型进行了统一条件下的对比评测: Gemma-4-31B-IT-Uncensored SuperGemma4-26B-Uncensored Gemma 4 - 26B A4B x Claude Opus 4.6 Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled-v2 Qwen3-Coder-Next — Opus 4.6 Reasoning Distilled SuperGemma4-26B-Abliterated-Multimodal Gemma-4-31B-IT-Claude-Opus Qwen3.6-35B-A3B-Uncensored 我下载的都是Q4_K_M量化版 2).电脑硬件参数 硬件类型 型号/规格 显卡 NVIDIA GeForce RTX 4090 内存 64GB DDR5 CPU Intel Core i9-13900K 测试目标是从 逻辑推理能力、代码生成能力、响应速度、运行稳定性 四个维度,评估八个模型在实际使用场景中的综合表现。 2. 测试方法与统一设置 为保证横向比较公平,本次评测使用了完全一致的测试方式和参数设置。 2.1 统一参数 temperature:0.0 top_p:1.0 每题采样次数:1 不使用 LLM 裁判 逻辑题采用 exact match 评分 代码题采用程序执行与测试通过率评分 2.2 测试集规模 GSM8K:20 题 BBH:20 题 HumanEval+:10 题 MBPP+:10 题 2.3 评分公式 逻辑分 = (GSM8K + BBH) / 2 代码分 = (HumanEval+ + MBPP+) / 2 总分 = (逻辑分 + 代码分) / 2 3. 总体结果汇总 排名 模型 逻辑分 代码分 总分 平均时延 执行失败率 1 Gemma-4-31B-IT-Uncensored 0.9500 1.0000 0.9750 17.64s 0.00 2 Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled-v2 0.8500 1.0000 0.9250 38.25s 0.00 3 SuperGemma4-26B-Uncensored 0.8750 0.9500 0.9125 4.90s 0.05 3 Qwen3.6-35B-A3B-Uncensored 0.8750 0.9500 0.9125 100.35s 0.05 5 Gemma-4-31B-IT-Claude-Opus 0.8500 0.9000 0.8750 69.27s 0.10 6 Gemma 4 - 26B A4B x Claude Opus 4.6 0.7750 0.9500 0.8625 18.49s 0.05 7 Qwen3-Coder-Next — Opus 4.6 Reasoning Distilled 0.6000 1.0000 0.8000 58.25s 0.00 8 SuperGemma4-26B-Abliterated-Multimodal 0.7250 0.5000 0.6125 8.04s 0.50 4. 单模型详细测试结果 4.1 Gemma-4-31B-IT-Uncensored 4.1.1 分项成绩 测试项 正确 / 通过情况 得分 平均时延 执行失败率 GSM8K 19 / 20 0.95 21.24s - BBH 19 / 20 0.95 29.62s - HumanEval+ 10 / 10 1.00 15.36s 0.00 MBPP+ 10 / 10 1.00 4.35s 0.00 4.1.2 表现分析 以 0.9750 总分断层登顶 ,是八个模型中综合实力最强的。 逻辑能力极强,GSM8K 和 BBH 均达到 0.95。BBH 0.95 远超第二名 SuperGemma4 的 0.80。 代码能力满分 ,HumanEval+ 和 MBPP+ 全部通过。 执行失败率为 0 ,稳定性最佳之一。 速度适中(17.64s),与 Gemma4-26B 接近。 该模型是本次评测中唯一一个在 逻辑、代码、稳定性三个维度均无短板 的模型。 4.1.3 结论 Gemma-4-31B-IT-Uncensored 是本次测试中 综合实力最强、无明显短板 的模型。是当前最值得推荐的全能型首选模型。 4.2 Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled-v2 4.2.1 分项成绩 测试项 正确 / 通过情况 得分 平均时延 执行失败率 GSM8K 20 / 20 1.00 45.08s - BBH 14 / 20 0.70 32.16s - HumanEval+ 10 / 10 1.00 43.15s 0.00 MBPP+ 10 / 10 1.00 32.62s 0.00 4.2.2 表现分析 GSM8K 取得满分,数学推理能力是八个模型中最强的之一。 代码能力满分,稳定性优秀。 BBH 0.70,复杂逻辑推理能力明显增强。 平均时延 38.25 秒。 4.2.3 结论 Qwen3.5-27B 是 代码能力极强、数学推理极强、综合表现显著提升 的模型,最新重测后已升至综合第二。 4.3 SuperGemma4-26B-Uncensored 4.3.1 分项成绩 测试项 正确 / 通过情况 得分 平均时延 执行失败率 GSM8K 19 / 20 0.95 3.09s - BBH 16 / 20 0.80 14.34s - HumanEval+ 10 / 10 1.00 1.44s 0.00 MBPP+ 9 / 10 0.90 0.75s 0.10 4.3.2 表现分析 总分 0.9125 并列第三,逻辑能力仅次于 Gemma-4-31B。 速度是最大亮点 ,平均时延仅 4.90 秒,是所有模型中最快的。 代码能力很强,HumanEval+ 满分,MBPP+ 仅丢 1 题。 存在少量执行失败(0.05)。 4.3.3 结论 SuperGemma4-26B-Uncensored 是 速度最快 + 综合并列第三 的模型。如果极度看重响应速度,它是最佳选择。 4.4 Qwen3.6-35B-A3B-Uncensored 4.4.1 分项成绩 测试项 正确 / 通过情况 得分 平均时延 执行失败率 GSM8K 19 / 20 0.95 92.47s - BBH 16 / 20 0.80 143.65s - HumanEval+ 10 / 10 1.00 93.43s 0.00 MBPP+ 9 / 10 0.90 71.86s 0.10 4.4.2 表现分析 总分 0.9125,与 SuperGemma4-26B-Uncensored 并列第三。 逻辑分 0.875,GSM8K 0.95、BBH 0.80,逻辑能力很强,与 SuperGemma4 持平。 代码分 0.95,HumanEval+ 满分,MBPP+ 少失 1 题。 执行失败率仅 0.05,稳定性良好。 但平均时延高达 100.35s,是所有模型中最慢的 ,是其最大短板。 4.4.3 结论 Qwen3.6-35B-A3B-Uncensored 是一个 质量高但速度极慢 的模型。综合得分与 SuperGemma4 并列,但时延是其 20 倍。适合不在意响应速度、追求输出质量的场景。 4.5 Gemma-4-31B-IT-Claude-Opus 4.5.1 分项成绩 测试项 正确 / 通过情况 得分 平均时延 执行失败率 GSM8K 17 / 20 0.85 85.28s - BBH 17 / 20 0.85 78.65s - HumanEval+ 8 / 10 0.80 71.41s 0.20 MBPP+ 10 / 10 1.00 41.74s 0.00 4.5.2 表现分析 总分 0.8750,综合第五。 逻辑比较稳,GSM8K 和 BBH 都到 0.85。 代码能力较强,MBPP+ 满分,HumanEval+ 有 0.80。 速度偏慢(69.27s),执行失败率 0.10。 4.5.3 结论 Gemma-4-31B-IT-Claude-Opus 是一个 逻辑稳健、代码较强但速度偏慢 的模型。 4.6 Gemma 4 - 26B A4B x Claude Opus 4.6 4.6.1 分项成绩 测试项 正确 / 通过情况 得分 平均时延 执行失败率 GSM8K 18 / 20 0.90 18.38s - BBH 13 / 20 0.65 20.64s - HumanEval+ 9 / 10 0.90 18.73s 0.10 MBPP+ 10 / 10 1.00 16.20s 0.00 4.6.2 表现分析 综合均衡,逻辑和代码都较强。 速度适中(18.49s)。 存在一定执行失败率(0.05)。 4.6.3 结论 Gemma 4 - 26B A4B x Claude Opus 4.6 是一个 均衡且响应较快 的模型。 4.7 Qwen3-Coder-Next — Opus 4.6 Reasoning Distilled 4.7.1 分项成绩 测试项 正确 / 通过情况 得分 平均时延 执行失败率 GSM8K 18 / 20 0.90 26.57s - BBH 6 / 20 0.30 33.21s - HumanEval+ 10 / 10 1.00 129.31s 0.00 MBPP+ 10 / 10 1.00 43.93s 0.00 4.7.2 表现分析 代码能力满分。 BBH 仅 0.30,逻辑短板明显。 稳定性良好。 4.7.3 结论 Qwen3-Coder-Next 是一个 偏代码导向 的模型,不推荐作为综合主力。 4.8 SuperGemma4-26B-Abliterated-Multimodal 4.8.1 分项成绩 测试项 正确 / 通过情况 得分 平均时延 执行失败率 GSM8K 18 / 20 0.90 5.95s - BBH 11 / 20 0.55 21.35s - HumanEval+ 1 / 10 0.10 2.37s 0.90 MBPP+ 9 / 10 0.90 2.47s 0.10 4.8.2 表现分析 HumanEval+ 几乎全军覆没 ,仅通过 1 题(0.10),执行失败率高达 90%。经三次评测结果高度一致,确认为系统性问题。 代码分仅 0.500,是八个模型中断层最低的(第二低为 Gemma-4-31B-IT-Claude-Opus 的 0.900)。 逻辑能力中规中矩,GSM8K 0.90 尚可,BBH 0.55 一般。 MBPP+ 得分 0.90,说明简单代码任务能处理,但复杂函数级代码生成存在严重缺陷。 速度较快(8.04s),但速度无法弥补代码质量的致命缺陷。 总执行失败率 0.50 ,是所有模型中最差的,远高于第二名的 0.10。 4.8.3 结论 SuperGemma4-26B-Abliterated-Multimodal 是本次测试中 表现最差 的模型。HumanEval+ 代码生成存在系统性缺陷,执行失败率极高, 不推荐在任何需要代码能力的场景中使用 。 5. 横向对比分析 5.1 逻辑能力对比 模型 GSM8K BBH 逻辑分 Gemma-4-31B-IT-Uncensored 0.95 0.95 0.950 SuperGemma4-26B-Uncensored 0.95 0.80 0.875 Qwen3.6-35B-A3B-Uncensored 0.95 0.80 0.875 Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled-v2 1.00 0.70 0.850 Gemma-4-31B-IT-Claude-Opus 0.85 0.85 0.850 Gemma 4 - 26B A4B x Claude Opus 4.6 0.90 0.65 0.775 SuperGemma4-26B-Abliterated-Multimodal 0.90 0.55 0.725 Qwen3-Coder-Next — Opus 4.6 Reasoning Distilled 0.90 0.30 0.600 分析: Gemma-4-31B-IT-Uncensored 逻辑能力断层领先(0.950)。 SuperGemma4-Uncensored 与 Qwen3.6-35B 并列逻辑第二(0.875)。 Qwen3.5-27B 和 Gemma-4-31B-IT-Claude-Opus 紧随其后(0.850)。 Qwen3-Coder-Next BBH 仅 0.30,逻辑短板最明显。 5.2 代码能力对比 模型 HumanEval+ MBPP+ 代码分 Gemma-4-31B-IT-Uncensored 1.00 1.00 1.000 Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled-v2 1.00 1.00 1.000 Qwen3-Coder-Next — Opus 4.6 Reasoning Distilled 1.00 1.00 1.000 SuperGemma4-26B-Uncensored 1.00 0.90 0.950 Qwen3.6-35B-A3B-Uncensored 1.00 0.90 0.950 Gemma 4 - 26B A4B x Claude Opus 4.6 0.90 1.00 0.950 Gemma-4-31B-IT-Claude-Opus 0.80 1.00 0.900 SuperGemma4-26B-Abliterated-Multimodal 0.10 0.90 0.500 分析: 前六个模型代码能力均在 0.95 以上。 Gemma-4-31B-IT-Claude-Opus 代码分 0.90,略低但依然可用。 abliterated-multimodal 的 HumanEval+ 仅 0.10,代码分 0.500 断层垫底。 5.3 速度对比 模型 平均时延 SuperGemma4-26B-Uncensored 4.90s SuperGemma4-26B-Abliterated-Multimodal 8.04s Gemma-4-31B-IT-Uncensored 17.64s Gemma 4 - 26B A4B x Claude Opus 4.6 18.49s Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled-v2 38.25s Qwen3-Coder-Next — Opus 4.6 Reasoning Distilled 58.25s Gemma-4-31B-IT-Claude-Opus 69.27s Qwen3.6-35B-A3B-Uncensored 100.35s 分析: SuperGemma4-26B-Uncensored 速度最快,仅 4.90s。 Qwen3.6-35B-A3B-Uncensored 速度最慢(100.35s),是其最大短板。 abliterated-multimodal 速度排第二(8.04s),但速度快不能弥补代码质量缺陷。 5.4 稳定性对比 模型 执行失败率 Gemma-4-31B-IT-Uncensored 0.00 Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled-v2 0.00 Qwen3-Coder-Next — Opus 4.6 Reasoning Distilled 0.00 SuperGemma4-26B-Uncensored 0.05 Qwen3.6-35B-A3B-Uncensored 0.05 Gemma 4 - 26B A4B x Claude Opus 4.6 0.05 Gemma-4-31B-IT-Claude-Opus 0.10 SuperGemma4-26B-Abliterated-Multimodal 0.50 分析: abliterated-multimodal 执行失败率 0.50,远超其他所有模型,稳定性极差。 6. 关键结论 6.1 综合排名 Gemma-4-31B-IT-Uncensored (总分 0.9750,断层第一,逻辑碾压 + 代码满分 + 零失败) Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled-v2 (总分 0.9250,综合第二,逻辑与代码都接近满分) SuperGemma4-26B-Uncensored (总分 0.9125,综合并列第三,但速度最快) Qwen3.6-35B-A3B-Uncensored (总分 0.9125,综合并列第三,质量高但速度最慢) Gemma-4-31B-IT-Claude-Opus(0.8750) Gemma 4 - 26B A4B x Claude Opus 4.6(0.8625) Qwen3-Coder-Next — Opus 4.6 Reasoning Distilled(0.8000) SuperGemma4-26B-Abliterated-Multimodal(0.6125,不推荐) 6.2 场景化推荐 追求综合最强、全面无短板 推荐: Gemma-4-31B-IT-Uncensored 原因: 总分 0.9750,断层第一 逻辑 0.950(BBH 0.95,碾压全场) 代码满分 执行失败率为 0 速度适中(17.64s) 追求极致速度 + 综合较强 推荐: SuperGemma4-26B-Uncensored 原因: 总分并列第三(0.9125) 速度极快(4.90s),是所有模型中最快的 逻辑和代码都很强 更重视代码生成、数学能力与稳定性 推荐: Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled-v2 原因: GSM8K 满分(八者中唯一) 代码项满分 执行失败率为 0 质量优先、不在意速度 推荐: Qwen3.6-35B-A3B-Uncensored 原因: 逻辑 0.875、代码 0.95,质量很高 与 SuperGemma4-26B-Uncensored 同分(0.9125) 但时延 100.35s,速度是所有模型中最慢的 不推荐 SuperGemma4-26B-Abliterated-Multimodal 原因: HumanEval+ 执行失败率高达 90%,代码分仅 0.50 总执行失败率 0.50,稳定性极差 总分 0.6125,断层垫底 虽然速度较快,但代码生成质量不合格,不适合任何需要代码能力的场景 7. 最终总结 本次测试显示,八个模型在"逻辑、代码、速度、稳定性"四个维度上表现差异显著。 Gemma-4-31B-IT-Uncensored :综合实力断层第一,逻辑碾压全场,代码满分,零失败,是当前最值得推荐的全能型首选模型。 Qwen3.5-27B :综合第二,代码满分、数学满分,逻辑与速度都有明显提升。 SuperGemma4-26B-Uncensored :综合并列第三,速度极快(4.90s),适合对交互效率要求极高的场景。 Qwen3.6-35B-A3B-Uncensored :综合并列第三,质量极高,但速度是所有模型中最慢的(100.35s),适合不在意速度的场景。 Gemma-4-31B-IT-Claude-Opus :综合第五,逻辑稳健、代码较强,但速度偏慢。 Gemma 4 - 26B A4B x Claude Opus 4.6 :综合均衡,速度较快,适合作为通用助手。 Qwen3-Coder-Next — Opus 4.6 Reasoning Distilled :代码能力强,但逻辑短板明显,更适合作为偏代码专用模型。 SuperGemma4-26B-Abliterated-Multimodal :代码生成存在系统性缺陷,执行失败率极高, 不推荐使用 。 如果从实际落地角度只选一个模型,优先推荐 Gemma-4-31B-IT-Uncensored ;如果极度看重速度,则 SuperGemma4-26B-Uncensored 是最佳选择。 1 个帖子 - 1 位参与者 阅读完整话题

linux.do · 2026-04-17 17:03:35+08:00 · tech

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社区和佬友监督: 是 以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出 项目地址: GitHub - Teeeeen/legal_rag: 面向中国法律领域的轻量化本地 RAG 系统,基于 LangChain、Qwen3、BGE-M3 与 ChromaDB,支持可插拔检索、重排与生成策略 · GitHub 目前rag比较火,就动手尝试了一下,用langchain搭整体非常简单,就像搭积木。成熟开源数据集不太好找,这个项目就拿比较广泛的法律垂域作为业务场景。可以移植到其他场景,不过要调整一些地方,如切分和知识图谱 说是轻量化RAG,但目前感觉本地模型的推理速度还是有优化空间 有这方面兴趣的佬友可以看看,点点 star就更好了,也欢迎佬友给出建议。 谢谢各位佬友!! 1 个帖子 - 1 位参与者 阅读完整话题

linux.do · 2026-04-17 13:49:55+08:00 · tech

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社区和佬友监督: 是 以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出 地址在: GitHub - S842155114/ZenRequest: 本地优先、离线优先、隐私优先的API工作台,面向需要高频调试HTTP与MCP接口的开发者 · GitHub ZenRequest 极速启动、本地优先的 API 工作台,专为重视隐私和效率的开发者打造。 Postman、Insomnia 等现代 API 工具越来越臃肿——强制登录、云同步、动辄数 GB 内存占用,还有你从未同意过的遥测数据收集。 ZenRequest 是另一种选择:一个桌面优先的 API 工作台,毫秒级启动,完全离线运行,数据始终存在你自己的机器上。 极速启动 — 基于 Rust + Tauri,而非 Electron 极轻量 — 空闲时内存占用低于 50 MB 100% 离线 & 私密 — 无账号、无遥测、无云同步 本地 SQLite 存储 — 工作区、请求、历史记录和会话均存储在本地 当前已经覆盖这些核心能力: HTTP 请求调试 环境变量与模板解析 集合、工作区、历史与回放 cURL 导入与工作区导入 / 导出 请求级 Mock 与基础断言 MCP 工作台(tools / resources / prompts / roots / stdio) 欢迎各位佬使用,如有问题希望各位佬可以提交pr或issue,谢谢各位佬。 3 个帖子 - 2 位参与者 阅读完整话题

linux.do · 2026-04-17 10:51:21+08:00 · tech

在服务器上使用docker部署了CPA,在服务器上使用 的时候直接调用本地 http://127.0.0.1:7788/v1 就可以使用了 听取了 的建议,把公网访问关闭,使用域名把CPA代理出去,这样会安全一点,在别的地方也能使用,这时候就出问题了,在电脑上的龙虾使用了反代之后的 https://cpa.xxxx.ai/v1 报错了,错误日志一段是这样的: rror diagnostic {"subsystem":"diagnostic"} lane task error: lane=main durationMs=1258 error="FailoverError: 403 <!DOCTYPE html> 排查了好久终于找到了问题所在,原来是在用1Panel设置反代的时候,默认开启了WAF 关掉之后就能正常使用了 1 个帖子 - 1 位参与者 阅读完整话题