构建多语言医疗保健聊天机器人的步骤:使用lama和drant

以下是该项目的源代码和数据源。

准备深入探讨:

踏上一场变革之旅,探索先进AI的世界,我们将创建一个前沿的多语言医疗保健聊天机器人。在这份全面的指南中,我们将利用Qdrant、LangChain和OpenAI的力量,构建一个打破语言障碍的复杂对话式AI。

无论你是AI爱好者、经验丰富的开发者,还是介于两者之间的某个人,本教程都将为你提供创建能够突破可能界限的AI应用程序的知识和技能。阅读完本文后,你将具备构建智能、多语言系统的基础,这些系统能够适应各种应用场景。

准备迎接挑战,扩展你的AI工具箱,并加入塑造对话式AI未来的一流创新者行列。让我们开始这次激动人心的现代聊天机器人开发之旅!

图片由 Code With prince 提供

图片由 Code With Prince 创建

一旦所有数据下载成功,我们还需要获取Qdrant和OpenAI的API密钥。

一旦你生成了OpenAI的API密钥,你可以回到VS-code中,打开.env文件,并添加以下内容:

图片由Code With Prince提供

在屏幕左侧的侧边栏中,点击“集群”按钮。

点击屏幕右上角的“创建”按钮,填写详细信息以创建您的集群

图片由 Code With Prince 创建

图片由Code With Prince制作

完成之后,你应该能够在仪表板中看到创建的集群。

图片由 Code With Prince 创建

点击集群名称以跳转到集群仪表板。

图片由 Code With Prince 创建

在那里,你应该能够看到集群的详细信息。

图片由 Code With Prince 创建

为了获取你的Qdrant API密钥,你需要点击屏幕最左边的“数据访问控制”按钮。

图片由Code With Prince提供

完成之后,点击屏幕右上角的“创建”按钮。填写详细信息并创建您的API密钥。

图片由Code With Prince提供

选择你想要为其创建API密钥的集群,然后点击确定。

图片由 Code With Prince 提供

请勿点击模态框外部,并轻轻复制第一个输入框中出现的API密钥。

一旦复制好,你可以回到VS-code中,打开.env文件并将它添加进去。

我们也需要刚刚创建的集群的 URL 或 “端点”;你可以通过点击侧边栏的“集群”按钮来获取该 URL。

图片由 Code With Prince 创建

一旦复制好,请将其粘贴到.env文件中,如下所示:

我们将使用OpenAI的文本嵌入模型来创建您的文本文档的向量表示。为此,我们需要在.env文件中设置一些环境变量。

在这一重要部分,我们将深入探讨如何将数据导入Qdrant Cloud,这是一个强大的向量数据库,将作为我们高级文档检索系统的基石。通过创建一个复杂的向量索引,我们将解锁执行闪电般快速相似性搜索的能力,从而能够以前所未有的准确度找到最相关的文档来回答用户的问题。

为了使这个系统变得生动,我们将利用OpenAI最先进的嵌入模型。这些前沿的模型将把我们的原始文本数据转换为丰富、多维度的向量表示,捕捉每个文档的细微语义。

到本节结束时,你将拥有一个强大的向量索引,准备好彻底改变你的信息检索和查询回答方法。

作为参考,这里是我的项目目录结构的视图:

图片由Code With Prince提供

这个设置将为我们向量索引和相似性搜索能力提供基础。

一旦我们使用Pandas读取了CSV文件,我们将把每一行数据转换为LangChain文档。

现在让我们使用Pandas读入清洗后的数据:

图片由Code With Prince提供

从这里,我们可以继续创建LangChain文档,以下是实现这一操作的代码:

每个文档都有一个唯一的标识符。让我们继续创建这些文档:

现在我们已经准备好了文档,接下来需要将它们嵌入并存储在我们的向量数据库中,本例中为Qdrant Cloud。为此,我们首先需要连接到刚刚创建的Qdrant Cloud实例。

为此,我们需要以下代码块:

注意:代码片段未被翻译,保持原样。

图片由Code With Prince提供

我们可以使用以下代码检查是否已经有现有的集合:

图片由Code With Prince提供

从上面的图片中可以看到,我已经有一些集合,这些集合是我学校项目中正在使用的。我们将为这个项目创建一个新的集合,如果你当前还没有任何集合,也不用担心。

为了创建一个集合,我们需要以下代码块:

现在,让我们使用上述信息在Qdrant云中创建集合:

图片由 Code With Prince 创建

现在我们已经创建了集合,可以回到Qdrant Cloud控制台查看创建的“集合”。点击屏幕右上角的“打开控制台”按钮。

图片由Code With Prince提供

图片由 Code With Prince 创建

我们现在继续连接到这个集合。为此,我们将使用以下代码块。

首先,我们需要创建OpenAI嵌入模型的实例。我们将使用text-embedding-3-small模型。

_QdrantVectorStore_ 支持三种相似性搜索模式。这些模式可以通过设置类时的_retrieval_mode_ 参数进行配置。

稠密向量搜索(默认)

稀疏向量搜索

混合搜索

如果你希望使用稀疏或混合搜索,你需要使用SparseEmbeddings。

仅使用稀疏向量进行搜索时,

在我们的情况下,我们将使用默认的 DENSE 检索模式。

图片由Code With Prince提供

我们现在准备将最初创建的文档插入到我们的Qdrant云集群集合中。这个过程称为“Upsert”。

add_documents 方法将使用创建向量存储集合时指定的 OpenAI 模型来生成嵌入。它还将使用我们最初创建的 uuids 独特地标识每个文档。

图片由 Code With Prince 创建

这是我们向集群集合中插入数据所需的一切。

现在我们已经将数据嵌入并索引到Qdrant云集合中,我们可以继续对其进行一些查询,通过提问来看看返回的数据是什么。

这里我指定了想要执行相似性搜索,并返回与查询最接近的k篇文档。k是一个变量,你可以为它指定任何值。只需记住,这个值应该是合理的;不要指定一个荒谬的值,比如1000。

默认情况下,您的文档将存储在以下负载结构中;例如:

疾病:登革热 描述:由登革病毒(登革病毒属)引起的急性传染病,通过埃及伊蚊传播,表现为头痛、严重关节痛和皮疹。——也称为骨痛热、登革热。立即行动:喝木瓜叶汁 医疗建议:避免食用油腻辛辣食物 饮食指导:防止蚊虫叮咬 长期管理:保持水分 [{‘Disease’: ‘Dengue’, ‘_id’: ‘8320500c-c4d2–4143–9263–83fbd5e4170b’, ‘_collection_name’: ‘healthcare_collection’}]

你可以看到我们有正确的数据可以用来回答用户的问题。

完成这一部分后,我们可以继续构建多语言聊天机器人。

对于我们的初始设计,这是我目前考虑实现的内容。我只是想暂时说出来。请看这个图:

图片由Code With Prince提供

流程形成了一个完整的循环:

这种架构允许聊天机器人在处理和回答查询时保持单一的核心语言,同时为用户提供多语言界面。它有效地将语言翻译任务与核心问答功能分离,使系统更加模块化,便于维护或为其他语言进行更新。

我们需要翻译器的原因是,嵌入是从英文文本生成的,而用户可以选择使用任何语言。那么,我们如何确保能够创建与从英文文本生成的嵌入具有相似意义的嵌入呢?这就是为什么我们需要翻译层的原因。希望这对你有帮助。

让我们继续前进,实现这个架构。

为了开始使用Llama-3.1,首先需要创建一个Groq账户并获取Groq的API密钥。

Groq 是一家成立于2016年的创新型AI公司,专注于高速AI推理解决方案。其开创性的语言处理单元(LPU)技术,专门设计用于AI推理和语言处理,提供了前所未有的速度、成本效益和能源效率。与传统的GPU不同,Groq的LPU在AI硬件架构上实现了根本性的转变。通过在云端和本地环境中提供快速的AI推理,Groq为各行各业带来了下一代的AI创新和生产力。

图片由Code With Prince提供

如果你不想使用Groq,另一个选择是将Llama-3.1本地下载并在本地运行。由于我没有足够的计算资源来演示这一点,所以我们将继续使用Groq API。

图片由 Code With Prince 创建

替换为你复制的API密钥。

重要说明:

要探索Groq-LangChain的集成,只需导航到GroqCloud文档中的“LangChain集成”部分,这将引导您访问官方LangChain文档以获取详细的实现说明。

图片由 Code With Prince 创建

图片由 Code With Prince 创建

要安装LangChain-Groq集成包,请使用此处的命令,如官方文档中所述。

我们也需要安装 python-dotenv 包来帮助我们读取 .env 文件中的环境变量。还记得我们在里面存储了什么值吗?

从上面的描述中,我们讨论了Groq的API密钥。我们将其存储在了一个安全的位置。那么,我们该如何在代码中读取它呢?

为了在代码中读取环境变量,我们需要在同一个笔记本中创建一个新的单元格并运行以下代码块:

图片由 Code With Prince 创建

让我们进入旅程中令人兴奋的部分。在你的当前笔记本中,创建一个新的单元格并执行以下代码片段以启动Llama-3.1:

只是为了测试,我将使用来自LangChain官方文档的这段代码:

图片由Code With Prince提供

我们的医疗保健聊天机器人支持多语言,这意味着它可以理解多种语言。因此,我们需要一个链来将用户的输入转换为一种通用语言,在这种情况下是英语。

俗话说,一图胜千言,所以我想要做的是如下所示。

图片由 Code With Prince 创建

但我们为什么要将用户输入翻译成英语呢?原因是我们所创建的嵌入模型是基于英文文本语料库的。

要开始,请安装以下依赖项和包:

完成这一步后,导入以下库:

为了提升我们的翻译链的性能,我们将进入结构化输出的世界。为什么要满足于混乱,而不能追求精准呢?让我们创建一个解析器,让它成为我们AI的私人造型师,确保每个输出都符合我们期望的字段和数据类型,完美呈现。

看这里,这段代码将把我们的原始AI构思转化为结构化的精华:

这个强大的解析器是你的关键在于:

一致、干净的数据结构

方便进一步处理的可操作输出

通过实现这个解析器,我们不仅在进行翻译,更是在将信息塑造成最完美的形式。准备好见证结构化AI输出的美妙之处吧!

提示工程是为像Llama-3.1这样的AI模型生成最优输出而设计精确指令的艺术与科学。这是AI开发中的一项关键技能,涉及精心设计文本提示以引导模型的响应。通过微调这些提示,开发人员可以显著提高AI生成内容的准确性、相关性和实用性。

在我们的项目中,我们利用提示工程优化翻译链,确保结构化输出,并根据我们的具体需求调整Llama-3.1的响应。掌握这种技术使我们能够充分发挥AI的潜力,将强大的语言模型转化为处理复杂语言任务的精调工具。

要开始,请创建一个新的单元格并运行以下代码块:

将各个部分组合起来构建链:

测试我们的翻译链:

图片由Code With Prince提供

一旦翻译做得很好,我们就能回答各种语言的问题了!

图片由 Code With Prince 创建

有了这些信息,我们需要创建一个功能,将检索到的信息传递给聊天机器人,以便使用检索到的信息作为上下文正确地回答我们的问题。

这将使用LangChain表达语言来构建LLM链。

机器人的响应:

‘疟疾是由疟原虫家族的原生动物寄生虫引起的一种传染病,可以通过蚊子(尤其是按蚊)叮咬、受污染的针头或输血传播。恶性疟疾是最致命的一种。’

图片由Code With Prince提供

最后,我们需要将生成的答案翻译回用户查询的原始语言。

{‘source_language’: ‘English’,‘target_language’: ‘French’,‘target_text’: ‘疟疾是由疟原虫(属于间日疟原虫家族)引起的一种传染病,可以通过受感染的蚊子(按蚊属)、受污染的针头或输血传播。恶性疟疾是最致命的一种疟疾。’}

