AI辅助编程 - Deepseek

截止目前,据网络评论认为 Deepseek-R1、DeepSeek V3 是最好的开源AI辅助编程模型,开源不限于个人和商业使用场景。 DeepSeek各版本说明与优缺点分析_deepseek各版本区别 DeepSeek剖析:与国际知名 AI 模型的全方位对比 AI辅助编程:Cursor与DeepSeek Coder的巅峰对决 但是最近Deepseek放出一条消息:Due to current server resource constraints, we have temporarily suspended API service recharges to prevent any potential impact on your operations. Existing balances can still be used for calls. We appreciate your understanding! 可能它最近太火爆了,结果流量太大,没有接住,服务器资源不够,于是被限制使用,业务多到接不过来。 安装使用方案 在线使用 依赖网络实时连接 VSCode+Cline+DeepSeek-V3 Cursor+DeepSeek DeepSeek Coder 最简单使用方法 IDE trae海外版,其中内置了满血版 DeepSeek R1、V3、claude等目前业内最好的数学和编程模型,关键是免费,财大气粗的字节跳动开发的,截止2025年3月,只有英文和日文版,得到好评。 中文版发布迟于海外版,面向中国大陆用户,奇怪的是被网友吐槽很多。 IDE Vscode+ Cody + Claude 截止2025年3月,个人用户月费9欧元,大多数时候都蛮好用,偶尔抽筋宕机,通常也是资源不够用的缘故,可能是小团队小成本制作。 离线使用 本地部署,搭建本地私有知识库 llama+Deepseek 满血版的硬件配置要求太高,选择蒸馏版虽然能在个人电脑上跑,但是性能弱鸡,参考: 盘点本地部署满血deepseek-r1的各种硬件配置方案 所以,最好的方案还是付费寻找就近的云计算资源,例如通过Megaease部署满血版deepseek到最近的裸机上,关键问题是,我一个人用不完,如何将一台机器的资源分享给其他人,也就是多余的计算资源卖掉。

2025-2-18 · 1 分钟 · Atom.X

AI模型Token和各种字符的换算计量方法

AI模型中,Token和各种字符之间的数量兑换是如何计算的? 可以简述为基本为1:1的关系,一个token对应一个字符,包括中文、英文、或其他各种符号。 在不同的AI模型中,Token数量与中文简体字、英文字词、数学符号和各种键盘符号数量之间的兑换关系可以有所不同。Token 是自然语言处理模型中的一个基本单位,它可以是一个字符、一个单词或一个子词。以下是一些常见的兑换关系: 英文字词(English Words) 通常,一个简单的英文单词(如“cat”、“dog”)对应一个 Token。 复杂的单词或不常见的单词可能会分成多个 Token。 中文简体字(Chinese Simplified Characters) 一个汉字通常对应一个 Token,例如,“你好”会被分成两个 Token。 但是,如果使用的是基于字词的模型,一个词语(如“北京”)也可能被视为一个 Token。 数学符号(Mathematical Symbols) 数学符号通常每个符号对应一个 Token。例如,“+”、“-”、“=”、“∫” 等。 各种键盘符号(Keyboard Symbols) 键盘符号(如标点符号、特殊字符)通常每个符号对应一个 Token。例如,“@”、“#”、“$”、“&” 等。 示例 假设你有以下文本: 英文:“Hello, world!” 中文:“你好,世界!” 数学:“x = y + z” 键盘符号:“@#$%^&*()” Token分解结果可能如下: 英文:“Hello, world!” -> [“Hello”, “,”, “world”, “!”] -> 4 Tokens 中文:“你好,世界!” -> [“你”, “好”, “,”, “世”, “界”, “!”] -> 6 Tokens 数学:“x = y + z” -> [“x”, “=”, “y”, “+”, “z”] -> 5 Tokens ...

2025-2-16 · 1 分钟 · Atom.X

翻译项目需求概述

