- 博客(85)
- 收藏
- 关注
原创 如何让通义千问大模型支持结构化输出?
之前的文章提到通义千问API无法通过with_structured_output/json schema的方式支持结构化输出,如果就是想使用通义千问大模型做结构化输出,应该怎么办呢?有两种办法。
2025-05-02 16:43:52
566
原创 如何通过日志在本地调试LangChain编写的程序?
LangSmith可以记录LangChain程序对LLM的调用,但它需要登陆LangSmith网站才能看到。有什么办法在本地就能看到详细的信息,以方便调试LangChain编写的程序吗?
2025-05-01 15:04:03
626
原创 使用通义千问大模型做结构化输出报错的分析
在文本聊天中,我们在提示词里明确写出了需要从文本中提取的属性。至此,疑惑都解开了。由此可见,虽然Langchain的存在统一了我们和大模型交互的代码实现,但各家大模型服务还是存在一定的差异的,前路漫漫啊~~按照要求添加了请求参数,修改了提示词,运行发现了新的错误(证明通义千问给出的解决方案是有效的)。随后多次运行了程序,每次运行的结果可能会有差异,总共发现了下面三种结果。这个结果也返回了我们需要的信息,而且信息通过英语返回的。从错误提示看,大模型服务端返回的信息中只有我们需要的。,但多了一个我们不需要的。
2025-04-30 17:18:18
560
原创 FastGPT部署的一些问题整理
在B站学习图灵程序员-诸葛的LangChain快速入门课程之《部署FastGPT构建本地应用》。在我学习课程跟着老师实践的过程中,踩了一些坑。这篇文章以问答的形式记录一下学习中的一些问题,主要面向的读者是,在学习同样的课程的和部署FastGPT遇到各种问题的同学。
2025-04-29 16:07:57
524
原创 Ollama能运行向量模型(embedding model)吗?
时,Ollama server会收到/api/generate的REST API请求,之后Ollama会去检查命令行中提供的模型是否具备generate的能力(capability)。向量模型是不支持文本生成能力的,所以我们自然会收到文章开头提到的错误提示了。这里补充一下,虽然One API里无法测试向量模型,使用One API仍然可以代理向量模型的使用。当我们去点击测试按钮去测试Ollama-bge-m3这个向量模型时,就会收到错误提示。的方式运行向量模型呢?方式运行向量模型的话,命令的使用应该是。
2025-04-29 11:09:06
408
原创 AI翻译LangChain实现的一点有趣思考
的LangChain入门课程《深度定制本地工具》。在实践Chain.as_tool代码的时候,程序的运行逻辑让我困惑了好一会儿,写文章记录一下这个有趣的点。下面是代码,主要示意了如何构建自己的chain作为tool来用英语回答的问题。看出来程序实际执行的逻辑和我设想的完全不同。大模型的逻辑是先把用户的提问翻译为英语,然后在英语的思维里作答,细想确实更加合理。”的答复,再翻译成英语就有点哭笑不得了。代码运行的结果确实是期待的,实际效果是。从日志看出来,实际程序的执行逻辑是。我脑海中的程序执行逻辑是。
2025-04-27 17:08:08
300
原创 访问Redis时遇到 unknown command ‘FT.INFO‘, with args beginning with 错误的解决方案
当我们使用redis/redis-stack-server镜像时,容器启动时会执行名为entrypoint.sh的脚本,这个脚本里就使用了redis-server加–loadmodule的方式启动Redis。redis/redis-stack包含了我不需要的Redi Insight(官方的图形化访问Redis的工具),所以我选择使用体积更小的 redis/redis-stack-server。这里记录一下我踩的坑,我开始使用了下面这条命令运行redis/redis-stack-server镜像。
2025-04-26 14:04:08
1033
原创 Obsidian和Ollama大语言模型的交互过程
之前的文章中介绍了Obsidian配合Ollama的使用案例,那么它们是如何配合起来的呢?其实这个问题并不准确,问题的准确描述应该是Obsidian的Copilot插件是如何与Ollama大语言模型交互的。因为Obsidian在这里只是一个载体,核心功能还是Copilot插件与Ollama完成的。
2025-04-24 21:25:17
432
原创 实操Obsidian+Ollama+deepseek构建本地知识库
这个使用案例说明了在本地电脑运行大模型是可以助力日常工作的。因为数据不需要上传到第三方服务器,我们完全无需担心本地数据、隐私的安全性。但本地电脑的算力毕竟有限,这套方案能否高质量的助力工作还需要进一步的验证。后续我也会继续深度体验这个方案,期待能有更新的发现。
2025-04-23 18:08:19
1035
原创 MacOS 10.15上能跑大语言模型吗?
我就这样让deepseek肆意的跑了20多分钟,最终在屏幕上得到了四五个汉字输出,看起来deepseek还在努力的工作,但我已经无法忍受了。通过进一步的调研,我了解到不同的大模型对硬件资源(显存、内存、CPU)的需求是不同的。不同的模型有不同的特性,有些模型还会依赖特定的CPU,比如AMD的。用电脑计算器是可以瞬间得到正确答案的,但deepseek好像还是把问题想复杂了,在苦苦等待N分钟后,电脑死机了。同样的问题给到deepseek,这一次很快得到了deepseek的答复。选择合适的大模型也是有学问的呢。
2025-04-22 23:09:41
1061
原创 在MacOS 10.15上使用MongoDB
尝试使用Homebrew安装MongoDB失败(提示需要更新版本的xcode)。改去官网下载MongoDB 6.0.20安装包,参考README成功运行起来了MongoDB,并且顺利安装MongoDB Compass,不再赘述。这次是在MacOS 10.15上使用MongoDB。先在豆包问支持MacOS 10.15的MongoDB最新版是什么,答案是MongoDB 5.0。又找deepseek问了一下,得到的答案和MongoDB官方一致。抱着谨慎怀疑的态度去官方网站查询了一下,答案如下。
2025-04-04 22:04:15
325
原创 使用scrapy爬取数据时遇到的一个坑
有意思的是,在代码里并没有主动设置filter的地方。排除权限问题后,又看了一下scrapy的源代码,没有找到任何线索。逐一排查Trae所做的代码修改,发现是把dont_filter参数设置为True解决的问题,如下。参考官方文档写完代码后,无法下载封面图片。根据错误提示,我扩充了allowed_domains,把错误过滤掉的图片地址的domain添加到list中,于是变为。现在不需要Trae所做的修改(把dont_filter参数设置为True)也可能正常下载豆瓣电影的封面图片了。
2025-04-04 00:17:57
205
原创 在MacOS 10.15上安装Node.js
看起来并不是Node.js 18依赖更高版本的xcode,而是Node.js 18的某个依赖组件需要依赖更高版本的xcode。使用Homebrew安装Node.js,命令brew install node安装当前最新版本的Node.js,提示xcode版本太低,如下图。使用命令brew install node@16尝试安装Node.js 16的版本,提示node@16已经被禁用了,如下图。使用命令brew install node@18尝试安装Node.js 18的版本,得到了同样的错误提示。
2025-03-17 09:38:44
365
原创 使用InputLeap把沉睡的老旧电脑利用起来
这个iMac的MacOS版本更加老旧,是10.12版本的;使用Synergy可以把这个老旧的iMac作为Macbook的扩展屏幕来使用,并且在使用时不需要在Macbook和iMac之间频繁切换鼠标键盘。但可能是因为是系统兼容性做的不好,免费的老版本的Synergy可以运行在MacOS 10.12上,但无法运行在MacOS 10.15上。在github的release页面还能找到支持MacOS 10.12的二进制安装包,实测Barrier 2.1版本完美运行在MacOS 10.12和10.15上。
2025-03-05 18:30:09
329
原创 MacOS 10.15上使用Docker遇到的几个问题
提到我最终在MacOS 10.15上安装了Docker Desktop 4.15.0,这里记录一下使用中遇到的几个问题。
2025-03-04 15:35:18
564
原创 如何在MacOS 10.15上安装Docker Desktop
提到MacOS 10.15上无法通过Homebrew安装最新版本的docker,自然想到了去安装更早版本的docker。在MacOS上安装Docker Desktop比安装Docker Engine要更方便一些,具体原因可以自己搜索。通过Docker Desktop的。解决方法很简单,修改dockerfile,把base image从python:alpine改为python:3.12-alpine,也就是使用了python 3.12的alpine即可(更多python版本的image可以在。
2025-03-03 15:41:18
776
原创 如何在Apple不再支持的MacOS上安装Homebrew
找到的最早的一个pkg是4.1.2版本的,要求最低的系统版本是MacOS 11(正式发布于2020年11月12日)。无奈只能放弃通过pkg安装Homebrew的想法,乖乖使用脚本的方式来安装Homebrew。可以通过Homebrew安装指定版本的tomcat,但docker只能安装最新版本。里最新的pkg安装包不支持MacOS 10.15.7,提示要求最低的系统版本是MacOS 13(正式发布于2022年10月24日)。提示需要Xcode 12.4,但系统安装的是10.1版本的Xcode。
2025-02-28 15:59:32
1087
原创 在开源库中输出log到adb logcat
在开发集成了开源库的Android app时,有时想获得开源库运行的log。但开源库并没有将log输出到adb logcat中,那怎么办呢?只需简单的修改开源库的代码,并重新编译开源库就可以了。1.生成standalone的toolchainandroid-ndk-r8e/build/tools/make-standalone-toolchain.sh \ --platform=a
2015-12-03 15:59:25
1658
原创 MacOSX下编译OpenJDK7openjdk-7u40
在http://jdk7.java.net/source.html下载打包好的源代码我下载的是openjdk-7u40准备环境unset CLASSPATHunset JAVA_HOMEexport ALT_BOOTDIR=`/usr/libexec/java_home -v 1.6`解压后,直接在根目录执行make命令报错,找不到FreeType 2.
2014-04-03 21:35:06
2334
原创 如何自定义Intent.createChooser的显示结果
Intent是android核心的概念之一,Intent为android系统提供了真正的开放。android的姿态是开放了,但却没有做到位。拿“发邮件”这一功能来说,为了使用Intent机制来发送邮件,调用方需要知道Intent的规则,如action、uri、MIMEtype和category。但是在哪里能找到这些规则呢?官方文档里没有,还好能求助google,然后就发现StackOv
2013-09-15 12:04:52
5580
原创 游戏《部落战争》clash of clans 就是残酷世界的真实写照
从4月份开始玩《部落战争》,到现在算来有4个月了。从开始的每天不离手,到现在几天看一次,感受到游戏就是当今世界的真实写照。游戏一开始,建筑的建造时间比较短,在几分钟到几小时之间。在建造建筑的时候,可以用廉价的士兵掠夺其他玩家的资源,用掠夺得到的资源来升级自己的建筑,从而快速的发展自己的部落。有人会问,为什么不使用自己的资源?答:自己资源开采的速度太慢,无法满足高速发展的要求;相反,掠夺
2013-08-10 18:45:34
2680
原创 对OutputStream类的flush()方法的误解
最近使用java的FileOutputStream写文件,调用到了flush()方法。在Code Review时,同事指出没有调用flush()的必要。于是查看了FileInputStream类的源代码,发现flush()其实是继承于其父类OutputStream的。而OutputStream类的flush()却什么也没做,恍然大悟,真是“看源代码者得真相啊”。其实flush()是
2013-08-10 14:30:18
7830
1
原创 android设备连接蓝牙外设导致activity重启(recreate)的问题
最近遇到个bug,在android连接蓝牙设备后,程序异常退出(仅在部分nexus设备上出现)。从logcat发现在JNI层报了一个错(我的程序使用了JNI),一路追上去发现程序的异常是因为activity的onDestroy被调用了。这就好办了,肯定是因为设备连接后,触发了configChange,而程序又没有正常处理这种情况。检查了一下AndroidManifest.xml,发
2013-06-14 14:48:11
4749
原创 三星在Android上的改进对Developer的影响
今天读到一篇很有意思的文章《Battle of the Androids : Google Android vs Samsung Android》,从使用角度讲述了Google Android和Samsung Android的差别。我在这里就从开发者角度,罗列一下两者的差别为Samsung Android设备外接键盘(usb/bluetooth)时,Activity.onConfi
2013-05-23 15:19:03
2120
转载 字符编码笔记:ASCII,Unicode和UTF-8
转载自 http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html作者: 阮一峰日期: 2007年10月28日今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。
2013-04-04 22:28:14
1684
原创 理解EditText的InputFilter
使用EditText的过程中,有时会遇到disable(禁止输入)的需求,直接使用setEnabled(false)是无效的。网上搜索发现可以通过设置InputFilter来实现myEditText.setInputFilters(new InputFilter[]{ new InputFilter() { @Override filter(CharSequenc
2013-03-06 14:15:25
3508
原创 android源代码中repo升级后出现的问题
早上在电脑上同步android的源代码(使用 repo sync),提示“A new version of repo is available”,于是下载了最新的repo(curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > repo)再次执行repo还是同样的提示,仔细看看下面还有几行error: cannot ru
2013-01-04 15:47:28
3802
原创 使用Google Docs的Form创建在线投票时出现的问题
在Google Docs中创建Form后可以实现简单的匿名在线投票系统,但在使用过程中却发现一个问题。创建完Form后,可以点击“Email this form”将投票的链接地址发送给别人。但是一旦这个编辑Form的窗口关闭,就再也找不到能以“投票”方式编辑这个Form的地方了。点击之前创建的Form只会看到一个类似Excel的表格(也许是我没找到正确的入口)。分析了URL发现后,可以
2012-12-11 10:40:55
3696
转载 MotionEvent事件在onInterceptTouchEvent()、onTouchEvent()中的传递顺序
onInterceptTouchEvent()用于处理事件并改变事件的传递方向。处理事件这个不用说了,你在函数内部编写代码处理就可以了。而决定传递方向的是返回值,返回为false时事件会传递给子控件的onInterceptTouchEvent();返回值为true时事件会传递给当前控件的onTouchEvent(),而不在传递给子控件,这就是所谓的Intercept(截断)。onTouchEv
2012-12-03 18:09:53
1482
原创 纠结的Java7和applet
今天准备试用下公司提供的VPN,走到最后一步却遇到了让人纠结的问题在Chrome浏览器上,得到了这样的提示既然装了Java7会导致Java6不可用,那么还是用Java6吧可是来到Java6的下载页面,提示使用Apple自己的Java,已经集成在Mac OS X中了既然系统中有Java6,在终端(Teminal)中执行java -version能看到已
2012-11-24 10:01:24
2520
1
原创 2012年10月底的家乡
10月底,看了柴静的一个纪录片《没有深夜痛哭过的人,不足以谈人生》,产生强烈的回家念头。于是,订机票,拎包回家。一路上用手机自带的相机记录了家乡的点点滴滴,现在拿出与大家分享,分享故乡的美丽,分享思念故乡的那份情。手持联想android平板的乌鲁木齐机场服务人员,家乡信息化的速度也很快与爷爷一起去卖废纸,这么多年,这辆三轮车一直陪伴着爷爷镇中心的小广场,秋冬季节
2012-11-21 01:01:22
2268
原创 Linux下设置Android SDK Manager代理的问题
有太多的原因会导致Android SDK Manager无法进行下载,这个时候理所当然的会想到“设置代理服务器”可悲剧再次上演,我下载的android sdk manager(版本号是20.0.3)设置了代理却没法正常使用最后在 http://stackoverflow.com/questions/10634202/android-sdk-manager-proxy-s
2012-11-07 18:23:24
4448
原创 ESXi无法安装win2008 server 64位的解决办法
今天第一次在PC上裸装了VMware ESXi,在其上安装64位的win2008 server时出现了一些问题。在vSphereClient中创建虚拟机后,在Summary中看到了一个warning 出现这个warning时,64位的win2008也是无法正常安装的,win2008系统的安装程序会提示“64-bitunsupported…”等等。 点击链接http://vmwa
2012-11-05 17:53:10
5188
转载 TCP协议三次握手过程分析
原文出自 http://www.cnblogs.com/rootq/articles/1377355.htmlTCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowle
2012-10-21 22:18:32
1655
原创 Mac OS与Windows之间文件共享/传输的最简便方法
使用mac os有一段时间了,可与我的windows系统的笔记本一直没有方便的传输过文件,都是通过QQ。今天实在无法忍受,决定找一个简单的办法方法一:通过SSH方式(截自http://www.maciverse.com/how-to-turn-on-your-macs-sftp.html)To enable SFTP access to your Mac:Ope
2012-10-20 14:12:19
38689
转载 android Memory Management, OutOfMemoryError Note
原文来自:http://www.cnblogs.com/qiengo/archive/2012/04/25/2468372.html1 Android框架强制每个进程的24 MB内存限制。在一些旧的设备,如在G1,限制为16 MB 更低,更重要的是,由位图使用的内存限制。处理图像的应用程序,它是很容易达到此限制,并获得与OOM 异常死亡 的过程:
2012-10-17 17:29:16
1710
转载 【Android工具】被忽略的UI检视利器:Hierarchy Viewer
原文出自:http://blog.csdn.net/ddna/article/details/5527072 Hierarchy Viewer是随AndroidSDK发布的工具,位置在tools文件夹下,名为hierarchyviewer.bat。它是Android自带的非常有用而且使用简单的工具,可以帮助我们更好地检视和设计用户界面(UI),绝对是UI检视的利器,但是好
2012-10-17 16:49:04
920
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人