Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add RQA tools for Tianji #29

Merged
merged 24 commits into from
Feb 22, 2024
Merged

Add RQA tools for Tianji #29

merged 24 commits into from
Feb 22, 2024

Conversation

liuxianyi
Copy link
Contributor

添加 外挂知识库RQA

tianji/knowledges/script/demo.py Outdated Show resolved Hide resolved
tianji/knowledges/script/model/internlm_llm.py Outdated Show resolved Hide resolved
@sanbuphy
Copy link
Contributor

sanbuphy commented Feb 1, 2024

你好! 感谢PR! 有一些小问题已经 review,顺带这个能否在运行时构建知识库(我们人工给他指定一个地址读取知识库即可,可参考 tianji/agent 的简单知识库部分

@sanbuphy
Copy link
Contributor

sanbuphy commented Feb 3, 2024

LGTM

@liuxianyi
Copy link
Contributor Author

LGTM

?

Copy link
Contributor

@sanbuphy sanbuphy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bin文件 和sqlite 需要使用时构建,不能直接推到仓库;已review完可以看看~

run/tianji_rqa_demo.py Outdated Show resolved Hide resolved
embeddings = HuggingFaceEmbeddings(model_name="/root/weights/model/sentence-transformer")

# 向量数据库持久化路径
persist_directory = '/root/datasets/liyi/datasets_emb/chroma'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if __name__ == "__main__":
# 定义持久化路径
persist_directory = '/root/datasets/liyi/datasets_emb/chroma'
data_directory = '/root/datasets/liyi/datasets/'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# """
# system_prompt = """你是一名AI助手名为天机(SocialAI),也可称为来事儿AI。它能够处理中国传统人情世故的任务,例如如何敬酒、如何说好话、如何会来事儿等。
# """
system_prompt = """你是一名AI助手名为天机(SocialAI),也可称为来事儿AI。它能够处理中国传统人情世故的任务,例如如何敬酒、如何说好话、如何会来事儿等。
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

systemprompt 直接写最简单的就好,对于信息抽取是构建知识库的内容,对话中不会用到


@property
def _llm_type(self) -> str:
return "InternLM2"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

type 应该是zhipu

**kwargs: Any):
# 重写调用函数
# system_prompt = """You are an AI assistant whose name is InternLM (书生·浦语).
# - InternLM (书生·浦语) is a conversational language model that is developed by Shanghai AI Laboratory (上海人工智能实验室). It is designed to be helpful, honest, and harmless.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

删除冗余代码

system_prompt = """你是一名AI助手名为天机(SocialAI),也可称为来事儿AI。它能够处理中国传统人情世故的任务,例如如何敬酒、如何说好话、如何会来事儿等。
"""
# system_prompt = """你是一名AI助手名为天机(SocialAI),也可称为来事儿AI。它能够处理中国传统人情世故的任务,例如如何敬酒、如何说好话、如何会来事儿等。
# 你是一个信息抽取的知识库语料准备能手,你需要把我给你的文章做成几个知识点,这个知识点类似问答对的回答(陈述句的描述,不需要提问,比如:苹果是一种水果,可以吃和烹饪,而且是红色的,长在大树上),你不需要分1、2、3、4点, 只需要把相关的知识都划分成一个段落就好, ``` 例子如下,假设我首先发了这个文章: 在商务宴请中有一个很重要的礼仪,如果你忽视了,会让你的客户觉得你很没有分寸。大家都知道在饭桌上谈生意,往往会比在办公室正儿八经坐着谈成的几率会更大。在这其中当然离不开酒的路牢,所以在商务宴请中敬酒的礼仪是非常重要的。 敬酒时先给对方斟酒,然后再给自己斟酒。右手拿酒杯,左手托杯底。咱们的酒杯要比对方低一点,如果对方比较谦虚,放的比我们低,我们可以用左手轻轻的将对方的酒杯托起,这样会显得尊重。喝完酒为了表达咱们的诚意,我们可以用敬酒的手势把杯子微微倾斜,杯口朝向对方,不用再把杯子直接倒过来,会显得很不雅。大家在敬酒的时候呢,还有哪些注意事项呢?咱们可以留言一起讨论一下。 你的回答是富有知识冷静的回复,如下作为一个整体:商务宴请中,礼仪的遵循对于给客户留下良好印象至关重要,饭桌上的生意洽谈通常成功率较高。在敬酒环节,应优先为对方斟酒,随后再为自己斟,且需用右手持杯,左手托底。敬酒时,酒杯应保持低于对方酒杯,以示尊敬;若对方酒杯位置更低,可轻轻用左手托起对方酒杯。喝完酒后,应以敬酒手势将杯子微微倾斜,杯口朝向对方,避免直接倒转酒杯,以维持礼貌和风度。 ``` 接下来你帮我解析新的知识,你只需要回复这个新的知识文章相关的内容就好,不要回复例子的内容!文章如下: ``` 你知道一场正式饭局的喝酒流程和敬酒节奏吗?如果不知道这个视频,一定要点赞收藏,因为你早晚用的上一场商务酒局。一般有这六个阶段,而大部分人在第二和第五阶段最容易犯错。接下来咱分别说说,先说这酒局第一阶段开场的共同酒喝多少你得看主场。山东人讲究主副陪轮流领酒,共同干杯制,而河北的多数地方习惯共同喝前三杯,不同地方有不同讲究,大家也都可以留言说说看你当地有什么讲究。如果大家点赞关注够热情,我后期可以专门出一集全国各地喝酒习俗的总结。 这第二阶段就是东道主开始敬酒了。这时候一般都是东道主或主陪率先从主宾开始依次向每一位客人敬酒,这个阶段依次和轮流意识很重要。如果你是客人,可千万别在这种时候为了表示你的谢意去回敬主人,因为还没到该你出场的阶段,到了第三阶段,你作为客人就可以回敬了。可以由你方领头的带着大家先共同回敬,然后再分别回敬。 接着进入第四阶段,喝主题酒及重点酒,根据被情者与主题的关系把主题点出来,喝进去是桌上人明白为啥喝这场酒。嘿嘿这第五阶段就是自由酒阶段了。跟谁投脾气就可以过去跟他喝杯相见恨晚酒。跟谁还有未了的话题可以用酒来讨教,看谁不顺眼也可以用酒来挑战。尤其是带着任务来了,一定要抓紧时间落实任务,因为过了这阶段就不自由了。 在第六阶段,也就是最后喝满堂红了,差不多该散席了。主陪一般都会发话,大家各扫门前酒,共喝满堂红。这杯酒喝下去意味着酒事正式结束,下面的节目能吃吃该吐吐。商务宴请中,礼仪的遵循对于给客户留下良好印象至关重要,饭桌上的生意洽谈通常成功率较高。在敬酒环节,应优先为对方斟酒,随后再为自己斟,且需用右手持杯,左手托底。敬酒时,酒杯应保持低于对方酒杯,以示尊敬;若对方酒杯位置更低,可轻轻用左手托起对方酒杯。喝完酒后,应以敬酒手势将杯子微微倾斜,杯口朝向对方,避免直接倒转酒杯,以维持礼貌和风度。 ```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

删除冗余代码

return out

if __name__ == "__main__":
ori_data_path = "/root/datasets/liyi"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

需要写一些注释来标注该文件用法(也可以使用gpt帮助写),文件名应该用下划线,比如 process_data.py

@sanbuphy
Copy link
Contributor

sanbuphy commented Feb 5, 2024

@jujimeizuo 麻烦老哥一起review看下~ 有无新的意见

@sanbuphy sanbuphy self-assigned this Feb 5, 2024
基于Chroma检索数据库;
基于Sentence-Transformer词向量模型构建的外挂礼仪(Liyi)知识库。
"""

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里的路径可以参考tianji/agents/knowledges/config.py,TIANJI_PATH 是可以自动获取项目根目录

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

可以看下最新的 commit

@jujimeizuo
Copy link
Member

LGTM

Copy link
Member

@jujimeizuo jujimeizuo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM



class Model_center:
def __init__(self):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

需要注释(这个东西的作用

"""

# 原始数据位置 online 设置为空
ORIGIN_DATA = ""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

有关这种需要配置的文档,可以在 docs目录下 新增一个 文档解释(有哪些参数可以修改

@sanbuphy
Copy link
Contributor

文档应该是 向量数据库问答 RQA , 不是 agent ;修改后基本就合入~

@sanbuphy sanbuphy merged commit 6db168c into SocialAI-tianji:main Feb 22, 2024
@sanbuphy
Copy link
Contributor

已合入,感谢贡献!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants