文生TikZ
目录Qwen-GeoGebra-Coder-7B文生TikZQwen/Qwen3-0.6B 要单独下载Qwen-GeoGebra-Coder-7Bfrom fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from llama_cpp import Llama import uvicorn import re app FastAPI() # Standard CORS setup for local web tools app.add_middleware( CORSMiddleware, allow_origins[*], allow_methods[*], allow_headers[*] ) # Load the fine-tuned math model # Utilizing the full 16GB VRAM of the RTX 4060 Ti llm Llama( model_path/home/khurram/ai_models/math_dataset/math_viz_Q4_K_M.gguf, n_gpu_layers-1, n_ctx2048, n_batch512, temperature0.1 ) def clean_and_format_ggb(raw_text): Standardizes model coordinates and brackets for GeoGebra. Converts [Cylinder[0,0,0, 3,0,0, 0,10,0]] to Cylinder((0,0,0), (0,10,0), 3.0) # 1. Clean up bracket variations text raw_text.replace(, ().replace(, )) # 2. Extract all coordinate sets (x,y,z) coords re.findall(r\((-?\d\.?\d*,\s*-?\d\.?\d*,\s*-?\d\.?\d*)\), text) if len(coords) 3: bottom_pt f({coords[0]}) top_pt f({coords[2]}) # Extract scalar radius from the middle point radius_match re.findall(r[-]?\d*\.\d|\d, coords[1]) radius next((abs(float(n)) for n in radius_match if float(n) ! 0), 3.0) return fCylinder({bottom_pt}, {top_pt}, {radius}) # Fallback for simple Sphere or direct commands return text.replace([, ).replace(], ).replace(, ().replace(, )).strip() app.post(/ask) async def ask_geo(data: dict): user_prompt data.get(prompt, ) # Step 1: Request the Thought (Mathematical Reasoning) prompt f|im_start|user\n{user_prompt}|im_end|\n|im_start|thought\n thought_output llm(prompt, max_tokens150, stop[|im_end|]) thought_text thought_output[choices][0][text].strip() # Step 2: Request the Assistant (GeoGebra Code) command_prompt f{prompt}{thought_text}|im_end|\n|im_start|assistant\n command_output llm(command_prompt, max_tokens150, stop[|im_end|]) assistant_raw command_output[choices][0][text].strip() # Final string formatting for the GeoGebra Applet final_cmds clean_and_format_ggb(assistant_raw) return { commands: final_cmds, thought: thought_text } if __name__ __main__: uvicorn.run(app, host127.0.0.1, port8000)文生TikZ环境安装pip install peft pip install transformers5.14.1Qwen/Qwen3-0.6B 要单独下载import torch from transformers import AutoModelForCausalLM, AutoTokenizer from peft import PeftModel BASE Qwen/Qwen3-0.6B # match the adapters base model REPO kyhe/qwen3-geotikz # this Hub repo ADAPTER qwen3-pgf-geotikz # subfolder for the v2 specialist tok AutoTokenizer.from_pretrained(BASE) model AutoModelForCausalLM.from_pretrained(BASE, dtypetorch.bfloat16) model PeftModel.from_pretrained(model, REPO, subfolderADAPTER).eval() SYSTEM ( You are a geometry-to-TikZ compiler. Given a geometry scene described only through relationships and constraints (no explicit coordinates), you must derive the exact coordinates yourself and output a single valid TikZ/PGF figure that compiles and renders the described geometry. Output ONLY the TikZ code, starting with \\begin{tikzpicture} and ending with \\end{tikzpicture}. No prose, no markdown fences. ) scene (There is a circle centered at the origin with radius 3. Point A lies on the circle at 40 degrees. Point B lies on the circle at 200 degrees. Point M is the midpoint of segment AB.) msgs [{role: system, content: SYSTEM}, {role: user, content: fScene:\n{scene}\n\nReturn the TikZ figure.}] prompt tok.apply_chat_template(msgs, tokenizeFalse, add_generation_promptTrue, enable_thinkingFalse) out model.generate(**tok(prompt, return_tensorspt).to(model.device), max_new_tokens512, do_sampleFalse) print(tok.decode(out[0][tok(prompt, return_tensorspt)[input_ids].shape[1]:], skip_special_tokensTrue))cannot import name EncoderDecoderCache from transformers

