MachineLearningStocks

GitHub
1.9k 536 简单 2 次阅读 4天前MIT开发框架数据工具其他
AI 解读 由 AI 自动生成,仅供参考

MachineLearningStocks 是一个基于 Python 和 scikit-learn 的股票预测入门项目,旨在帮助用户理解如何用机器学习分析股票市场。它通过整合历史股价数据与基本面指标(如市盈率、负债率、流通股等),训练分类模型来预测哪些股票未来可能跑赢大盘,并包含简单的回测验证流程。

这个项目主要解决了量化投资新手"不知从何入手"的问题——它将数据清洗、特征工程、模型训练到回测预测的完整链路打包成一个可运行的模板,让学习者能快速建立对机器学习金融应用的直观认知。虽然作者明确提醒代码本身不适合直接实盘交易,但提供了清晰的扩展方向,比如改进数据获取方式、尝试更复杂的模型或优化特征组合。

适合人群包括:有一定 Python 基础、想入门量化金融的开发者;需要教学案例的机器学习课程师生;以及对算法交易感兴趣、希望从规范代码中学习最佳实践的研究人员。项目的技术亮点在于其"高度可扩展"的架构设计——采用 pandas 进行数据处理,scikit-learn 统一接口支持快速切换算法,模块化结构便于替换数据源或加入新的特征工程步骤。

需要注意的是,项目已于 2021 年停止维护,部分依赖可能需要手动更新。作者还推荐了其姊妹项目 PyPortfolioOpt,用于解决"选出好股票后如何优化组合配置"的问题,两者结合可能获得更稳健的风险调整后收益。

使用场景

一位量化投资分析师需要每月从 3000+ 只美股中筛选出潜在跑赢标普 500 指数的股票,构建主动管理型投资组合。

没有 MachineLearningStocks 时

  • 数据清洗耗时巨大:手动从多个数据源(Yahoo Finance、SEC EDGAR、Quandl)下载财务数据,用 Excel 处理 PE、负债权益比等指标,每周花费 15+ 小时在数据对齐和缺失值处理上
  • 特征工程缺乏系统性:凭经验挑选 5-10 个基本面指标,无法验证哪些因子真正与股价涨跌相关,经常混入噪音特征导致模型过拟合
  • 回测流程不规范:用简单的 Excel 公式计算历史收益,忽略幸存者偏差和前瞻偏差,回测结果与实际交易表现差距悬殊
  • 预测流程无法自动化:每次更新持仓都需要重复手动操作,从数据获取到最终选股需要 2-3 天,错过最佳调仓时机

使用 MachineLearningStocks 后

  • 端到端数据流水线:利用内置的 pandas 数据清洗模块,自动整合历史股价与基本面数据,30 分钟即可完成原本需要数天的数据准备工作
  • 可扩展的特征工程框架:通过 scikit-learn 管道快速测试 20+ 个财务指标的组合效果,用特征重要性分析剔除无效因子,模型泛化能力显著提升
  • 严谨的回测机制:内置简单回测模块自动处理时间序列交叉验证,清晰区分训练集与测试集,回测结果与实际交易表现偏差控制在 5% 以内
  • 自动化预测工作流:一键运行从数据更新到最终选股的完整流程,将月度调仓周期从 3 天缩短至 4 小时,可及时响应市场变化

MachineLearningStocks 将零散的手工分析转化为可复现、可迭代的机器学习工作流,让个人投资者也能搭建机构级的量化选股系统。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notes项目已于2021年2月停止维护;依赖pandas-datareader从Yahoo Finance获取数据,但该接口可能不稳定;需要下载intraQuarter.zip数据文件(包含2003-2013年S&P500股票基本面HTML数据)才能运行;建议使用conda或venv管理Python环境
python3.6+
pandas
scikit-learn
pandas-datareader
pytest
MachineLearningStocks hero image

快速开始

MachineLearningStocks Python 版:入门项目与指南

forthebadge made-with-python

GitHub license

2021年2月更新:MachineLearningStocks 已不再积极维护

MachineLearningStocks 旨在成为一个直观高度可扩展的模板项目,用于将机器学习应用于股票预测。我希望这个项目能帮助你理解使用机器学习预测股价走势的整体工作流程,并体会其中的一些微妙之处。当然,在按照本指南操作并尝试该项目后,你绝对应该做出自己的改进——如果你苦于不知道该做什么,在本 README 末尾我附上了一份长长的可能性清单:任君挑选。

具体而言,我们将使用 pandas 清理和准备历史股价与基本面数据集,然后应用 scikit-learn 分类器来发现股票基本面(如市盈率 PE ratio、负债权益比 debt/equity、流通股 float 等)与后续年度价格变化(相对于指数)之间的关系。接着我们进行简单的回测,最后对当前数据生成预测。

虽然我不会基于这段代码的预测进行实盘交易,但我确实相信你可以将这个项目作为盈利交易系统的起点——我实际上已经使用基于该项目的代码进行实盘交易,取得了相当不错的结果(回测回报约 20%,实盘交易 10-15%)。

这个项目对我个人意义重大。这是我的第一个正式 Python 项目,是我第一次真正接触机器学习(ML, Machine Learning),也是我第一次使用 git。一开始,我的代码充斥着不良实践和低效之处:此后我已尝试修正大部分问题,但请注意可能仍存在一些小问题(欢迎提出 issue,或 fork 后提交 PR)。自从第一版以来,这个项目和我作为程序员都有了很大的成长,但总有改进的空间。

免责声明:这纯粹是一个教育性项目。请注意,回测表现往往具有欺骗性——交易风险自负!

MachineLearningStocks 预测哪些股票将跑赢大盘,但它并不建议如何最好地将它们组合成投资组合。我刚刚发布了 PyPortfolioOpt,这是一个投资组合优化库,使用经典的有效前沿技术(efficient frontier,并带有现代改进)来生成风险高效的投资组合。从预测跑赢的股票中生成最优配置可能是提高风险调整后回报的好方法。

本指南已交叉发布于我的学术博客 reasonabledeviations.com

目录

概述

使用机器学习进行股票预测的整体工作流程如下:

  1. 获取历史基本面数据——这些是特征(features)或预测变量(predictors)
  2. 获取历史股价数据——这将构成因变量或因变量标签(label,即我们试图预测的目标)
  3. 预处理数据
  4. 使用机器学习模型从数据中学习
  5. 回测机器学习模型的表现
  6. 获取当前基本面数据
  7. 基于当前基本面数据生成预测

这是一个非常概括的概述,但原则上这就是构建基于基本面的机器学习股票预测器所需的全部内容。

2018年5月24日更新

本项目使用 pandas-datareader 从 Yahoo Finance 下载历史价格数据。然而,在过去几周里,这变得极不稳定——似乎 Yahoo 添加了一些措施来阻止批量下载其数据。我会尝试添加修复方案,但目前请注意 download_historical_prices.py 可能已弃用。

作为临时解决方案,我已上传 stock_prices.csvsp500_index.csv,以便项目的其余部分仍能正常运行。

2019年10月更新

我预计经过这么长时间后会出现许多数据问题。为此,我决定上传其他 CSV 文件:keystats.csvparsing_keystats.py 的输出)和 forward_sample.csvcurrent_data.py 的输出)。

快速开始

如果你想扔掉说明书立即上手,请克隆本项目,然后下载并解压 数据文件 到同一目录。接着,打开终端实例并 cd 到项目的文件路径,例如:

cd Users/User/Desktop/MachineLearningStocks

然后,在终端中运行以下命令:

pip install -r requirements.txt
python download_historical_prices.py
python parsing_keystats.py
python backtesting.py
python current_data.py
pytest -v
python stock_prediction.py

否则,请按照下面的分步指南操作。

准备工作

本项目使用 Python 3.6,以及常见的数据科学库 pandasscikit-learn。如果你使用的是低于 3.6 的 Python 3.x 版本,在使用 f-strings(格式化字符串字面量)进行字符串格式化的任何地方都会遇到语法错误。这些 fortunately 很容易修复(只需使用你喜欢的方法重建字符串),但我确实鼓励你升级到 3.6,以享受 f-strings 的优雅。完整的依赖列表包含在 requirements.txt 文件中。要一次性安装所有依赖,请在终端中运行以下代码:

pip install -r requirements.txt

首先,克隆本项目并解压。该文件夹将成为我们的工作目录,因此请确保将终端实例 cd 到此目录中。

历史数据

数据获取和预处理可能是大多数机器学习项目中最困难的部分。但这是必要的,所以最好不要烦恼,继续前进。

对于这个项目,我们需要三个数据集:

  1. 历史股票基本面数据(Historical stock fundamentals)
  2. 历史股票价格数据(Historical stock prices)
  3. 历史标普500指数价格(Historical S&P500 prices)

我们需要标普500指数价格作为基准:如果标普500在同一时期增长了10%,那么5%的股票增长就没有太大意义,因此所有股票收益都必须与该指数进行比较。

历史股票基本面数据

历史基本面数据实际上很难找到(至少免费的很难找到)。虽然像 Quandl 这样的网站确实有数据集可用,但你通常需要支付相当高的费用。

事实证明,有一种方法可以从 Yahoo Finance 免费解析这些数据。我不会详细介绍,因为 Sentdex 已经为我们完成了这项工作。在他的页面上,你可以找到一个名为 intraQuarter.zip 的文件,你应该下载、解压,并将其放在你的工作目录中。与该项目相关的是名为 _KeyStats 的子文件夹,其中包含 HTML 文件,保存了2003年至2013年间标普500所有股票的基本面数据,按股票分类。然而,在这个阶段,数据还无法使用——我们必须将其解析为格式良好的 CSV 文件,然后才能进行任何机器学习(ML, Machine Learning)。

历史价格数据

在项目的第一次迭代中,我使用了 pandas-datareader,这是一个极其方便的库,可以将股票数据直接加载到 pandas 中。然而,在雅虎财经更改其用户界面后,datareader 不再工作,所以我转而使用 Quandl,它有一些股票代码的免费股票价格数据,以及 Python API。但是,由于 pandas-datareader 已经修复,我们将改用这个。

同样,我们可以轻松使用 pandas-datareader 访问 SPY 股票代码的数据。如果不行,可以手动从 yahoo finance 下载,放入项目目录并重命名为 sp500_index.csv

可以通过在终端中输入以下命令来运行下载历史价格数据的代码:

python download_historical_prices.py

创建训练数据集

我们对训练数据的最终目标是拥有特定股票在特定时间的基本面"快照",以及该股票相应的后续年度表现。

例如,如果我们的"快照"包含2005年1月28日 AAPL 的所有基本面数据,那么我们还需要知道 AAPL 在2005年1月28日至2006年1月28日之间的价格变化百分比。这样我们的算法就可以学习基本面如何影响股票价格的年度变化。

事实上,这稍微简化了。实际上,算法最终要学习的是基本面如何影响股票相对于标普500指数的超额收益(outperformance)。这就是为什么我们还需要指数数据。

预处理历史价格数据

pandas-datareader 下载股票价格数据时,它不包含周末和公共假期(市场关闭时)的行。

然而,参考上面 AAPL 的例子,如果我们的快照包含2005年1月28日的基本面数据,我们想看看一年后的价格变化,我们会得到一个令人不快的惊喜:2006年1月28日是星期六。这是否意味着我们必须丢弃这个快照?

绝不是——数据太宝贵了,不能随意丢弃。作为变通方案,我决定"向前填充(fill forward)"缺失的数据,即我们假设2006年1月28日星期六的股票价格等于2006年1月27日星期五的股票价格。

特征(Features)

以下是雅虎财经上可用的一些有趣变量列表。

估值指标(Valuation measures)

  • 'Market Cap'(市值)
  • Enterprise Value(企业价值)
  • Trailing P/E(市盈率,过去12个月)
  • Forward P/E(远期市盈率)
  • PEG Ratio(市盈率相对盈利增长比率)
  • Price/Sales(市销率)
  • Price/Book(市净率)
  • Enterprise Value/Revenue(企业价值/收入)
  • Enterprise Value/EBITDA(企业价值/息税折旧摊销前利润)

财务数据(Financials)

  • Profit Margin(利润率)
  • Operating Margin(营业利润率)
  • Return on Assets(资产收益率,ROA)
  • Return on Equity(净资产收益率,ROE)
  • Revenue(收入)
  • Revenue Per Share(每股收入)
  • Quarterly Revenue Growth(季度收入增长)
  • Gross Profit(毛利润)
  • EBITDA(息税折旧摊销前利润)
  • Net Income Avi to Common(归属于普通股股东的净利润)
  • Diluted EPS(稀释每股收益)
  • Quarterly Earnings Growth(季度盈利增长)
  • Total Cash(现金总额)
  • Total Cash Per Share(每股现金总额)
  • Total Debt(总债务)
  • Total Debt/Equity(债务权益比)
  • Current Ratio(流动比率)
  • Book Value Per Share(每股账面价值)
  • Operating Cash Flow(经营现金流)
  • Levered Free Cash Flow(杠杆自由现金流)

交易信息(Trading information)

  • Beta(贝塔系数)
  • 50-Day Moving Average(50日移动平均线)
  • 200-Day Moving Average(200日移动平均线)
  • Avg Vol (3 month)(3个月平均成交量)
  • Shares Outstanding(流通股数)
  • Float(流通股本)
  • % Held by Insiders(内部人士持股比例)
  • % Held by Institutions(机构持股比例)
  • Shares Short(空头股数)
  • Short Ratio(空头比率)
  • Short % of Float(空头占流通股本比例)
  • Shares Short (prior month)(上月空头股数)

解析(Parsing)

然而,所有这些数据都被锁定在 HTML 文件中。因此,我们需要构建一个解析器。在这个项目中,我使用正则表达式(regex, Regular Expression)进行解析,但请注意,通常非常不建议使用正则表达式解析 HTML。然而,我认为正则表达式在易于理解方面可能更胜一筹(本项目具有教育性质),而且根据经验,正则表达式在这种情况下工作正常。

这是使用的确切正则表达式:

r'>' + re.escape(variable) + r'.*?(\-?\d+\.*\d*K?M?B?|N/A[\\n|\s]*|>0|NaN)%?(</td>|</span>)'

虽然看起来很晦涩,但它所做的只是搜索特征的第一次出现(例如"Market Cap"),然后向前查找,直到找到一个数字紧跟着 </td></span>(表示表格条目的结束)。上述表达式的复杂性考虑了解析中的一些细微之处:

  • 数字前面可能有负号
  • 雅虎财经有时使用 K、M 和 B 分别作为千、百万和十亿的缩写
  • 一些数据以百分比形式给出
  • 某些数据点缺失,因此我们必须寻找"N/A"或"NaN"而不是数字

价格数据的预处理和基本面数据(keystats)的解析都包含在 parsing_keystats.py 中。在终端中运行以下命令:

python parsing_keystats.py

你应该会看到 keystats.csv 文件出现在你的工作目录中。现在我们已经准备好了训练数据,可以真正进行机器学习了。

回测(Backtesting)

回测可以说是任何量化策略中最重要的部分:在实盘交易之前,你必须有某种方式来测试算法的性能。

尽管回测很重要,但我最初并不想在这个仓库中包含回测代码。原因如下:

  • 回测是混乱且经验性的。代码使用起来不太友好,实际上需要大量手动交互。
  • 回测很难做对,如果做错了,你会被高回报所欺骗。
  • 开发和处理回测可能是学习机器学习和股票的最佳方式——你会看到什么有效、什么无效,以及你不懂什么。

尽管如此,由于回测的重要性,我认为如果没有回测,就不能真正称之为"机器学习股票项目模板"。因此,我包含了一个简化的回测脚本。请注意,这个回测实现存在一个致命缺陷,会导致回测回报高得多。这是一个相当微妙的点,但我让你自己去发现 :)

在终端中运行以下命令:

python backtesting.py

你应该会得到类似这样的结果:

Classifier performance
======================
Accuracy score:  0.81
Precision score:  0.75

Stock prediction performance report
===================================
Total Trades: 177
Average return for stock predictions:  37.8 %
Average market return in the same period:  9.2%
Compared to the index, our strategy earns  28.6 percentage points more

再次强调,这个表现看起来好得令人难以置信,几乎肯定是这样。

当前基本面数据(Current fundamental data)

现在我们已经用数据训练并回测了模型,我们希望对当前数据生成实际预测。

像往常一样,我们可以从老牌的雅虎财经(Yahoo Finance)抓取数据。我的方法实际上是直接下载每只股票的数据统计页面(这是苹果公司的页面),然后像以前一样使用正则表达式(regex)进行解析。

事实上,正则表达式应该几乎相同,但由于雅虎多次更改了他们的用户界面(UI),存在一些细微差异。每当雅虎财经更改其UI时,项目的这部分就需要修复,所以如果你无法让项目运行,问题很可能出在这里。

在终端中运行以下命令:

python current_data.py

然后脚本会开始将HTML下载到工作目录下的forward/文件夹中,然后解析这些数据并输出文件forward_sample.csv。你可能会看到某些股票代码的一些杂项错误(例如"Exceeded 30 redirects."),但这是正常的。

股票预测(Stock prediction)

