yihong0618 / xiaogpt

Play ChatGPT and other LLM with Xiaomi AI Speaker
MIT License
6.03k stars 839 forks source link

feat: support LangChain #344

Closed dongjing007 closed 10 months ago

dongjing007 commented 10 months ago

Implement local services: search, mathematical operations, email summary

yihong0618 commented 10 months ago

@yihong0618 @frostming @pjq can you help to review this, seems amazing

dongjing007 commented 10 months ago

演示: 1、注册 serpai,将key写入环境变量 export SERPAPI_API_KEY=xxx 2、调用服务:python xiaogpt.py --hardware Lx06 --use_langchain --mute_xiaoai --stream --openai_key ${your_api_key} --serpapi_api_key ${your_serpapi_key} 3、query eg:'杭州亚运会中国队获得了多少枚金牌?' /// '计算3的2次方' // '帮我总结今天收到的邮件'(需配置邮箱信息)

运行:

image

待办: 1、历史对话记录,待使用LangChain扩展 2、目前仅支持--stream流

xiaogpt很棒,谢谢提供这么好玩的项目!关于pr有任何问题,欢迎联系告知,致敬~ :)

yihong0618 commented 10 months ago

@dongjing007 感谢。有个小建议,能把注释和 print 改成英文么?不是因为我们是国际化的,而是之前用英语弄的,稍微统一一点儿。

hint:

pip install -U black black .

yihong0618 commented 10 months ago

可能需要把你的工作添加到 README 里

dongjing007 commented 10 months ago

@dongjing007 感谢。有个小建议,能把注释和 print 改成英文么?不是因为我们是国际化的,而是之前用英语弄的,稍微统一一点儿。

hint:

pip install -U black black .

好的,沒问题,我改下~

dongjing007 commented 10 months ago

可能需要把你的工作添加到 README 里

好的,我再补充下

dongjing007 commented 10 months ago

@yihong0618 你好,已经对PR进行了优化:
 fix:

style:

docs:

麻烦再看一下,是否还有其他问题,谢谢~ 😃

yihong0618 commented 10 months ago

好的,可能晚上看哈,白天有点事情。

dongjing007 commented 10 months ago

好的,可能晚上看哈,白天有点事情。

嗯嗯,不急的,有空再处理

yihong0618 commented 10 months ago

测试了大部分代码没问题,有个小的疑问是,邮件这个功能稍微比较私人话,我们可以把他移动到 langchain/examples 之类的么? 仅仅保持搜索功能。

dongjing007 commented 10 months ago

测试了大部分代码没问题,有个小的疑问是,邮件这个功能稍微比较私人话,我们可以把他移动到 langchain/examples 之类的么? 仅仅保持搜索功能。

好的,已优化 ~

refactor:

fix:

PS: 1、原意是用email总结,示例如何接入langchain自定义 😊
2、PR的代码,我都会从0搭环境和包测试,过程中发现原项目有个默认值设定bug🐛,已一并修复

image
yihong0618 commented 10 months ago

@dongjing007 thanks merging now.