首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >VFP AI 插件开发花絮10:知识库检索

VFP AI 插件开发花絮10:知识库检索

作者头像
firstxinjie
发布2026-04-02 11:03:12
发布2026-04-02 11:03:12
1140
举报

搞定JSON对象的解析,对 VFP AI 插件来说,就算是搞定了基础工程。

之前介绍了知识库的一些基础,如VFP AI 插件开发花絮8:知识库基础VFP开发者如何构建自己的知识库,介绍了一些基本使用的工具软件和交互操作。但是,我们需要程序化的使用知识库,以用于 VFP AI 插件或其他应用程序,所以,构建了 AnythingLLM.VCX 库,编译为多线程DLL。

下面是其使用示例:

代码语言:javascript
复制
Clear 

Set Classlib To AnythingLLM.VCX

*!* ==========================================
*!* AnythingLLMManager 使用示例
*!* ==========================================
#DEFINE API_KEY		[BSVBF9K-ZB948M5-JQWYQSR-X77F0TP]
#DEFINE ServerURL	[http://127.0.0.1:3001]
#DEFINE ExePath		[C:\Users\niuji\AppData\Local\Programs\AnythingLLM\AnythingLLM.exe]

Local loObj As AnythingLLMManager of AnythingLLM.VCX

m.loObj = CreateObject([AnythingLLMManager], API_KEY, .T.)

With m.loObj
	.cServerUrl	= ServerURL
	.cExePath	= ExePath
EndWith

*!* 1. 判断服务是否启动
If m.loObj.IsRunning()
	? [AnythingLLM 已启动]

Else
	? [AnythingLLM 未启动]
	? [错误码:] + Transform(m.loObj.nLastErrorCode)
	? [错误消息:] + m.loObj.cLastError
	?

	*!* 2. 启动服务
	If m.loObj.Start(30)
		? "AnythingLLM 启动成功!"
	Else 
		? "AnythingLLM 启动失败!"
	EndIf 
EndIf 

*!* 3. 获取工作区的 slug
?
? "默认工作区 Slug:" + m.loObj.ListAllWorkSpaces()
?
? "默认工作区名称:"  + m.loObj.cWorkSpace
? "默认工作区 Slug:" + m.loObj.cWorkspaceSlug
?

*!* 4. 预热知识库
If m.loObj.Warmup()
	? "知识库预热成功!"
Else 
	? "知识库预热失败!"
EndIf 

?

*!* 5. 知识库检索
m.loJSON = m.loObj.VectorSearch([VFP是什么?], 2)

? "片段数:"	+ Transform(m.lojson.results.length )
? "标题:"		+ m.lojson.results.Item(0).metadata.title
? "相似度:"	+ Transform(m.lojson.results.Item(0).score)
? "内容:"		+ Leftc(STREXTRACT(m.loJSON.results.Item(0).text, '</document_metadata>', '', 1, 2), 300) + "......"
?
? "标题:"		+ m.lojson.results.Item(1).metadata.title
? "相似度:"	+ Transform(m.lojson.results.Item(1).score)
? "内容:"		+ Leftc(STREXTRACT(m.loJSON.results.Item(1).text, '</document_metadata>', '', 1, 2), 300) + "......"

输出结果:

todo:

除了知识库检索,可以将其扩展为真正的 AnythingLLM Manager,用于程序化的完全控制 AnythingLLM 。例如:聊天、使用其内置的智能体完成如 Web Search 等工作。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 xinjie的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档