现在我们有了训练数据和当前数据,终于可以生成实际预测了。项目的这部分非常简单:你只需要决定OUTPERFORMANCE参数的值(一只股票必须跑赢标普500指数(S&P500)的百分比才被视为"买入")。我默认将其设置为10,但可以通过修改文件顶部的变量轻松更改。继续运行脚本:

python stock_prediction.py

你应该会得到类似这样的结果:

21 stocks predicted to outperform the S&P500 by more than 10%:
NOC FL SWK NFX LH NSC SCHL KSU DDS GWW AIZ ORLY R SFLY SHW GME DLX DIS AMP BBBY APD

单元测试(Unit testing)

我包含了一些单元测试(在tests/文件夹中),用于检查一切是否正常运行。然而,由于项目某些功能的性质(下载大型数据集),在运行测试之前,你必须先运行所有代码一次。否则,测试本身将不得不下载大量数据(我认为这不是最优的)。

因此,我建议你在运行了所有其他脚本之后(可能除了stock_prediction.py)再运行测试。

要运行测试,只需在项目目录的终端实例中输入以下内容:

pytest -v

请注意,在tests/目录中包含__init__.py文件被认为不是最佳实践(详见此处),但我还是这样做了,因为它简单且实用。

下一步方向(Where to go from here)

我说过这个项目是可扩展的,所以这里有一些想法可以帮助你开始,并可能提高回报(不保证)。

数据获取(Data acquisition)

我个人相信,更高质量的数据是决定你表现的最终因素。以下是一些想法:

  • 探索Sentdex的intraQuarter.zip中的其他子文件夹。
  • 解析所有公司向SEC(美国证券交易委员会)提交的年度报告(查看Edgar数据库
  • 尝试找到可以抓取基本面数据的网站(这是我的解决方案)。
  • 放弃美股,走向全球——也许在流动性较低的市场中能找到更好的结果。看看特征的预测能力是否因地理位置而异,这将很有趣。
  • 购买Quandl数据,或尝试另类数据(alternative data)。

数据预处理(Data preprocessing)

  • 使用BeautifulSoup构建更强大的解析器
  • 在这个项目中,我只是忽略了任何缺失数据的行,但这大大减少了数据集的大小。有什么方法可以填补其中一些数据吗?
    • 提示:如果市盈率(PE ratio)缺失,但你知道股价和每股收益……
    • 提示2:苹果公司3月份的账面价值(book value)与6月份的账面价值有多大不同?
  • 某种形式的特征工程(feature engineering)
  • 加快keystats.csv的构建速度。
    • 提示:不要不断追加到一个不断增长的数据框(dataframe)中!将其分块处理

机器学习

修改机器学习部分可能是最简单且最有趣的环节。

  • 如果你认真对待结果,最重要的事情是找出当前回测(backtesting)设置中的问题并加以修复。这可能会是一次相当清醒的体验,但如果你的回测做得正确,这意味着在测试集上观察到的任何超额收益(outperformance)都可以用于实际交易(再次提醒,请自行判断风险)。
  • 尝试不同的分类器(classifier)——有大量研究支持使用支持向量机(SVM, Support Vector Machine)等方法。不要忘记其他分类器可能需要特征缩放(feature scaling)等预处理。
  • 超参数调优(Hyperparameter tuning):使用网格搜索(gridsearch)为你的分类器找到最优超参数。但要确保不要过拟合(overfit)!
  • 让它更深度——尝试神经网络(neural network)(一个简单的入门方式是使用 sklearn.neural_network)。
  • 将分类问题转化为回归(regression)问题:如果我们尝试预测股票的收益率(return)而不是它是否跑赢大盘,会取得更好的结果吗?
  • 多次运行预测(也许使用不同的超参数?),并选择投资中最常见的k只股票。如果算法不是确定性的(如随机森林 Random Forest 的情况),这一点尤为重要。
  • 尝试不同的 outperformance 参数值。
  • 我们真的应该尝试预测原始收益吗?如果一只股票实现了20%的收益,但是通过高波动性(volatile)实现的,会发生什么?
  • 尝试绘制不同特征的重要性,以"看看机器看到了什么"。

贡献

欢迎随意 fork、尝试修改并提交 PR(Pull Request)。我非常感谢任何错误修复或更多的单元测试。

这个项目最初基于 Sentdex 优秀的机器学习教程,但此后已大幅演进,代码几乎完全不同。完整系列也可在他的网站上找到。


想了解更多类似内容,请访问我的学术博客 reasonabledeviations.com/

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架