Venice逆向思路+过程

Venice逆向思路+过程
HongShi今天下午看了看,之前的dolphin对话似乎已经似了,不太甘心,就继续上网扒拉,找到一个看着挺靠谱的站(他们家收录的dolphin的模型)而且我一看,你似乎也没有道德审查啊,那很好了,直接开逆。
思路整理
1.我打算用deno写,毕竟那玩意好写()
2.转发请求到venice,并且返回结果搞成OpenAI标准格式,并且支持流式响应
3.增加一个API KEY,别是个东西就能刷
开写!
API鉴权
首先搞定API鉴权,这没啥好说的,在请求头中检查 Authorization 字段,要求格式为 Bearer key,缺失或者不对直接一个401糊脸。
1 | function validateApiKey(req: Request): boolean { |
模型列表接口
然后又到了喜闻乐见的/v1/models环节,目前这个站只有俩模型,就直接写死在代码里了,后面改再加()还是喜闻乐见的OpenAI格式。返回一个固定的 JSON,列出可用模型。包含id、object、created等字段。
1 | function openaiModels() { |
chat接口
接下来是重中之重,聊天接口:/v1/chat/completions
需求:接收用户传入的 messages、model、temperature 等参数。转换为 Venice.ai 的请求格式(prompt、modelId 等)。发起请求并获取响应。
这个有两种模式:流式和非流
非流式:一次性拼接所有返回内容,组装成 OpenAI 的 chat.completion 格式。
流式:逐行读取 Venice.ai 的输出,每行 JSON 解析后立即转发为 SSE 格式的 data: {…},模拟 OpenAI 的流式输出。
1 | if (stream) { |
然后直接启动服务,声明一下路径就行了。
1 | serve(async (req: Request) => { |
大功告成!接下来愉快地去刷你的API去吧!
完整代码前往Venice2api逆向思路(附代码)(这个模型没有道德审查哦~) - 开发调优 / 开发调优, Lv2 - LINUX DO获取
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果









![[折腾笔记]小狼毫输入法](/images/cover/%E5%B0%8F%E7%8B%BC%E6%AF%AB.png)