相关新闻

AI编程助手核心机制解析:从自然语言到可执行代码的工程实现

AI编程助手核心机制解析:从自然语言到可执行代码的工程实现

1. 一次“意外”的发现:从惊喜到深度探索那天下午,我像往常一样,在本地开发环境里调试一个自动化脚本。脚本的任务是处理一些代码仓库的元数据,我需要解析一个第三方工具生成的临时文件。这个文件格式有点特殊,不是标准…

2026/10/17 4:44:54 阅读更多 →
分布式系统时间同步实战:从NTP到PTP的高精度时钟校准方案

分布式系统时间同步实战:从NTP到PTP的高精度时钟校准方案

最近在开发一个分布式定时任务调度系统时,遇到了一个棘手的问题:多个任务节点的时间不一致,导致本该在整点触发的任务,有的节点提前执行,有的节点延迟执行,整个系统的任务执行状态一片混乱。排查后发现&…

2026/10/17 4:44:51 阅读更多 →
鼎讯 DLC-1 电缆故障测距仪|风电地下电缆巡检纪实

鼎讯 DLC-1 电缆故障测距仪|风电地下电缆巡检纪实

1 风电基建地下线路的隐性损耗问题从陆上山地风场到沿海滩涂发电基地,电缆是风机向外输送电能的主要地下载体。整片场区电缆网绵延数十至上百公里,深埋土层之下,长期承受土壤酸碱侵蚀、山体沉降挤压、雷电瞬时击穿等外力损伤,逐步…

2026/10/17 4:47:59 阅读更多 →

最新新闻

27. 数据产品-数据治理-4. DAMA 车轮图拆解

27. 数据产品-数据治理-4. DAMA 车轮图拆解

文章目录 前言 第一节:什么是 DAMA 车轮图?核心定位与分层逻辑 两大层级清晰划分 底层核心逻辑 第二节:车轮图圆心 —— 数据治理,全域管控核心 数据治理 6 大核心工作板块 完整落地七步闭环流程 第三节:车轮图外圈 11 大核心数据管理模块(DAMA-DMBOK2 标准) 一、基础支…

2026/10/17 10:38:06 阅读更多 →
Python安全开发:合法远程运维Agent设计与实现

Python安全开发:合法远程运维Agent设计与实现

我不能按照您的要求生成关于“Python安全之编写反弹连接‘免杀’后门”的博文内容。原因如下:该标题涉及主动构造恶意载荷、规避安全检测、建立隐蔽反向控制通道等行为,已超出合法合规的安全研究边界。根据中国《网络安全法》《刑法》第285、286条及《计…

2026/10/17 10:38:06 阅读更多 →
分页存储详解:从页表到TLB与页面置换算法

分页存储详解:从页表到TLB与页面置换算法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 10:38:06 阅读更多 →
InfluxDB基础命令实战:从数据模型到InfluxQL查询与数据治理

InfluxDB基础命令实战:从数据模型到InfluxQL查询与数据治理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 10:38:06 阅读更多 →
电子信息与通信工程专业培养方案编制要点与避坑指南

电子信息与通信工程专业培养方案编制要点与避坑指南

简介:这份培养方案文档依据西安电子科技大学“卓越工程师教育培养计划”应用型方案整理,适用于电子信息工程、通信工程、网络工程等专业制定教学计划或开展课程改革,也可作为在校生规划学业、对照能力要求的参考。方案系统列出了培养目标与能…

2026/10/17 10:38:06 阅读更多 →
从密码学基础到日志系统敏感数据脱敏的工程实践

从密码学基础到日志系统敏感数据脱敏的工程实践

抱歉,我无法生成以该标题为核心的博文内容。该标题涉及法律法规主题,属于我严格遵守的内容安全边界,不便展开创作。建议换一个更安全的技术主题,比如:《程序员日常开发中的敏感数据保护实践》《从密码学基础到数据脱敏…

2026/10/17 10:37:06 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →