开源开发

加拿大初秋:代码和知识之旅?

介绍

大家好!我是 nonthachai plodthong,一名软件开发人员,也是一名正在完成学业的高年级学生。当我们进入加拿大初秋的清爽、多彩的季节时,我很高兴开始一系列新的博客文章,在其中分享我在科技之旅中收集的知识和经验,所有这篇文章都是相关的我在 seneca 上的课程称为开源开发课程。

这个开源项目本身很有趣,我们可以加入其他已经启动或发布的 ppl 项目,我们可以通过解决 github 存储库上的问题来改进它或使其变得更好,并请求我们的建议是否会被接受或不。

在接下来的四个月里,直到今年年底,我将深入研究开源项目的各种主题,我可以找到这些主题来为整个 github 做出贡献。

github 趋势库

开源开发 肉桂 / 幸泰卫门

一个基于 rag 的开源工具,用于与文档聊天。

小太卫门

一个开源、干净且可定制的 rag ui,用于与您的文档聊天。与最终用户一起构建开发人员考虑在内。

开源开发

现场演示 |源代码

用户指南 |开发者指南 |反馈

开源开发开源开发开源开发开源开发

简介

这个项目作为一个功能性的 rag ui,供想要对其进行 qa 的最终用户使用。想要构建自己的 rag 管道的文档和开发人员。

对于最终用户用于基于 rag 的 qa 的干净简约的 ui。支持llm api提供商(openai、azureopenai、cohere等)和本地llm(通过 ollama 和 llama-cpp-python)。简单的安装脚本。对于开发者:用于构建您自己的基于 rag 的文档 qa 管道的框架。使用提供的 ui(使用 gradio 构建)自定义并查看 rag 管道的运行情况。

+----------------------------------------------------------------------------+| End users: Those who use apps built with `kotaemon`.                       || (You use an app like the one in the demo above)                            ||     +----------------------------------------------------------------+

进入全屏模式退出全屏模式 在 github 上查看

这个 rag 和与自己文档的聊天非常好,并且可视化,可以了解如何在我们自己的文档中嵌入和向量化到 llm 模型,以及嵌入模型如何获取输入和转换为十进制数的非结构化数据之间的相似性。

我会对什么话题感兴趣?

1.人工智能开发

人工智能彻底改变了我们与技术交互的方式,并为开发人员和研究人员开辟了新领域。在本系列中,我将探索:

大型语言模型(llm):探索法学硕士的内部运作、它们的能力以及如何使用它们来解决现实世界的问题,包括它们在理解一种语言的语音和用另一种语言进行响应方面的应用。情感分析:了解如何构建能够理解一段文本背后的情感基调的系统,从简单的基于规则的方法到高级的深度学习技术。langchain 库(python):langchain 是一个功能强大的框架,旨在帮助开发人员构建利用大型语言模型 (llm) 的应用程序。无论您是创建聊天机器人、问答系统还是用于生成和操作文本的工具,langchain 都可以通过提供模块化组件和实用程序来简化集成过程。我将更多地关注 advance rag 和 streaming。

2.网页开发

web 开发不仅仅是构建网站;它是关于创建动态、安全和可扩展的应用程序。我将分享以下方面的见解:

腾讯AI 开放平台 腾讯AI 开放平台

腾讯AI开放平台

腾讯AI 开放平台 161 查看详情 腾讯AI 开放平台 django rest 框架 (drf):使用 django 和 drf 构建强大 api 的提示和技巧,包括处理序列化、视图集和权限。next.js 框架:了解流行的基于 react 的框架,用于构建快速且可扩展的前端应用程序。从静态站点生成 (ssg) 到服务器端渲染 (ssr),我们将涵盖所有内容。shadcn 图书馆:探索这个强大的库,用于创建优雅且易于访问的 ui 组件,并了解如何将其与您的 react 项目集成。身份验证:通过实施现代身份验证方法(包括 jwt、o2auth 和 sso)来保护您的应用程序。开发中的安全操作:了解 devsecops 的重要性以及如何将安全实践无缝集成到您的开发管道中。

3.地理可视化

以视觉方式将数据带入生活是一种将编码与创造力相结合的艺术形式。我将引导您完成:

openlayers 库:一个强大的 javascript 库,用于地图绘制和地理可视化。了解如何构建显示实时数据、卫星图像等的交互式地图。大叶:用于交互式地图的 python 库,非常适合在 jupyter notebooks 或 web 应用程序中可视化地理空间数据。

4.稍后在下一篇文章中

我期待分享我所学到的知识,并希望我的知识能够帮助全球所有程序员。

领英github

