首页 文章 精选 留言 我的

精选列表

搜索[原型链],共10004篇文章
优秀的个人博客,低调大师

Agent工程化实战:从原型到生产的AI编程实践

随着大语言模型(LLM)能力的跃升,基于LLM的智能体(Agent)已成为构建自动化工作流、交互式应用的核心范式。然而,绝大多数Demo停留在单轮对话或固定脚本,真正走向生产环境时,工程化挑战接踵而至:状态管理、工具扩展、记忆持久化、可观测性、容错与回退……本文不空谈概念,而是结合AI编程(利用AI辅助编码工具如Cursor、Copilot)的实战经验,带你从零搭建一个可投产的企业级Agent框架。全文代码基于Python 3.11 + LangChain + FastAPI,并融入Docker、Prometheus等云原生技术栈。

优秀的个人博客,低调大师

Java实现文本编辑时基于拼音输入的补全原型

所在源码库同上文, 尚未和上文的编辑器右侧的命令区集成. 代码由How to show autocomplete as I type in JTextArea?修改得来. 基本功能 英文输入至少一个匹配词典的字母后, 显示提示框 上下光标选中某提示项后按空格键自动替换 弹出提示框后, 如果继续键入, 提示框隐藏后, 根据新键入继续提示. 比如上面输入't'后提示"退出"和"粘贴"两项, 继续输入'c'后就只显示"退出" IDE和中文输入法的深度集成是必然趋势. 虽然现在第三方的中文输入法可以解决"输入"的基本功能, 但在IDE自动补全/智能提示功能日益成为开发效率提升的必需辅助功能的现今, 只有实现了中文输入法和IDE补全/提示的集成, 中文编程才能更接近实用. 这早已在易语言开发环境中实现, 期待早日看到开源项目实现类似功能. 源码简单说明 监听文本框的按键输入, 并准备弹出提示框: 文本区.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { 随后显示提示(); } ... }); 弹出之前, 先获取此次输入的字符串, 并基于它生成/更新提示框: private void 显示提示() { final int 文本位置 = 文本区.getCaretPosition(); Point 界面位置; try { 界面位置 = 文本区.modelToView(文本位置).getLocation(); } catch (BadLocationException e2) { e2.printStackTrace(); return; } final String 提示源词 = 取提示源词(文本位置); if (提示源词 == null) { return; } if (提示 == null) { 提示 = new 提示框(文本区, 文本位置, 提示源词, 界面位置); } else { 提示.更新(文本位置, 提示源词, 界面位置); } } 提示框部分, 由一个列表来管理提示项的选择, 文本的替换: private JList<String> 创建提示列表(final String[] 提示列表) { JList<String> 列表 = new JList<>(提示列表); 列表.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY, 1)); 列表.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 列表.setSelectedIndex(0); 列表.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { if (e.getKeyChar() == KeyEvent.VK_SPACE) { if (插入选择文本()) { 隐藏(); } } else { 隐藏(); 文本区.requestFocusInWindow(); 文本区.dispatchEvent(e); } } @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_DOWN) { 下移(); } else if (e.getKeyCode() == KeyEvent.VK_UP) { 上移(); } } ... }); return 列表; } 当然少不了一个字符->中文词典(如下), 实际应用时需要基于拼音生成提示的算法 private static final HashMap<String, String[]> 提示词典 = new HashMap<>(); static { 提示词典.put("xj", new String[] {"新建"}); 提示词典.put("dk", new String[] {"打开"}); 提示词典.put("bc", new String[] {"保存"}); 提示词典.put("jq", new String[] {"剪切"}); 提示词典.put("fz", new String[] {"复制"}); 提示词典.put("nt", new String[] {"粘贴"}); 提示词典.put("zt", new String[] {"粘贴"}); 提示词典.put("tc", new String[] {"退出"}); 提示词典.put("j", new String[] {"新建", "剪切"}); 提示词典.put("t", new String[] {"退出", "粘贴"}); }

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册