<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>goofansu</title>
    <link>https://ruby-china.org/goofansu</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Arize Phoenix: 快速上手指南</title>
      <description>&lt;p&gt;公司在研发 AI 功能，面向 AI 编程具有很强的不确定性，为了明确知道哪些步骤会有问题，我们调研了市面上几款主打 LLM 可观测性的产品：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Braintrust: &lt;a href="https://www.braintrust.dev/" rel="nofollow" target="_blank"&gt;https://www.braintrust.dev/&lt;/a&gt; （开源了 web UI，核心功能未开源）&lt;/li&gt;
&lt;li&gt;Arize Phoenix: &lt;a href="https://github.com/Arize-ai/phoenix" rel="nofollow" target="_blank"&gt;https://github.com/Arize-ai/phoenix&lt;/a&gt; （完全开源）&lt;/li&gt;
&lt;li&gt;Langfuse: &lt;a href="https://langfuse.com/pricing-self-host" rel="nofollow" target="_blank"&gt;https://langfuse.com/pricing-self-host&lt;/a&gt;
（使用 Dify 的时候发现的，可自主托管核心组件，额外功能要付费）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这些产品的主要功能有：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prompt playground: 提供一个界面，可以方便地测试一些 prompt&lt;/li&gt;
&lt;li&gt;Dataset: 支持上传数据集，一般是定义 input、output，之后在评估和实验中会使用&lt;/li&gt;
&lt;li&gt;Tracing: 基本上使用 OpenTelemetry 收集 LLM 请求，收集后的对象叫作 Span&lt;/li&gt;
&lt;li&gt;Evaluation: 提供一些内置的评估器，也可以自己写评估器，评估数据集或 Span&lt;/li&gt;
&lt;li&gt;Experiment: 可以看成是使用评估器对数据集跑分，在每次更改 prompt、数据集、模型，都可以跑 Experiment，与之前的 Experiment 数据比较，以评估 AI 功能是变好了还是变差了&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;我们最开始使用的是 Braintrust，对于免费账号，它每周有额度限制，很容易就达到限制了，因为不能自主托管，所以我们开始寻找替代产品。
刚巧 Arize 发了一个课程：&lt;a href="https://courses.arize.com/p/ai-agents-mastery" rel="nofollow" target="_blank" title=""&gt;AI Agents Mastery: From Architecture to Optimization&lt;/a&gt;，然后发现它有一款开源产品，叫 Phoenix（没错，跟 Elixir 的 Phoenix 同名，直觉上肯定很牛），可以自主托管，甚至只用 Google Colab 就能直接跑，环境都不用装。我们使用了一段时间，发现 Phoenix 确实不错，麻雀虽小五脏俱全，虽然 UI 是差了一点，但是核心功能一样不少，而且刚拿了融资，release 速度飞快。&lt;/p&gt;

&lt;p&gt;最近会陆续把使用 Phoenix 的心得写成博客，这是第一篇：&lt;a href="https://blog.leonx.ai/posts/arize-phoenix-up-and-running/" rel="nofollow" target="_blank"&gt;https://blog.leonx.ai/posts/arize-phoenix-up-and-running/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;另外一点关于 Python 的 Tip：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;用 &lt;a href="https://docs.astral.sh/uv/" rel="nofollow" target="_blank" title=""&gt;uv&lt;/a&gt; 管理 Python 项目和安装依赖，其他的不用考虑了&lt;/li&gt;
&lt;li&gt;Python 在 AI 生态里还是被优先考虑的，必要的时候还是要拥抱 Python&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>goofansu</author>
      <pubDate>Thu, 13 Mar 2025 13:08:39 +0800</pubDate>
      <link>https://ruby-china.org/topics/44092</link>
      <guid>https://ruby-china.org/topics/44092</guid>
    </item>
    <item>
      <title>TextMate 2 进入 RC 了</title>
      <description>&lt;p&gt;刚才推送了升级，不容易啊，终于熬到 rc 了，不知道今年会不会出正式版，虽然最近 spacemacs 用得蛮爽，但是在我心中，还是觉得 textmate 是写 ruby 的&lt;/p&gt;</description>
      <author>goofansu</author>
      <pubDate>Tue, 15 Nov 2016 00:19:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/31595</link>
      <guid>https://ruby-china.org/topics/31595</guid>
    </item>
    <item>
      <title>wechat-starter - 5 分钟部署你的微信公众号</title>
      <description>&lt;h2 id="wechat-starter"&gt;wechat-starter&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/goofansu/wechat-starter" rel="nofollow" target="_blank"&gt;https://github.com/goofansu/wechat-starter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;一个微信公众号开发模版，简单实现了以下主要功能：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;接受和回复消息&lt;/li&gt;
&lt;li&gt;登录授权&lt;/li&gt;
&lt;li&gt;微信支付（需要服务号，并且开通微信支付）&lt;/li&gt;
&lt;li&gt;非常简便地使用 jssdk&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="Screenshots"&gt;Screenshots&lt;/h2&gt;
&lt;p&gt;&lt;img src="http://i.imgur.com/WimbzPX.png" width="300"&gt;
&lt;img src="http://i.imgur.com/urwmWZv.png" width="300"&gt;
&lt;img src="http://i.imgur.com/UPw6FRc.png" width="300"&gt;&lt;/p&gt;
&lt;h2 id="Demo"&gt;Demo&lt;/h2&gt;
&lt;p&gt;&lt;img src="http://i.imgur.com/IhT9poO.png" width="300"&gt;&lt;/p&gt;
&lt;h2 id="Deploy to Heroku"&gt;Deploy to Heroku&lt;/h2&gt;
&lt;p&gt;有同学在使用过程中遇到一些奇怪的问题，提了几个 issue，正好这两天有空，就把坑填了，顺便配置了一下"Deploy to Heroku"。&lt;/p&gt;

