Categories
日常应用

小试自定义GPT

最近不是在折腾LLM嘛,于是就试了两条路子:用openai的api,以及直接在openai的界面里面创建GPT。

前者没啥特别的,chatgpt的api做的很成熟了,from openai import OpenAI 之后直接在python里面调用几个现成的函数就好了。可选的参数其实也不多,主要就是prompt写的好一点就行。我的要求也不高,试了试基本满足。此外我还用到了微软 azure api,也很方便,两者一结合基本一个app就搓出来了,只是暂时还只能在命令行运行,没写前端ui罢了。

后者就麻烦了。我想着自己写前端ui还挺麻烦的,就想偷个懒直接在GPT里面弄弄看看行不。结果呢,现在这个版本实在是太挫了,只支持最最基本的action,虽然可以调用其他api,但还没研究出来怎么实现用户上传的文件扔到action api call里面。搜了搜他们的论坛也没啥结果,然后心累就到此为止了。

最后贴一下如何在openai 的GPT里面调用azure api。主要是api key那里实在是反用户直觉,我找了好久……一定要选 custom 然后把自定义的名字设为 Ocp-Apim-Subscription-Key 才可以。贴个图。

自定义 action -> authentication -> custom header name

当然azure api的文档做的也很差就是了,经常搜出来的是过时的文档,试一试都是404错误。哎,时间都花在这些琐碎的调试bug上了。

最后的结论是,在现在这个阶段,openai GPT的多模态做的还是太封闭,只适用于比较基础的交互需求,得等到后面允许自定义编程更丰富一些才可以。想做的稍稍复杂一点,写ui是逃不掉的了。web版还可以写个python+js凑和一下(flask这么轻量级的web开发框架真的是效率提升利器),app版xcode看了半天发现也是一等一的复杂……说好的ai改变程序开发呢?叹口气……

Categories
游来游去

uber的若干趣事

这次回上海出差、顺带体验了一下uber。主要的动机有这么几个:

  • 不想取现金和带太多现金,打车麻烦。
  • 不想回来贴一堆发票,uber直接发到邮箱里面多好。
  • 市中心高峰期经常打不到车、下雨天也打不到车。
  • 做一个有情怀的人...(呵呵)
  • 以后万一碰到uber的小帅哥呢,总要有话题吧...

总结开来,一些有意思的事情记录如下。

  • uber black是Audi a6起,但是也有奔驰s系之类。白天晚上打到的车明显不同,白天很多都是专职司机,穿着白衬衣一上车就很礼貌的。晚上就有很多业余玩票的了,讲究的是一种“情怀”,上车之后各种乱侃各种开心。不过基本只有市区繁华的地方才能打到。
  • people's uber就各种物美价廉,比打车便宜多了,最难叫车的时候都叫得到...各种偏远也叫得到。
  • 据说新天地晚上12点以后有各种豪车出没,据说大世界附近有3600万的跑车,据说外滩晚上有专门的uber生意。
  • 北京的uber感觉就没意思了,很多就是以前小区门口趴活的直接转行,各种斤斤计较,没有情怀...
  • uber确实帮助了京牌沪牌这种紧缺资源的解放,高峰期加价能打到车也是不错的体验。
  • uber一个账号全球通用,绑张信用卡就好了;就是能存各个国家不同的手机号就好了,每次改手机号还是挺麻烦的...(已经方便很多了好嘛!我实在是有点吹毛求疵呢)
  • 大美帝的uber特别无聊,就是代步的...还是国内的uber有意思啊。
  • 据说看一个地方的经济开放程度就要看那里对于uber的管制多不多....
  • 据上海的uber大叔讲,现在是最好的时机,因为反腐因为互联网人肉,没有领导敢出头搞这个事儿,谁出头谁被人肉谁倒霉...
  • uber还能记录每次打车的gps行程什么,这个数据拿出来玩玩应该蛮有意思的。以后无人汽车什么的...

就这些,以后再看到再补充。国内打车难、出租车行业各种顽疾居然被互联网治愈了,经济学家们你们有什么要发表意见的吗?

 

Categories
互联网产业观察 经济、IT观察与思考

[RAAT]第二话:如果,定格初见~

有句很煽情很酸的文字,叫做“人生若只如初见”,然后再随意的填上几个星星点点的省略号就可以了。初见,嗯,那么多人事匆匆,初见也显得格外珍贵了。有的时候,是不是一别,就不知道何时才能再相见?

如果,如果,你是一个软件的开发者或者网店店主,那么,你和每一位顾客的初见,又是什么样子呢?这个时候第一印象——第一次使用体验或者第一次购买体验,往往是决定了这到底是个回头客还是一去不复返。顾客都是懒的,他不会那么主动的给你提供那么多反馈,那么,你可以怎么了解到他的更多信息呢?如果你自己开发一个软件,那么恭喜,每一次和用户数据交互的时候,你都可以记录一些信息。然后这些信息累加起来,就成为了你们之间的来往信息。可问题是,就算打电话我也不能把她说的每句话都记住啊,更何况来来往往那么多数据。应该保留哪些呢?

好吧,不效仿什么“甄嬛体”了,还是“说人话”吧。继RAAT第一话说了说微博数据与network effect玩法之后,现在的问题是:

如果你是一个app的开发者,你应该记录哪些用户反馈/交互的信息呢?

这个问题是一位创业青年过年的时候问我的,到现在我也只能理出来一个简单的回复,真的是有些抱歉。同样的类似的问题,或者更general一点用学术化的语言来表达,那就是,

设计一个社会实验/survey的时候,你会问哪些问题、记录那些反馈呢?

或者说,当你面对一个回归分析问题的时候,

你会把那些变量放入回归方程呢?你关心的是哪些纬度呢?

这个问题可能是一个非常ad hoc的,往往需要根据一个具体的产品、业务或者目标来因地制宜的选择。比如,我想提高落园用户的粘性——好不容易来一次,多看几个网页呗,那么除了版式设计什么好看一点之外,我还得多观察一下博文之间的关联性——读过XX的,还倾向于点击XXX。这样,“相关博文”那里就可以优化一下,而不仅仅是现在这样基于tags的关联了——嗯,根据已有用户的阅读行为,来建立collective intelligence记录,然后向新的访客推荐。挺好的不是么?那显而易见的,为了达到这个目标,我需要记录每个访客(比如ip或者cookie识别),landing的网页及其来源、停留的时间、接下来点击的动作等等,大多数指标都可以在google analytics里面看到。

那么对于一个app,用户识别首先不是大的问题——需要购买嘛。这样的话,就不用劳神记录cookie什么的了。然后,从用户体验的角度,往往需要经历一个新手->热衷体验->维持一个稳定的访问/使用频率。依旧以我的这位朋友的产品为例,他们的产品叫做“我有啦”,是一个在线分享自己所拥有的物品的社交平台,类似于一个“物品签到”的概念。现在有个很具体的问题,怎么充分调用network effect来增加新用户、减少流失用户呢?这个过程中,需要什么样的数据呢?

所有基于SNS的产品推广的时期最重要的怕就是利用社会网络自身的network effect扩散特性,最成功的例子大概就是开心网当年利用病毒营销异军突起,利用虚拟游戏当中的奖励刺激用户去邀请自己的亲朋好友加入。然后,开心网的社交游戏特性,又进一步加强了这种朋友联系对于用户使用粘性的正作用(network effect在社交游戏中成功的例子还可见于最近很火的猜词游戏Draw Something)。从直觉来说,用户最乐意向他的朋友们推广一个应用的时候,应该是他使用热度最高的时候--尤其是这种以“炫富”+“拼爹”为卖点的app,不赶紧向自己周围的朋友们炫耀怎么可以呢?

为了识别一个用户的成长轨迹、以便于在他热度很高的时候给予一些奖励(尤其是虚拟地位勋章等等),来刺激他拉自己的朋友进来攀比,必要的数据记录自然是用户每天登陆的时间、地点,然后一连串的点击行为来判断他到底是在摸索这个软件怎么使用还是已经成为了一个熟络的高手(包括错误操作的提示和记录),这样就可以完成初期对于用户成长周期阶段的识别(被用滥了的CRM-customer relation management-系统基本概念之一)。一种理想的情况是,如果根据已有用户的成长记录,发现用户的每日使用时长或者每日点击量呈现S型曲线增长,区别只是增长基数、斜率不同,那么一个简单的函数拟合预测便可以得知用户使用高峰时点的来临,然后采取相应的激励措施。另外一个需要强调的是,在采取了任何策略之后,务必须要关注的就是用户的反馈,这样会知道上一期时点的选择是不是最优的——一种事后的反馈和假设参数的更新。

除了激励用户推荐给自己的亲朋好友之外,network effect另外的应用便是在用户呈现流失倾向的时候,利用朋友的力量来提醒他回来看看。这里有意思的是,根据最近一个基于facebook的研究显示,并不是“来邀请加入的朋友的数量”而是“这些朋友分属的圈子”对邀请成功率有更决定性的影响,因此提醒的时候需要发送的内容也应该是该用户最感兴趣的商品类别以及他最关心的朋友。这样,需要记录的就是他每次访问、评论物品等展现出来的行为,以及他朋友们的互动记录。

到此,直接的一种利用社交圈子的营销机制已经建立,后面进一步利用"用户-物品"双重联系的网路模型还可以进一步优化。暂时直觉只到这里。于我看来,一切所谓的营销都是一个营销资源最优化的投放问题:在最优的时间、对最合适人、采取最优的策略。如是来看,其实什么基于网络与否也只是对资源投放效果的一个预估,和其他一般的营销总体思路并无二致(p.s. 有意思的是,最近还被问到诸如电商 coupon 券应该怎么发放…一样的道理嘛,为了最大化ROI自然是在已有数据的基础上,分析并预测式选择反馈最大的人群,促成其关键购买行为成长环节的转化)。

上述局限:只能知道使用自己开发的产品的用户信息,无法得到并利用其他业务的使用信息,从而偏好数据来源受到极大局限,进而影响全方位对用户的偏好识别、把握以及差异化新产品的推广。换言之,交叉推荐等不可行。

这一话更多的是一些具体的问题和可能的对策,暂时不涉及技术实现策略。在最后一话,针对前两话涉及到的数据搜集及分析,将会尽量给出相应的解决策略,还请稍待片刻。