<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sequoia00</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sequoia00]]></copyright><item><title><![CDATA[用 responses-proxy 将 agnes-20-flash 接入原生 Codex：让免费 LLM 也能跑起来]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/162347033</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/162347033</guid><author>sequoia00</author><pubDate>Fri, 26 Jun 2026 18:07:48 +0800</pubDate><description><![CDATA[本文介绍了如何通过 responses-proxy 将第三方 OpenAI 兼容服务 agnes-20-flash 接入原生 Codex。由于 Codex 默认使用 Responses API，而多数第三方服务仅支持 Chat Completions API，需要通过代理进行协议转换。文章详细说明了配置步骤，包括设置代理服务、修改 Codex 配置文件等，并推荐了更稳定的中转服务满意AI。方案保持 Codex 原生配置，无需修改源码，适合轻量级测试和使用。]]></description><category></category></item><item><title><![CDATA[使用 Streamlit +gpt-4o实现有界面的图片内容分析]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/144298074</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/144298074</guid><author>sequoia00</author><pubDate>Fri, 06 Dec 2024 18:27:35 +0800</pubDate><description><![CDATA[在上一篇利用gpt-4o分析图像的基础上，进一步将基于 Python 的 Streamlit 库，结合 OpenAI 的 API，构建一个简洁易用的有界面图片内容分析应用。通过该应用，用户可以轻松浏览本地图片，并获取图片的详细描述。]]></description><category></category></item><item><title><![CDATA[利用OpenAI API 读取与分析图像：详细指南]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/144297861</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/144297861</guid><author>sequoia00</author><pubDate>Fri, 06 Dec 2024 18:13:36 +0800</pubDate><description><![CDATA[内部函数：编码图像为Base64# 获取Base64字符串messages=[},base64,]]></description><category></category></item><item><title><![CDATA[构建个人大模型问答助手（基于Streamlit +gpt-4o/o1-mini）：全面解析与实现]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/144264253</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/144264253</guid><author>sequoia00</author><pubDate>Thu, 05 Dec 2024 13:15:23 +0800</pubDate><description><![CDATA[本项目旨在通过Python和Streamlit框架，结合OpenAI的API，构建一个个人化的问答助手。该助手允许用户选择不同的语言模型，与之进行对话，同时管理聊天历史记录，实现保存、加载、备份和删除功能。通过这一项目，用户可以体验到类似于ChatGPT的对话体验，并根据需求进行定制。]]></description><category></category></item><item><title><![CDATA[利用pdf.js +FastAPI+openai-TTS 搭建 在线PDF 文档语音阅读服务]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/144259821</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/144259821</guid><author>sequoia00</author><pubDate>Thu, 05 Dec 2024 11:10:00 +0800</pubDate><description><![CDATA[PDF 文件上传与展示：用户可以上传 PDF 文件，并通过嵌入的 pdf.js 查看器在线浏览这些文件。文本转语音（TTS）：用户可以输入文本，系统将其转换为语音音频，并提供下载或在线播放功能。本文介绍了如何使用 FastAPI 构建一个集 PDF 展示与文本转语音功能于一体的 Web 服务。通过利用 pdf.js 提供的强大 PDF 浏览功能和 OpenAI 的 TTS 技术，实现了一个功能丰富且易于扩展的应用。希望本文对您在类似项目中的开发有所帮助！]]></description><category></category></item><item><title><![CDATA[将 Recurdyn 包装成 Gym 强化学习环境：独立摆测试]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/143338032</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/143338032</guid><author>sequoia00</author><pubDate>Tue, 29 Oct 2024 18:36:29 +0800</pubDate><description><![CDATA[将 Recurdyn 包装成 Gym 环境，可以结合物理仿真与智能算法，实现更加智能与高效的控制策略优化。例如，在独立摆系统中，通过强化学习算法寻求最佳的控制力矩，使摆杆达到稳定状态。]]></description><category></category></item><item><title><![CDATA[使用 LangChain 和 Neo4j 构建 GraphRAG 工作流]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/143328262</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/143328262</guid><author>sequoia00</author><pubDate>Tue, 29 Oct 2024 14:18:36 +0800</pubDate><description><![CDATA[本文将详细介绍如何使用 LangChain 和 Neo4j 构建一个 GraphRAG 工作流，并通过实际代码示例进行分步讲解，最后提供完整的代码实现。]]></description><category></category></item><item><title><![CDATA[如何用fastapi集成pdf.js 的viewer.html ，并支持 mjs]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/143310232</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/143310232</guid><author>sequoia00</author><pubDate>Mon, 28 Oct 2024 18:49:25 +0800</pubDate><description><![CDATA[fastapi 框架 集成pdf.js 的 viewer.html?file=***，支持跨域，支持.mjs .wasm .pdf 给出完整示例代码要在 FastAPI 框架中集成pdf.js的，并支持跨域访问以及.mjs.wasm.pdf文件的正确加载，可以按照以下步骤进行。下面提供一个完整的示例，包括项目结构、必要的配置以及完整的代码。]]></description><category></category></item><item><title><![CDATA[如何利用stable_baselines3强化学习，处理真实环境中，带噪声的场景]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/143309778</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/143309778</guid><author>sequoia00</author><pubDate>Mon, 28 Oct 2024 18:30:25 +0800</pubDate><description><![CDATA[如何利用stable_baselines3强化学习，处理真实环境中，带噪声的场景  ]]></description><category></category></item><item><title><![CDATA[使用 LangChain 构建基于自然语言生成 SQL 并查询 MySQL 数据库的智能代理]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/143035599</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/143035599</guid><author>sequoia00</author><pubDate>Fri, 18 Oct 2024 11:01:48 +0800</pubDate><description><![CDATA[自然语言处理（NLP）：解析用户的自然语言查询并生成相应的 SQL 语句。数据库交互：执行生成的 SQL 语句，并从 MySQL 数据库中获取数据。API 接口：提供一个可通过 HTTP 请求调用的 API，使外部应用程序能够使用该功能。我们需要一个工具，将自然语言查询转化为 SQL。这里我们利用 LangChain 的工具系统，结合 OpenAI 的 GPT 模型来生成 SQL 语句。# agent.pyimport requery: strprint(f"生成的 SQL 语句:\n。]]></description><category></category></item><item><title><![CDATA[Spark SQL 日期和时间戳函数]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/125545011</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/125545011</guid><author>sequoia00</author><pubDate>Thu, 30 Jun 2022 17:33:42 +0800</pubDate><description><![CDATA[Spark SQL 提供了内置的标准 Date 和 Timestamp函数，定义在 DataFrame API 中，所有函数都接受输入日期类型、时间戳类型或字符串。如果是String，是可以转换成日期格式，比如 或 ，分别返回date和timestamp；如果输入数据是无法转换为日期和时间戳的字符串，也返回 null。尽可能尝试利用标准库，因为与Spark UDF相比，它们在编译时更安全、可以处理 null 并且性能更好。为了便于阅读，将 Date 和 Timestamp 函数分为以下几组。在使用以下任何示]]></description><category></category></item><item><title><![CDATA[如何用vscode替代xshell]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/124211484</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/124211484</guid><author>sequoia00</author><pubDate>Sat, 16 Apr 2022 12:33:27 +0800</pubDate><description><![CDATA[公司管理日益严格，xshell收费也不含糊，所以只能找free的替代方案了，但是试了很多工具，都不是那么流畅或方便，另外如果用vscode来做开发，来回的切换工具也非常麻烦，vscode自带的terminal越来越方便，最新版本已经可以将terminal拖动到编辑区，所以能不能用vscode来替代xshell呢。
答案肯定是可以的，经过一顿ssh命令操作，和插件尝试，我终于找到了个比较好的配置方案，以后可以直接用vscode来登录不同主机，实现shell上的操作啦。
首先，要找到QUICKSSH这个插件

]]></description><category></category></item><item><title><![CDATA[kylin4.0在CDH6.3.2及Hadoop3.0环境部署避坑]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/124211231</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/124211231</guid><author>sequoia00</author><pubDate>Sat, 16 Apr 2022 12:10:57 +0800</pubDate><description><![CDATA[将kylin4.0部署在CDH6.3.2环境的某个节点上，当启动Kylin后,kylin会自动查找CDH的hadoop环境，并将其需要的配置文件等同步到hadoop_conf目录下。
这时用kylin自带的spark下载工具进行spark下载，下载后spark的jars包里会有一组与CDH匹配的jar包

看起来没有问题，但是在执行cube构建时，发现会报错：
Exception in thread "main" java.lang.ExceptionInInitializerError at org.ap]]></description><category></category></item><item><title><![CDATA[scala.util.parsing.json.JSON.parseFull导致的spark任务无法完成的问题]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/123232902</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/123232902</guid><author>sequoia00</author><pubDate>Wed, 02 Mar 2022 16:16:01 +0800</pubDate><description><![CDATA[在6台机器的CDH上处理1.5亿条数据时 ，发现经常出现大部分task完成后，只有几个task一直执行的情况，开始以为是数据发生了倾斜，经过加盐、repartition等操作都无法解决。且系统日志没有报错
后来以为可能是hive写入过慢，尝试转成文件存储到hdfs再导入外部表，发现有时仍然存在超长时间执行，且文件根本没有写入的问题。
最后分析sparkUI 当前任务执行的SQL状态，发现查询执行在某个map中应该已经完成的JSON解析位置，该位置利用scala.util.parsing.json.JSON.]]></description><category></category></item><item><title><![CDATA[spark DataFrame 根据条件替换数据中的值，并保留非条件的原始值]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/122967194</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/122967194</guid><author>sequoia00</author><pubDate>Wed, 16 Feb 2022 16:53:30 +0800</pubDate><description><![CDATA[otherwise子句不但能接收固定的值，还可以接收原来的列，保留列中原始的数据。如下：
dataF.withColumn(“newColumnName”,when(col(“columnName”).isNull,0).otherwise(col(“columnName”))).show(false)


]]></description><category></category></item><item><title><![CDATA[yum安装python-devel centos7显示：没有可用软件包]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/122731794</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/122731794</guid><author>sequoia00</author><pubDate>Fri, 28 Jan 2022 15:14:44 +0800</pubDate><description><![CDATA[尝试了很多python-dev python3-devel …名字，均没有可用的包，最后替换了下repo,再安装就好使了，
替换的源：
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

]]></description><category></category></item><item><title><![CDATA[spark sql select中传入可变参数列，并拆解动态Map列]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/122625439</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/122625439</guid><author>sequoia00</author><pubDate>Fri, 21 Jan 2022 17:08:57 +0800</pubDate><description><![CDATA[spark sql select中传入可变参数列，并拆解动态数组列
记录下对某个数组列进行拆解时，如何动态传入可变的参数问题
原来的静态写入形式：
 val resultAllDF = resultDF.select(
      col("wCycle").getItem("starttime").as("starttime"),
      col("wCycle").getItem("endtime").as("endtime"),
      col("wCycle").getItem("level]]></description><category></category></item><item><title><![CDATA[spark 读取clickhouse 非数值型字段并行分区设置]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/122624216</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/122624216</guid><author>sequoia00</author><pubDate>Fri, 21 Jan 2022 16:46:07 +0800</pubDate><description><![CDATA[spark 读取clickhouse 非数值型字段并行分区设置spark jdbc读取clickhouse
spark jdbc读取clickhouse
用spark采用jdbc读取clickhouse,mysql等数据库时，可以根据Long型设置分区字段，如下：
  def jdbc(
  url: String,
  table: String,
  columnName: String,    # 根据该字段分区，需要为整形，比如id等
  lowerBound: Long,      # 分区的下界]]></description><category></category></item><item><title><![CDATA[spark离线批处理写入kafka调优]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/108511554</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/108511554</guid><author>sequoia00</author><pubDate>Thu, 10 Sep 2020 12:03:29 +0800</pubDate><description><![CDATA[采用老版本spark(1.6)在离线批处理环境下，将DataFrame快速写入kafka，通常可以查到的大部分都是针对Spark-Streaming进行Kafka写入的说明，但是
在离线批处理环境下，也希望将批量计算的DataFrame中的数据直接写入到某个topic中，在spark2.0以上，可以直接采用spark-streaming的写入方式，只要
用read 代替 resdStream 和用 write代替 writeStream 即可。
例如，引入以下同步kafka的包
&lt;dependency]]></description><category></category></item><item><title><![CDATA[VScode 用socks5进行远程连接]]></title><link>https://blog.youkuaiyun.com/sequoia00/article/details/107506969</link><guid>https://blog.youkuaiyun.com/sequoia00/article/details/107506969</guid><author>sequoia00</author><pubDate>Wed, 22 Jul 2020 10:36:26 +0800</pubDate><description><![CDATA[Vscode不支持socks5代理，但是可以用remote-ssh+nc(ncat)来进行socks5代理连接，步骤如下：
1、windows下的nc只有1.X版本，没有-X -x的参数（Ubuntu下的有，但是无法在windows下用），因此需要用ncat来代替。首先下载ncat
2、在ssh/config中配置代理：
Host 00(sockTest)
  HostName IP地址
  User root
  Port 22
  ProxyCommand c://ncat --proxy-type s]]></description><category></category></item></channel></rss>