适用于多语言版本的博客或网页文档翻译 开发程序语言:python,给程序逐行写英文注释; API:Google Cloud Translation API,使用高级翻译模型; 备注:此前尝试调用 Google Translation API 的NMT基础模型,可能它不识别文档格式的语法标记,导致被翻译后的文件格式混乱。为了避免这种情况,需要使用更先进的翻译模型,能够理解和保留文档格式; 源语言:此为源文件内容的人类自然语言版本(语言标签),程序应能自动识别源语言类别,也可在程序中定义默认源语言; 语言标签: Translation API 的多语种翻译功能使用 BCP 47 语言标签作为输入和输出的语言标识符,主要组成部分是ISO 639 标准中的语言代码,和ISO 3166 标准中的地区代码,例如 zh-TW 台湾正体、zh-CN 中文简体。 目标语言:把源文件内容翻译成我们想要的其他人类自然语言版本,文件的目录名称定义了目标语言,例如目录名 en 英文,de 德文。目录名并不一定与语言标签完全一致,例如目录zhs中文简体(语言标签 zh-CN ),en英文(不区分en-US美国英语 和 en-GB英国英语); 源文件目录中可能有多级子目录、子文件等等,程序应该能识别并逐个检索并完成全部文件的翻译; 全部的目标语言目录及其文件结构与源语言目录保持一致,文件名也都是一样的,仅仅是目录名(en,de,zhs)不同。 本项目处理多语言版本的博客文件,在目标语言目录中持续有新的源语言文件,程序应跳过已经翻译成目标语言的文件,仅仅翻译新的源语言文件。例如en目录中大部分都是英文版本内容的文件,但是持续有源语言zh-TW的文件被添加进去,每次运行程序将其批量翻译成目标语言en。 程序会直接将翻译后的内容覆盖到目标语言目录中对应的源语言文件中,而不需要从源语言目录中复制文件到目标语言目录中。 文件格式 源文件格式:根据文件名后缀判断文件格式,如.md, .yaml, .xml等等。例如文件名以.md结尾,filename.md,属于markdown格式; 多格式并存:可能需要同时处理多种混合格式的文件,但是为了提高效率,我们尽可能每次只处理同一种格式文件; 自动检测文件格式:确保翻译模型能理解不同格式的语法标记,根据格式类型选择相应的处理方案,能保留源文件格式,这是最重要的翻译模型能力; 特别注意事项 文件格式的语法标记是不可翻译的,例如md文件中带有markdown格式标记,必须保留翻译后的文件与源文件相同的格式; 引用圣经、名言、人名、地名、图书、电影名称、汉语成语和寓言等应该保留一份原文的源语言,同时一份对应翻译的目标语言; 文件目录名、文件名不要翻译,因为作为最终网页url的一部分,应始终保持其英文语言版本; 问题 本项目所选用的翻译模型能有效识别并保留源文件的格式(例如markdown,YAML等待)吗? 若翻译模型能识别大部分的文件格式标记,那么我们就没必要采用复杂的文件格式解析库,因为我们翻译后的文件依然保留原文件的格式标记,所以仅仅是翻译了有必要翻译的文本内容。 翻译模型能识别出哪些文本是待翻译的内容?哪些部分引用的文本应该保持原文不翻译呢?例如我们把英文圣经和经典句子翻译成中文,那么应该保留一份原文,同时翻译一份中文对照。 c++也能做本项目开发,但相比较python而言,更复杂; 调用 Translation API 并选用高级模型,是否需要先设置endpoint,并在Google Cloud控制台中进行特殊配置?如何简单高效地调用API,提供配置和调用的最佳实践。

2024-12-11 · 1 分钟 · Atom.X

C++程序设计

原课程链接:C++程序设计 cplusplus.com 教材《新标准 c++程序设计》 郭炜, 清华大学 w11. C++11 新特性 auto 自动变量类型 decltype 关键字,求表达式类型 shared_ptr 智能指针 nullptr 空指针 基于范围的for循环 右值引用和move语义 unordered_map 无序容器(哈希表) regex 正则表达式 Lambda 表达式 强制类型转换 static_cast、interpret_cast const_cast和dynamic_cast C++异常处理基础:try、throw、catch 意外异常(unexpected exception) 动态内存管理的异常处理 new w9. STL - 质因数数目 container adapter 容器适配器 (让已有的顺序容器以栈/队列的方式工作) stack queue priority_queue member function push top pop 参考案例:github/ PKUC3/ 3.10.1.4.cpp map/ multimap map 容器中,关键字key是唯一的,值value可以重复。 multimap 容器中,关键字和值都可以重复。 set/ multiset set 容器中,元素是唯一的,按其值自动排序,而非插入顺序。 添加新对象时会比较对象的大小,set 是一个基于红黑树实现的容器,它会自动将元素按照特定的顺序存储,通常是使用元素的 < 操作符来进行比较和排序。 set 容器的迭代器支持双向迭代,可以使用++,- - 移动迭代器,但不支持随机访问,所以不能进行 i+1 的操作; ...

2024-3-12 · 8 分钟 · Atom.X

数列 Array

Week 10 array function #include<iostream> #include<cmath> using namespace std; /* looking for prime within 100. Sieve of Eratosthenes algorithm */ int main() { int sum=0, a[100]={0}; for(int i=2;i<sqrt(100.0);i++) // outer loop for i[2,9] { sum=i; while(sum<100)// inner loop for sum[2,99] { sum=sum+i; if(sum<100) a[sum]=1; // why = ? } } for(int i=2;i<100;i++) { if(a[i]==0)cout<<i<<" "; // why == ? } cout<<""<<endl; return 0; } when a[i] = {9, 15} , how could we calculate and remove it from the array a[n]? ...

2023-12-28 · 1 分钟 · Atom.X