带您回顾我们最初设计的多语言聊天机器人:

图片由 Code With Prince 创建

我们已经成功构建了应用程序的所有子模块。现在我们只需要将它们整合起来。我创建了一个函数,我们可以使用它来实现这一目标:

准备用斯瓦希里语(主要来自东非的一种语言)向多语言医疗聊天机器人提问。

图片由 Code With Prince 创建

{‘question’: {‘source_language’: ‘斯瓦希里语’,‘target_language’: ‘英语’,‘target_text’: ‘什么是疟疾?’},‘response’: {‘source_language’: ‘英语’,‘target_language’: ‘斯瓦希里语’,‘target_text’: ‘Malaria ni ugonjwa wa kuambukiza unaosababishwa na vimelea vya protozoa kutoka kwa familia ya Plasmodium ambavyo vinaweza kusambazwa kwa kung’ata kwa mbu wa Anopheles au kwa kuchoma sindano au kwa njia ya damu. Malaria ya Falciparum ni aina inayoweza kuua zaidi.’},.‘sources’: [Document(metadata={‘Disease’: ‘Malaria’, ‘_id’: ‘1497e650–06e7–458c-a542–9f8815e7303f’, ‘_collection_name’: ‘healthcare_collection’}, page_content=’Disease: 疟疾 Description: 由疟原虫属的原生动物寄生虫引起的传染病,可以通过按蚊叮咬或被污染的针头或输血传播。恶性疟疾是最致命的类型。立即行动:咨询最近的医院 医疗建议:避免食用油腻食物 饮食指导:避免食用非素食食物 长期管理:防止蚊子进入’)]}

机器人回复如下:

“疟疾是由疟原虫(来自疟原虫属的寄生虫)引起的疾病,这些寄生虫可以通过雌性按蚊叮咬传播,也可以通过输血或使用污染的针头传播。恶性疟疾是最致命的一种。”

恭喜你完成了这个旅程!你现在掌握了使用Qdrant、LangChain和OpenAI构建先进多语言聊天机器人的技巧。你新获得的技能包括:

这个坚实的基础为无数创新项目奠定了基础。你所学到的工具和技术不仅仅是理论上的——它们是构建能够改变行业的实际AI应用程序的基石。

记住,AI 创新的旅程是持续的。不断实验,不断学习,最重要的是,不断构建。AI 的未来掌握在你的手中——你接下来会创造什么呢?

THE END
0.AI翻译护航人形机器人运动会:打破语言壁垒,共探人机协作未来从服务过北京冬奥会、成都大运会、世乒赛等顶级赛事的“讯飞同传”,到广泛应用于商务洽谈、日常交流的讯飞翻译机、讯飞翻译APP,其成熟的技术体系已在全球50余个国家、超40万场国际会议中得到验证。此次护航全球首届人形机器人运动会,是这套成熟技术体系在“机器人+AI”这一前沿交汇点上的又一次成功应用与焕新升级。它jvzquC41pg}t0|npc0ipo7hp1unbpp}wph{tjns14286/9=/385eg}fkn/oohvh|{o;8:><720yivvq
1.Robot是什么意思Robot的翻译音标读音用法例句首页 翻译 AI工具箱 AI 英文校对 词霸下载 其他 登录 翻译 、Robot 翻译 、机器人 以上结果来自机器翻译。 释义jvzquC41o0odkkf0eqs0'N8':2+93[tdqv
2.机器人的英文翻译机器人英文怎么说?机器人机器人 中文机器人 英文android; automaton; robot 【计】 robot 【化】 robotjvzquC41jctzkwlekfobp7goez4dqv4lksosgwdajctzkwlujq}0
3.robot中文(繁体)翻译:剑桥词典(robot在剑桥英语-中文(繁体)词典的翻译 © Cambridge University Press) robot的翻译 中文(简体) 机器, 机器人, 人… 查看更多内容 西班牙语 robot, robot [masculine, singular]… 查看更多内容 葡萄牙语 robô, robô [masculine]… 查看更多内容 更多语言 需要一个翻译器吗? 获得快速、jvzquC41fkiukxsct{4dcvgtkfmf0xwi1|nt1.J:'CL&:M*G7'>6'K=1'G>&:K*D3'K9'JK'CF3&G?*D3'>:'N='CH+BF6*G9'H:'A6'G6+CF.>51tucq}
4.机器人的英文机器人翻译机器人英语怎么说海词词典,最权威的学习词典,专业出版机器人的英文,机器人翻译,机器人英语怎么说等详细讲解。海词词典:学习变容易,记忆很深刻。jvzq<84fkez/ew4'G8+:E.GC'G;&;B*C:'K5'KF'DC
5.机器人感知与规划笔记(1)Introduction机器人控制涉及感应、处理和行动三个阶段,采用不同类型的控制架构,如协商式、基于行为的和混合架构。此外,强调了机器人在非结构化环境中的自治、临场能力和适应性。学习和适应是现代机器人的重要特性,包括通过监督学习、模仿和探索学习来解释传感器信息、学习新策略和任务。jvzquC41dnuh0lxfp0tfv8|gkzooa=8:839628ftvkimg8igvcomu862;8>4;?>
6.中国新闻网中国机器人在机器人世界杯上任翻译口译曾获第一中新社合肥7月19日电(记者张素吴兰)19日,在第19届RoboCup世界杯开幕式上,既担任安徽合肥市长张庆军的英文翻译,又为RoboCup国际联合会主席田野五十澍担任中文翻译的中国机器人“飞飞”流利的翻译、准确的发音,以及丰富的肢体动作和表情,获得在场观众好评如潮。 jvzq<84pgyy/w|ye0gjv0ls1kplp1:5781<74B<0jvs
7.【逸豆智能翻译机器人通用版/传奇黑参数】逸豆智能翻译机器人颜色传奇黑纠错 重量350g纠错 保修信息 客服电话400-178-6881纠错 加入对比栏复制表格|复制图文混排表格 *仅供参考,请以当地实际销售产品信息为准;如发现资料有误,请投诉 逸豆智能翻译机器人(通用版/传奇黑) 参考报价:¥599 评分:暂无评分 参数报价图片问答jvzquC41fgzbku3|qn4dqv3ep1735;4345779A4rctgn0|mvonEwkjBvqwii/ktvvqs
8.AI智能翻译写作机器人(v2.0)句子来源: 全部 标题 摘要 前言 方法 结果 讨论 句子推荐数量 默认全部 随机推荐1个 择优推荐10个 择优推荐20个 点击检索 写作区【系统使用指南】 导出到WORD一键翻译保存jvzq<84yyy4terwqdqz/exr0ep5
9.智能语音机器人翻译器v2.81下载智能语音机器人翻译器是一款翻译器软件,它包含了许多我们生活中需要用到的功能。这款软件拥有简洁的界面,但是它的功能很强大。我们无论是在日常生活中还是在办公的过程当中,都可以使用这款软件作为我们的工具。 软件简介 智能语音机器人翻译器绿色版是一款功能相当实用的翻译软件,智能语音机器人翻译器绿色版可以直接录入jvzquC41uqlu0
10.ThinkAI人工智能对话聊天翻译机器人ThinkAI - 人工智能对话聊天翻译机器人You Might Also Like ChatDog-AI智能聊天 Productivity 玛氏天眼 Productivity 优星人 Productivity Moss Plus ProductivityjvzquC41crvt0jurng4dqv4ep1gqr8yjkpqbk8nf86:7:A;688Em?ns(ugk.cuq?ewyuqvjtu/gmux2dqwmiv6frru
11.机器人电话软件的优势(自动化、高效、精准)机器人电话软件在运行过程中收集大量用户数据,为企业提供了有力支持。通过对用户反馈和行为数据的分析,企业能更好地了解用户需求,优化产品和服务,持续提升客户体验。 6.实时语音翻译 机器人电话软件新增实时语音翻译功能,使得跨语言沟通变得更加轻松。这项技术能够帮助用户在国际业务中消除语言障碍,促进全球化合作。 jvzquC41ogorkj3eqo5cnxl146651
12.意识机器人的英文意识机器人翻译意识机器人英语怎么说海词词典,最权威的学习词典,专业出版意识机器人的英文,意识机器人翻译,意识机器人英语怎么说等详细讲解。海词词典:学习变容易,记忆很深刻。jvzq<84o0fodv7hp1oyfc{hj0rnqAzB'G8+96.=H'G>&CO*:8'K7'BH'DC+F7.>;'C>&G=*DC'HB
13.科学家们预测,未来将会有许多的机器人英语怎么写科学家们预测,未来将会有许多的机器人 翻译结果(英语)1: Scientists predict the future there will be many robots 翻译结果(英语)2: Scientists have predicted that there will be many robot 翻译结果(英语)3: Scientists predict, the future there will be many robotsjvzquC41hctzk7goez4dqv4z62>7|voe:xrn{ƒdahctzk8
14.类似微信的即时通讯软件LINE国内最新注册及使用指南(电脑+下载+10. 巧用翻译机器人 LINE内建各式各样的翻译机器人,支援双向翻译,加入官方帐号后,只要输入中文它就会帮你翻译成英文,因为支援双向翻译,所以输入英文就会翻译成中文,非常方便。 11. 利用特定关键字进行搜寻 点选上方的放大镜图示,就可以输入关键字进行搜索了。 jvzquC41yy}/uqfmkpmdnxzf0eun1jwvkerf1ltpvgtu1;5452703@<0jvsm
15.专业翻译汉译英机器人翻译的就别来了!Hope to professional translators, translation machine translation do not need to answer! Because I also use translation machines, not Excuse you! Text is as follows Dear Teacher: I can sit here today, you accjvzquC41ygtxgw3uquu/exr1|1w2898:;:860qyo
16.使用easegress实现telegram翻译机器人最近,Easegress 发布了 2.0 版本,再次大幅增强了流量编排功能,使用户无需编写任何代码,就可以通过编排多个 API 来实现一个超级 API。本文,我们会通过编排一个 Telegram 翻译机器人来演示一下这个功能。这个机器人可以自动将收到的消息翻译为中文、日文和英文,并且,除了文字消息,还支持翻译语音和图片消息。 jvzquC41ogmbgjxg0eun0ls1|j5cnxl1428319>1325cwrqf/c3ugujitcs.v{fpungukxs/dqz.yryj/ggtgpwguu5
17.robot是什么意思翻译robot的意思用法同义词例句沪江词库精选robot是什么意思、英语单词推荐、用法及解释、中英文句子翻译、英语短语、词汇辨析 英音 ['rəubɔt] ; 美音 ['rəubɔt] ; 名词1.机器人2.自动机;遥控机械3.自动交通信号灯4.机器般的人;行动呆板的人5.【计】浏览器词形变化 形容词 robotic,robotlike jvzquC41yy}/j~okcpm/exr1ekqv1{tdqv
18.全球要闻:鲍威尔重申需要进一步加息美科技股承压下挫Shopify正在测试由OpenAI技术驱动的翻译机器人 据财联社,加拿大电子商务公司Shopify正在要求一些客户支持人员测试一个由OpenAI技术驱动的翻译机器人。该工具将聊天对话从多种支持的语言翻译成英语。 Shopify员工预计将于本月开始测试该新工具,并被要求就翻译的准确性提供反馈。 jvzquC41uvudm762lsqb0lto0et0497528831l;6:4<32@80ujznn
19.美股收盘:科技龙头进入调整状态三大指数悉数收跌【Shopify正在测试由OpenAI技术驱动的翻译机器人】 据媒体周三报道,加拿大电子商务公司Shopify正在要求一些客户支持人员测试一个由OpenAI技术驱动的翻译机器人。该工具将聊天对话从多种支持的语言翻译成英语。Shopify员工预计将于本月开始测试该新工具,并被要求就翻译的准确性提供反馈。 jvzquC41o0imu7hp1fkucrq135>639<