&lt;p&gt;简单说来，就是点击 README 的紫色按钮，填入微信公众号相关参数，点 Deploy 就 OK 了，整个过程 5-10 分钟足够了。&lt;/p&gt;
&lt;h2 id="后记"&gt;后记&lt;/h2&gt;
&lt;p&gt;前段时间把 wechat gem 的作者&lt;a href="/ericguo" class="user-mention" title="@ericguo"&gt;&lt;i&gt;@&lt;/i&gt;ericguo&lt;/a&gt;拉进来了，帮忙改进了很多，在此非常感谢。&lt;/p&gt;

&lt;p&gt;希望 wechat-starter 能给正准备开发微信公众号的朋友一点参考，也可以直接当模版使用。&lt;/p&gt;</description>
      <author>goofansu</author>
      <pubDate>Thu, 01 Sep 2016 02:31:54 +0800</pubDate>
      <link>https://ruby-china.org/topics/30957</link>
      <guid>https://ruby-china.org/topics/30957</guid>
    </item>
    <item>
      <title>微信开发 wechat-starter</title>
      <description>&lt;p&gt;提供一个项目模版，整合了微信开发的三个主要的 gem：wechat, wx_pay, omniauth-wechat-oauth2，希望能简化微信的开发&lt;/p&gt;

&lt;p&gt;项目地址：&lt;a href="https://github.com/goofansu/wechat-starter" rel="nofollow" target="_blank"&gt;https://github.com/goofansu/wechat-starter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;欢迎 PR 和 fork&lt;/p&gt;</description>
      <author>goofansu</author>
      <pubDate>Thu, 04 Feb 2016 09:21:58 +0800</pubDate>
      <link>https://ruby-china.org/topics/28948</link>
      <guid>https://ruby-china.org/topics/28948</guid>
    </item>
    <item>
      <title>[微信会员卡] 在公众平台上创建会员卡，总是提示 “参数错误，请核对参数后重试 “</title>
      <description>&lt;p&gt;这个错误不知道具体是哪里错了，我该填的信息都填了，请问有人遇到过吗？&lt;/p&gt;

&lt;p&gt;PS: 是指通过 mp.weixin.com.cn 里的“卡券功能”创建会员卡，不是通过 API。&lt;/p&gt;

&lt;p&gt;====update======
原因是因为客服电话没填，这项写着选填，实际是必填&lt;/p&gt;</description>
      <author>goofansu</author>
      <pubDate>Mon, 07 Dec 2015 20:56:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/28305</link>
      <guid>https://ruby-china.org/topics/28305</guid>
    </item>
    <item>
      <title>使用了 Turbolinks，在微信里 title 不会更新，有解决方法吗？</title>
      <description>&lt;p&gt;在 chrome 里 title 会变化的，但在微信里不会，有人遇到过这个问题吗？&lt;/p&gt;</description>
      <author>goofansu</author>
      <pubDate>Mon, 05 Oct 2015 12:35:00 +0800</pubDate>
      <link>https://ruby-china.org/topics/27554</link>
      <guid>https://ruby-china.org/topics/27554</guid>
    </item>
    <item>
      <title>「微信开发」有没有人遇到过修改接口配置信息不成功，但是实际是成功了的？</title>
      <description>&lt;p&gt;我在开发者中心里修改接口的域名，看到消息发到我的服务器上了，并且我也回复了 echostr，但是微信就是报“请求 Url 超时”。&lt;/p&gt;

&lt;p&gt;之后我试着对公众号发消息，发现微信把消息推送到新的域名了，顿时感觉平台很不靠谱啊。&lt;/p&gt;</description>
      <author>goofansu</author>
      <pubDate>Tue, 14 Jul 2015 00:34:33 +0800</pubDate>
      <link>https://ruby-china.org/topics/26468</link>
      <guid>https://ruby-china.org/topics/26468</guid>
    </item>
    <item>
      <title>请问有人用过 spreadsheet 吗？</title>
      <description>&lt;p&gt;用 spreadsheet gem 生成一个 excel，发现一个奇怪的问题，如下：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;require "spreadsheet"

Spreadsheet.client_encoding = 'UTF-8'
doc = Spreadsheet::Workbook.new
sheet = doc.create_worksheet
row = sheet.row(0)
row.push "进"
doc.write "/Users/suyejun/Downloads/test.xls"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;生成的 excel 用 Numbers 打开时就会报“文件格式无效”。&lt;/p&gt;

&lt;p&gt;用 Excel2010 打开，会报类似的错误，但是能看文件内容，内容与需求的一样，但是会有个警告提示类似的内容。&lt;/p&gt;

&lt;p&gt;测了一些其他汉字，没有这个问题，能正常打开 excel。&lt;/p&gt;</description>
      <author>goofansu</author>
      <pubDate>Wed, 16 Jan 2013 14:06:27 +0800</pubDate>
      <link>https://ruby-china.org/topics/8111</link>
      <guid>https://ruby-china.org/topics/8111</guid>
    </item>
  </channel>
</rss>
