0%

倒数排名融合算法(Reciprocal Rank Fusion,简称RRF)是一种在元搜索或混合搜索中常用的相关性评分算法。元搜索或混合搜索是指从多个搜索引擎或搜索源获取结果,并将这些结果融合到一个结果集中的过程。在RAG中,这种算法能够提高你的文档召回率,准率的文档召回才能使得RAG系统出色的完成了第一步。

最近OpenAI发布了Assistants API,允许在自己的应用程序中构建 AI 助手。Assistants API 目前支持三种类型的工具:Code Interpreter、Knowledge Retrieval、Function calling,还有对File的支持,其实网上已经有很多探讨Assistants API的使用方式的文章,主要参考API: https://platform.openai.com/docs/assistants/overview ,个人觉得这套工具其实本质实现了一个简单的ReAct模型,并且通过Assistants提供的 File、Function Call等能力,更好的与自己的应用程序进行交互,只不过目前还是相当不完备的,很多时候使用Assistants并不能一劳永逸。

最近开发OpenAI提供的Assistant功能,其中有个插件叫做Code Interpreter,由于需要把Assistant的分析过程在Vue中展示一下,方便问题定位,所以Code Interpreter生成的代码肯定也是要展示的,其他过程几乎都是Markdown的格式,所以特此记录下在Vue中如何渲染Markdown,在其他场景也会经常遇到渲染Markdown的需求。

OpenAI在2020年5月发布了GPT-3的论文,而在2022年2月1日,GPT3.5也随之问世。国内对大模型的热情似乎从22年的12月开始高涨。对我个人而言,从我首次打开GPT3.5的对话页面到现在,已经过去了九个月。在此,我想分享一下我对大模型的一些想法。

通过MLP实现手写数字识别是一个经典案例,mnist 是keras自带的一个用于手写数字识别的数据集,它的图像的分辨率是 $28 * 28$,也就是有784个像素点,它的训练集是60000个手写体图片及对应标签,测试集是10000个手写体图片及对应标签。本例中:输入层784个单元,两个隐藏层都是392个神经元,最后输出层10个单元:

之前主要学习了常见的机器学习算法,现在开始进入另一个环节:深度学习。首先就是多层感知机模型,Multi-Layer Perception(简称MLP)是标准的全连接神经网络模型,它由节点层组成,其中每个节点连接到上一层的所有输出,每个节点的输出连接到下一层节点的所有输入。本节会从一个简单的分类任务开始,逐步探讨多层感知机的工作原理。

通过酶活性预测实战来体验体验模型从欠拟合到过拟合、再到拟合的过程。选择模型从线性回归 -> 多项式回归。通过进行异常检测,帮助找到了潜在的异常数据点,进行主成分分析,判断是否需要降低数据维度,然后通过数据分离,即使未提供测试样本,也能从训练数据中分离出测试数据。然后计算得到混淆矩阵,实现模型更全面的评估。最后通过调整KNN核心参数让模型在训练数据和测试数据上均得到了好的表现。

建立模型的意义,不在于对训练数据做出准确预测,更在于对新数据的准确预测。在分类中,如何评判模型的好坏呢,之前的学习中主要是通过计算测试数据集预测准确率(accuracy)以评估模型表现,但是现在有了更好的评估方案,那就是混淆矩阵。另外在仅有训练数据的情况下如何评估模型表现呢?这个时候就需要做一些数据分离的工作。最后会讨论模型的选择与优化相关的问题。