hackathon_test / qna.md
Elfe's picture
Update qna.md
4f3c434

关于 Hackathon 的 Q&A

Q: 怎样才算是完成了一个可以参加 hackathon 的机器人?

A: 只要实现了接口文档中的任一接口,即可将机器人接入到瀛海威广场。
这是一场几乎所有人都能参与的 hackathon。

  • 不会写代码的同学:只需要 duplicate demo 程序,修改其中的 prompt,就可以完成一个用 prompt 来定制的机器人。
  • 喜欢写代码的同学: 可进一步修改demo程序中的 chat 方法添加自己的逻辑。
  • 更高级别的同学:可以多多尝试 Hugging Face 上的各种模型,开发出更强大的机器人。

Q: 是否一定要使用 Hugging Face 的 Space

A: 不需要。你完全可以在你自己的服务器上部署服务。如果在自己的服务器上部署,需要按接口文档中的标准接口来实现。如果是对 HF 上 demo 的 duplicate space,只需要提供默认的 api 地址即可。

Q: 项目是否一定要开源

A: 不需要。如果是在 hugging face 上,你需要将 space 设置为 public。但你可以将代码托管在 github 上,将 github 的 token 存在 settings 中,然后 app 去 clone 该 repo。

Q: 我的代码准备开源,但是 openai 或 baixingai 的 apikey 不能公开呀。怎么处理?

A: 你可以把 key 放在 space settings 里的 Repository secrets ,然后通过 os.getenv("key_name") 来读取。

Q: 我需要多轮对话能力,如何实现?

A: 接口中的 uid 是用户的唯一标记,可以通过它查找历史对话数据。目前的多轮对话是通过线程间共享的全局变量来实现的,一旦 space 重启数据就将丢失。在实际应用时,应考虑存到数据库,并且读写操作可能需要加锁。