[开源自荐] ChatAPI - 一个让人类使用LLM API手动输出回复/工具调用的mock服务,可以用于Agent调试或者角色扮演

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社...
[开源自荐] ChatAPI - 一个让人类使用LLM API手动输出回复/工具调用的mock服务,可以用于Agent调试或者角色扮演
[开源自荐] ChatAPI - 一个让人类使用LLM API手动输出回复/工具调用的mock服务,可以用于Agent调试或者角色扮演
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
  • 我的帖子已经打上 开源推广 标签:
  • 我的开源项目完整开源,无未开源部分:
  • 我的开源项目已链接认可 LINUX DO 社区:
  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:
  • 以上选择我承诺是永久有效的,接受社区和佬友监督:

以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出


这个项目的起源是我之前开发一个可以自动查学校资料/表单帮学生和老师填表的LLM助手项目时,不希望把一些压测的代码(比如反复调用搜索来测试搜索次数限制有没有生效)直接写到代码里,我希望能用标准的llm调用流程(填一个地址和key)就能让系统调用到一个我手动设置的回复规则(比如每隔5秒输出一次tool calling或特殊内容输出),或是手动填入工具调用参数/手动流式输出内容的模拟(mock)api。

不过,如果只是这样的话,项目就有些太无聊了~和群友聊天之后,发现把自己封装成一个 llm api 给其他人调用其实是一个非常好玩的玩法,于是我就把这个项目宣传成了像 human2api 一样的东西()

于是,这个项目就诞生了:

ChatAPI

主要功能

  • 兼容 responses, messages(anthropic), chat 三套 api 格式
  • 在前端一键复制本次请求的 curl 写法,展开 debug 信息查看完整 request payload,tool schema 和 解析出的结构化调用信息(比如user agent,使用的 api-key 备注名称等)
  • 在服务端把 base64 图片完成解析并替换成 url,防止前端 debug 信息被大段 base64 图片淹没。
  • 手动输出 可以使用\n换行,回车键流式输出,最后点击结束输出断开连接。
  • 规则输出 可以匹配请求正则,设置单次输出延迟/重复频率,动作(流式输出内容,结束输出,工具调用)。
  • 如果有 conversation_id,可以合并会话。
  • 支持开放注册,接入 geetest 人机验证和邮箱验证

一些截图

主页(可自由替换)
工具调用和返回结果
解析图片

工具调用面板
规则编辑面板

后续开发方向

  • 支持常见的客户端根据聊天记录而不是 conversation_id 来合并会话
  • 还没想到(

2 个帖子 - 1 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文