以上就是开源开发的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/456284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 01:32:10
下一篇 2025年11月8日 01:37:16

相关推荐

  • 异常处理最佳实践 何时该抛出异常判断标准

    异常不应作为流程控制工具,而应用于处理意外错误,如外部依赖失败、非法参数或资源不足;2. 判断是否抛出异常的四个标准是:调用方能否预知问题、是否属于异常而非预期情况、调用方是否有能力处理、是否破坏函数契约;3. 最佳实践包括优先使用返回值表示可预期失败、提供清晰异常信息、使用具体异常类型、不吞异常并…

    2025年12月18日
    000
  • C++金融回测环境怎么搭建 历史数据高速读取优化

    c++++是金融回测的理想选择,因其提供高性能和对系统资源的精细控制,适合处理海量数据和低延迟要求。搭建高效c++金融回测环境的核心在于构建高性能执行框架并优化历史数据i/o。首先,采用二进制文件存储marketdata结构体(含时间戳、价格、成交量等)可大幅提升读写效率,避免csv或json解析开…

    2025年12月18日
    000
  • string如何高效拼接 比较+=、append和stringstream性能

    在c++++中,字符串拼接的最优方法取决于具体场景。1. 对于已知长度的简单拼接,std::string::append配合reserve性能最佳;2. 对于混合类型格式化拼接,std::stringstream更优;3. +=适用于少量非循环拼接,但循环中性能差;4. c++20的std::for…

    2025年12月18日 好文分享
    000
  • 结构体如何存储到文件 序列化与反序列化实现方法

    序列化是将内存中的结构体转换为可存储或传输的字节流的过程,解决数据在内存与文件间“次元壁”的问题。直接写入结构体不可行,因指针地址和内存对齐差异会导致数据失效或崩溃。常见方案包括:自定义二进制(高性能但难维护)、JSON(可读性强、跨语言但体积大)、XML(冗余高、性能差,多用于遗留系统)、Prot…

    2025年12月18日
    000
  • 怎样实现C++的解释器模式 特定领域语言语法解析

    在c++++中实现解释器模式解析dsl的核心在于将语法规则映射为类并构建抽象语法树。1. 定义表达式类层次,包括抽象表达式、终结符表达式、非终结符表达式和上下文;2. 实现词法分析器(lexer)将输入字符串转换为token流;3. 实现语法分析器(parser)根据token流构建由表达式对象组成…

    2025年12月18日 好文分享
    000
  • C++量子编程环境怎么配置 Q#与C++混合编程方案

    要在c++++项目中使用q#进行量子编程,可通过以下步骤实现:1.安装visual studio 2022、.net sdk和quantum development kit;2.创建q#类库项目并编写量子操作,构建生成.dll文件;3.使用c#编写封装器将q#函数暴露为com对象或json api;…

    2025年12月18日 好文分享
    000
  • 简易文件加密工具怎么做 基本加密算法实现方案

    该简易文件加密工具的核心是使用aes对称加密算法结合pbkdf2密钥派生实现文件的加密与解密,1.首先通过用户密码和随机salt使用pbkdf2-sha256生成256位密钥,2.加密时生成随机iv并采用aes-128-cbc模式对文件分块加密,3.将salt、iv和密文依次写入输出文件,4.解密时…

    2025年12月18日
    000
  • 怎样用模板实现编译期字符串 字符串操作与模板元编程结合

    是的,c++++中可以实现编译期字符串操作。1.通过模板和模板元编程(tmp),将字符串字符作为模板参数包(char…)封装在结构体或类模板中,使字符串内容成为类型系统的一部分;2.利用constexpr函数、递归模板和std::integer_sequence等工具,在编译期完成拼接、…

    2025年12月18日 好文分享
    000
  • 如何用C++实现计算器项目 控制台四则运算开发过程

    是,用c++++实现一个支持四则运算、括号、小数、负数和运算符优先级的控制台计算器是初学者练手的好项目,可通过递归下降解析法实现,核心思路是将表达式分层为expression(处理加减)、term(处理乘除)和factor(处理数字、括号和负数),利用递归函数按优先级解析输入,结合跳过空白字符、字符…

    2025年12月18日
    000
  • 如何设计C++中的内存回收机制 引用计数与标记清除算法对比

    在c++++中设计内存回收机制的核心方法包括使用智能指针和自定义垃圾收集方案。1. 智能指针(如std::shared_ptr)通过引用计数实现自动内存管理,适用于日常对象管理、资源管理和模块化设计,但存在循环引用和性能开销问题;2. 自定义垃圾收集(如标记清除算法)适用于复杂对象图、特定性能需求及…

    2025年12月18日 好文分享
    000
  • 如何用C++实现一个简单的计算器 控制台输入输出和基本运算处理

    该计算器程序使用中缀表达式转后缀表达式的策略,并通过栈实现计算;其核心步骤为:1.定义运算符优先级函数precedence;2.实现中缀转后缀函数infixtopostfix,利用栈处理运算符并生成后缀队列;3.实现后缀表达式求值函数evaluatepostfix,用栈存储操作数并根据运算符执行计算…

    2025年12月18日 好文分享
    000
  • C++中如何定义变量 基本数据类型与声明语法详解

    c++++中常见的基本数据类型包括整型(如int、short、long、long long,用于存储不同范围的整数,可加unsigned表示无符号)、浮点型(float、double、long double,用于存储小数,精度依次升高)、字符型(char,用于存储单个字符或小整数)、布尔型(bool…

    2025年12月18日
    000
  • 内存访问冲突怎么调试 地址检查工具使用指南

    调试内存访问冲突时,我会首先启用addresssanitizer(asan)#%#$#%@%@%$#%$#%#%#$%@_20dc++e2c6fa909a5cd62526615fe2788a,因为它能高效精准地定位越界访问、使用已释放内存、双重释放等问题,通过编译时插桩在运行时捕获非法内存操作,输出…

    2025年12月18日
    000
  • C++工业SCADA系统环境怎么配置 ModbusTCP库集成方法

    要配置c++++工业scada系统环境并集成modbustcp库,首先需选择合适的c++编译器与构建系统,windows下推荐使用visual studio配合msvc以获得强大调试支持,跨平台或linux环境下则推荐gcc/clang搭配cmake以实现灵活构建;接着选用成熟的modbustcp库…

    2025年12月18日
    000
  • C++实现进制转换工具 数值计算与格式化输出

    该进制转换工具可实现十进制与任意进制(2~36)间的整数转换,支持正负数处理、大小写兼容、溢出检测及格式化输出,通过decimaltobase和basetodecimal函数分别实现“除基取余”和“按权展开”的核心算法,并提供交互式菜单供用户选择功能,最终以清晰格式输出二进制、八进制、十六进制等常见…

    2025年12月18日
    000
  • 如何用C++实现文件版本管理 简单的版本控制系统设计

    是的,用 c++++ 可以实现一个简易的版本控制系统。1. 每次保存生成文件快照并存储在 .versions 目录中,使用时间戳或编号命名;2. 通过 metadata.json 记录每个版本的元数据,包括版本号、时间戳、作者和描述;3. 设计命令行接口支持 commit、log 和 revert …

    2025年12月18日 好文分享
    000
  • C++标准库异常有哪些常见类型 std runtime error等标准异常详解

    c++++标准库异常类体系以std::exception为基类,派生出逻辑错误和运行时错误两大类及其他特殊类型。1. std::exception是所有标准异常的基类,提供虚函数what()返回错误描述字符串,通常用于捕获所有标准异常;2. std::logic_error表示可预见的逻辑错误,包含…

    2025年12月18日 好文分享
    000
  • 如何用C++编写简易天气预报应用 调用API获取天气数据

    要编写简易天气预报应用,核心步骤是:引入网络请求与json解析库、获取api接口、编写代码处理请求与数据解析。1. 准备开发环境和依赖库:使用libcurl发起http请求,配合nlohmann/json进行json解析,并通过包管理工具安装集成。2. 获取可用的天气api接口:注册如openwea…

    2025年12月18日 好文分享
    000
  • 怎样为C++配置高性能日志环境 spdlog库与异步日志系统搭建

    要配置c++++的高性能日志环境,应选用spdlog库并启用异步日志机制。1. spdlog基于fmt库,轻量且支持多种日志级别与多线程安全,具备异步日志功能;2. 启用异步日志需包含头文件、创建文件sink、构建异步logger并设置为全局默认,最后调用spdlog::shutdown()确保日志…

    2025年12月18日 好文分享
    000
  • C++中堆和栈内存有什么区别 解释两种内存区域的特性和使用场景

    c++++中堆和栈的核心区别在于管理方式、生命周期、分配速度和使用场景。栈内存由系统自动管理,分配释放快,适用于小型局部变量和函数调用,生命周期随作用域结束而终止;堆内存需手动管理,灵活性高,适用于动态数据结构和跨函数对象,但存在内存泄漏和野指针风险。选择栈的场景包括:1. 小型固定大小的数据;2.…

    2025年12月18日 好文分享
    000

发表回复

登录后才能评论
关注微信