小智头像图片
AI教程 2025年01月17日
0 收藏 0 点赞 255 浏览 1986 个字
摘要 :

面向开发者的LLM入门教程-聊天Chat:复现之前代码: 聊天Chat 回想一下检索增强生成 (retrieval augmented generation,RAG) 的整体工作流程: 我们已经接近完成一个功……

哈喽!伙伴们,我是小智,你们的AI向导。欢迎来到每日的AI学习时间。今天,我们将一起深入AI的奇妙世界,探索“面向开发者的LLM入门教程-聊天Chat:复现之前代码”,并学会本篇文章中所讲的全部知识点。还是那句话“不必远征未知,只需唤醒你的潜能!”跟着小智的步伐,我们终将学有所成,学以致用,并发现自身的更多可能性。话不多说,现在就让我们开始这场激发潜能的AI学习之旅吧。

面向开发者的LLM入门教程-聊天Chat:复现之前代码

面向开发者的LLM入门教程-聊天Chat:复现之前代码:

聊天Chat

回想一下检索增强生成 (retrieval augmented generation,RAG) 的整体工作流程:

面向开发者的LLM入门教程-聊天Chat:复现之前代码

我们已经接近完成一个功能性的聊天机器人了。我们讨论了 文档加载 、 切分 、 存储 和 检索 。我们展示了如何使用 检索 QA 链在 Q+A 中使用 检索 生成输出。

我们的机器人已经可以回答问题了,但还无法处理后续问题,无法进行真正的对话。在本章中,我们将解决这个问题。

我们现在将创建一个问答聊天机器人。它与之前非常相似,但我们将添加聊天历史的功能。这是您之前进行的任何对话或消息。这将使机器人在尝试回答问题时能够考虑到聊天历史的上下文。所以,如果您继续提问,它会知道您想谈论什么。

复现之前代码

以下代码是为了 openai LLM 版本备案,直至其被弃用(于 2023 年 9 月)。LLM 响应通常会有所不同,但在使用不同模型版本时,这种差异可能会更明显。

import datetime
current_date = datetime.datetime.now().date()
if current_date < datetime.date(2023, 9, 2): llm_name = "gpt-3.5-turbo-0301" else: llm_name = "gpt-3.5-turbo" print(llm_name)

gpt-3.5-turbo-0301

如果您想在 Lang Chain plus 平台上进行实验:
· 前往 langchain plus 平台并注册
· 从您的帐户设置创建 api 密钥
· 在下面的代码中使用此 api 密钥

#import os
#os.environ[“LANGCHAIN_TRACING_V2”] = “true”
#os.environ[“LANGCHAIN_ENDPOINT”] = “https://api.langchain.plus”
#os.environ[“LANGCHAIN_API_KEY”] = “…”

首先我们加载在前几节课创建的向量数据库,并测试一下:

# 加载向量库,其中包含了所有课程材料的 Embedding。
from langchain.vectorstores import Chroma
from langchain.embeddings.openai import OpenAIEmbeddings
import panel as pn # GUI
# pn.extension()

persist_directory = ‘docs/chroma/matplotlib’
embedding = OpenAIEmbeddings()
vectordb = Chroma(persist_directory=persist_directory,
embedding_function=embedding)

question = “这门课的主要内容是什么?”
docs = vectordb.similarity_search(question,k=3)
print(len(docs))

3

接着我们从 OpenAI 的 API 创建一个 LLM:

from langchain.chat_models import ChatOpenAI
llm = ChatOpenAI(model_name=llm_name, temperature=0)
llm.predict(“你好”)

‘你好!有什么我可以帮助你的吗?’

再创建一个基于模板的检索链:

# 构建 prompt
from langchain.prompts import PromptTemplate
template = “””使用以下上下文来回答最后的问题。如果你不知道答案,就说你不知道,不要试图编造答
案。最多使用三句话。尽量使答案简明扼要。总是在回答的最后说“谢谢你的提问!”。
{context}
问题: {question}
有用的回答:”””
QA_CHAIN_PROMPT = PromptTemplate(input_variables=[“context”,
“question”],template=template,)
# 运行 chain
from langchain.chains import RetrievalQA
question = “这门课的主题是什么?”
qa_chain = RetrievalQA.from_chain_type(llm,
retriever=vectordb.as_retriever(),
return_source_documents=True,
chain_type_kwargs={“prompt”:
QA_CHAIN_PROMPT})
result = qa_chain({“query”: question})
print(result[“result”])

这门课的主题是 Matplotlib 数据可视化库的初学者指南。

面向开发者的LLM入门教程-聊天Chat:记忆(Memory)
面向开发者的LLM入门教程-聊天Chat:记忆(Memory):记忆(Memory) 现在让我们更进一步,添加一些记忆功能。 我们将使用 Convers...

嘿,伙伴们,今天我们的AI探索之旅已经圆满结束。关于“面向开发者的LLM入门教程-聊天Chat:复现之前代码”的内容已经分享给大家了。感谢你们的陪伴,希望这次旅程让你对AI能够更了解、更喜欢。谨记,精准提问是解锁AI潜能的钥匙哦!如果有小伙伴想要了解学习更多的AI知识,请关注我们的官网“AI智研社”,保证让你收获满满呦!

微信打赏二维码 微信扫一扫

支付宝打赏二维码 支付宝扫一扫

版权: 转载请注明出处:https://www.ai-blog.cn/2847.html

相关推荐

AI写作-DeepSeek高阶提示词之自媒体爆款创作篇: 自媒体爆款创作篇 6.10W+标题生成器 “生成20个关…

小智头像图片
255

AI写作-DeepSeek高阶提示词之职场打工人必备篇: 职场打工人必备篇 1.会议纪要秒整理 “将以下会议…

小智头像图片
255

AI绘画-即梦3.0提示词示例之场景化种草型​: 场景化种草型​ 公式:产品+使用场景+氛围渲染+情感化…

小智头像图片
64

AI绘画-即梦3.0提示词示例之限时折扣型​: 限时折扣型​ 公式:产品+价格锚点+紧迫感元素+霓虹灯风…

小智头像图片
255

AI绘画-即梦3.0提示词示例之新品发布型: 新品发布型​ 公式:产品+核心卖点+高级质感+极简排版 ​ …

小智头像图片
255

AI绘画-即梦3.0提示词示例之节日促销型​: 节日促销型​ 公式:产品+节日主题+视觉元素+动态文字+风…

小智头像图片
255

AI绘画-即梦3.0提示词示例之暗黑哥特​: 暗黑哥特​ 提示词: 哥特体、烛光照明、高反差,荆棘十字…

小智头像图片
255

AI绘画-即梦3.0提示词示例之奶油治愈​: 奶油治愈​ 提示词: 奶乎乎、柔焦镜头、低对比,猫咪蜷缩…

小智头像图片
255
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力原创内容

快速提升站内名气成为大牛

扫描二维码

手机访问本站

二维码
vip弹窗图片