开源开发
加拿大初秋:代码和知识之旅?
介绍
大家好!我是 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 管道的运行情况。
overflow-auto js-code-highlight" dir="auto" data-snippet-clipboard-copy-content="+----------------------------------------------------------------------------+
| end users: those who use apps built with `kotaemon`. |
| (you use an app like the one in the demo above) |
| +----------------------------------------------------------------+ |
| | developers: those who built with `kotaemon`. | |
| | (you have `import kotaemon` somewhere in your project) | |
| | +----------------------------------------------------+ | |
| | | contributors: those who make `kotaemon` better. | | |
| | | (you make pr to this repo) | | |
| | +----------------------------------------------------+ | |
| +----------------------------------------------------------------+ |
+----------------------------------------------------------------------------+">
+----------------------------------------------------------------------------+
| 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 开发不仅仅是构建网站;它是关于创建动态、安全和可扩展的应用程序。我将分享以下方面的见解:
-
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.稍后在下一篇文章中
我期待分享我所学到的知识,并希望我的知识能够帮助全球所有程序员。
非