gemini-2.5-pro-exp-03-25-maxとのスキーマ互換性を修正#31
Conversation
| }), | ||
| query: z.object({ | ||
| force: z.union([z.literal(0), z.literal(1)]).optional(), | ||
| force: z.union([z.literal(0), z.literal(1), z.null()]).optional(), |
There was a problem hiding this comment.
別の話として、各 request param について.describeで model に教えてあげる必要があるかもしれません?
強制的に最大件数まで取得するかどうか。
0を指定した場合(既定)は前回取得分からの差分のみを返しますが、1を指定した場合は強制的に最新のメッセージを最大100件まで取得します。
| name: z.string(), | ||
| description: z.string().optional(), | ||
| link: z.union([z.literal(0), z.literal(1)]).optional(), | ||
| link: z.union([z.literal(0), z.literal(1), z.null()]).optional(), |
There was a problem hiding this comment.
この方法だと動作することは確認できたが、実際にnullを指定されると動作しない問題がある。
他の解決方法としては、z.number().optional() にする方法がある。
そうすると範囲外の2や3などが指定される可能性がでてくる。
なお、undefinedでは動作しない。
型的な良し悪しで語ると number のほうが望ましいと考える。
また、そもそもの問題として、APIの仕様として、booleanを0,1で指定するのが望ましくない。
しかし、booleanでは Chatwork APIは動作しない。
gemini-2.5-pro-expをサポートする場合は boolean か nullを範囲に加えた上で、Chatwork APIに送信する前にデフォルト値に変化したり、数値に変換するのが良さそう。
一旦、この方法で取り込むかは相談したい。
@sudame
There was a problem hiding this comment.
71f66f0 number().int().min(0).max(1).default(...で解決することにしました。
bb41dd0 to
71f66f0
Compare
eiel
left a comment
There was a problem hiding this comment.
min max指定できるのは気が付きませんでしたー。壊れなさそうなのでよさそうですね。
describeに関しては高精度なモデルの場合なくても認識できてるものが多そうでしたがあるほうが良いのは確かだと思うので良いと思います
Uh oh!
There was an error while loading. Please reload this page.