songquanpeng / one-api

OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用. OpenAI key management & redistribution system, using a single API for all LLMs, and features an English UI.
https://openai.justsong.cn/
MIT License
16.06k stars 3.73k forks source link

功能:需要支持内容审计,将外发及AI响应的内容记录下来 #1440

Open dashi6174 opened 1 month ago

dashi6174 commented 1 month ago

例行检查

功能描述

应用场景

MustAPI commented 1 month ago

你是想偷数据的吧

lomohuang commented 1 month ago

你是想偷数据的吧

真实生产场景确实是有这样的需求。无论是对内还是对外服务,有时候合规方面需要有这样的需求。

至于「偷数据」的假定我倒也有思考过,确实是个矛盾点,很难完美平衡。

mxdlzg commented 1 month ago

debug模式有日志,可以发es分析。不过debug会影响性能

aYYbsYYa commented 1 month ago

自写渠道,加上百度文本审核

proxyxai commented 1 month ago

AI 响应的内容, 没必要审计吧

aYYbsYYa commented 1 month ago

我可能是需要的,我自己写了渠道,支持了语音生成,bert-vits2等,或者其他get post都可以兼容,但是这语音生成有好有坏,怕被拿去干坏事,了解一下5s的音频gpt-sovits就可以克隆音色了

QAbot-zh commented 1 month ago

我感觉内容审计放在应用端做比较好,让one-api更加纯粹一点

songquanpeng commented 1 month ago

这个有隐私问题,建议放到网关层

JinCheng666 commented 1 month ago

debug模式有日志,可以发es分析。不过debug会影响性能

@mxdlzg 请问如何启用debug模式?我看了文档和现有issuses,都没有找到该如何开启debug模式。

我用xinference部署了qwen1.5:72b、llama3:70b,使用oneapi接入了fastgpt,聊天和补全都是没问题的,但工具调用一直失败,所以想看下oneapi接收和发送的请求是什么(fastgpt无法打印请求的具体信息) 相同的本地大模型,接入到dify中,是可以正常使用工具调用的能力。

这个问题卡我很久了,麻烦您有空帮我解答一下,非常感谢。

aYYbsYYa commented 1 month ago

我测试的时候,是用php写的中转达到接入我自己需要的

主要感觉是要构造json响应,仿造其他语言模型返回的样例,然后就可以正常调用,包括计费等

至于构造的里面具体值什么,测试过程中没影响,主要就是返回text image

这个是在one api那边测试渠道的时候,one api发送给渠道的json请求数据 image

php接收是

image

希望这些可以帮到你!

JinCheng666 commented 1 month ago

我测试的时候,是用php写的中转达到接入我自己需要的

主要感觉是要构造json响应,仿造其他语言模型返回的样例,然后就可以正常调用,包括计费等

至于构造的里面具体值什么,测试过程中没影响,主要就是返回text image

这个是在one api那边测试渠道的时候,one api发送给渠道的json请求数据 image

php接收是

image

希望这些可以帮到你!

@mxdlzg 感谢大佬解答。不知道我这样理解是否正确? oneapi没有debug模式,如果想获取请求详细信息,需要在应用到oneapi,或者oneapi和大模型的中间,加一层自己的应用,才能截获当前请求的具体信息。

aYYbsYYa commented 1 month ago

我测试的时候,是用php写的中转达到接入我自己需要的 主要感觉是要构造json响应,仿造其他语言模型返回的样例,然后就可以正常调用,包括计费等 至于构造的里面具体值什么,测试过程中没影响,主要就是返回text image 这个是在one api那边测试渠道的时候,one api发送给渠道的json请求数据 image php接收是 image 希望这些可以帮到你!

@mxdlzg 感谢大佬解答。不知道我这样理解是否正确? oneapi没有debug模式,如果想获取请求详细信息,需要在应用到oneapi,或者oneapi和大模型的中间,加一层自己的应用,才能截获当前请求的具体信息。

我是这样的,因为我要接入自己的tts api(vits-simple-api),然后看了one api的项目代码,发现有基本的支持,我寻思着得知道发过来的请求是啥,才能针对的截取要的进行返回 然后写了个基本的音频返回,遇到问题不会token计数了,key分发这些正常 然后我就再写个原样返回的语言接口,专门用来计费(这个理论也可以用于其他你任何想要计费的地方) 就是我通过oneapi的tts调用路径,调用到我的渠道,然后那个渠道再调用一次token计费渠道,再返回音频,上面的截图是token计费渠道的代码

因为翻了好几遍文档,gpt也问了(还想着它应该懂得自己的调用方式以及回调,结果不行)都没有,所以我就是采用中间截取数据的方式,再返回 image

JinCheng666 commented 1 month ago

@mxdlzg 明白了,再次感谢大佬。