当前位置: 首页 > news >正文

做的最好的网站网络营销介绍

做的最好的网站,网络营销介绍,苏州公司技术支持 苏州网站建设,业务员自己掏钱做网站可以吗初始化模型 # Step 4. 初始化模型, 该行初始化与 智谱 的 GLM - 4 模型进行连接,将其设置为处理和生成响应。 chat ChatZhipuAI(model"glm-4",temperature0.8, ) 此提示告诉模型接收聊天历史记录和用户的最新问题,然后重新表述问题&#x…

 

初始化模型
# Step 4. 初始化模型, 该行初始化与 智谱 的 GLM - 4  模型进行连接,将其设置为处理和生成响应。
chat = ChatZhipuAI(model="glm-4",temperature=0.8,
)

此提示告诉模型接收聊天历史记录和用户的最新问题,然后重新表述问题,以便可以独立于聊天历史记录来理解问题。明确指示模型不要回答问题,而是在必要时重新表述问题。 

from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder# 此提示告诉模型接收聊天历史记录和用户的最新问题,然后重新表述问题,以便可以独立于聊天历史记录来理解问题。明确指示模型不要回答问题,而是在必要时重新表述问题。contextualize_q_system_prompt = """Given a chat history and the latest user question \
which might reference context in the chat history, formulate a standalone question \
which can be understood without the chat history. Do NOT answer the question, \
just reformulate it if needed and otherwise return it as is."""# Step 3. 创建提示模板来构建模型的交互
# 该模板包括带有说明的系统消息、聊天历史记录的占位符 ( MessagesPlaceholder ) 以及由 {input} 标记的最新用户问题。
contextualize_q_prompt = ChatPromptTemplate.from_messages([("system", contextualize_q_system_prompt),MessagesPlaceholder("chat_history"),("human", "{input}"),]
)

... 

中间省略加载文档并切分文档
# Step 9. 使用 Chroma VectorStore 创建检索器
retriever = chroma_store.as_retriever()

 

# Step 10. 设置历史信息感知检索器:
# create_history_aware_retriever 函数旨在接受输入和“chat_history”的键,用于创建集成聊天历史记录以进行上下文感知处理的检索器。
# 官方文档:https://python.langchain.com/v0.1/docs/modules/chains/
from langchain.chains import create_history_aware_retriever
"""
如果历史记录存在,它会构建一个有效组合提示、大型语言模型 (LLM) 和结构化输出解析器 ( StrOutputParser ) 的序列,后跟检索器。此顺序可确保最新问题在累积的历史数据中得到体现。
"""
# 他会结合历史信息重构子问题,他不实际回答问题,
history_aware_retriever = create_history_aware_retriever(chat,retriever,contextualize_q_prompt
)

 

# Step 12. 定义 QA 系统的提示模板,指定系统应如何根据检索到的上下文响应输入。
# 该字符串设置语言模型的指令,指示它使用提供的上下文来简洁地回答问题。如果答案未知,则指示模型明确说明这一点。

MessagesPlaceholder(variable_name="chat_history") 是一个占位符,用于在对话模型或系统中插入动态的聊天记录(chat_history)。

在提示结构中合并了一个名为“chat_history”的变量,它充当历史消息的占位符。通过使用“chat_history”输入键,我们可以将以前的消息列表无缝地注入到提示中。
qa_system_prompt = """You are an assistant for question-answering tasks. \  
Use the following pieces of retrieved context to answer the question. \
If you don't know the answer, just say that you don't know. \
Use three sentences maximum and keep the answer concise.\{context}"""
# 在提示结构中合并了一个名为“chat_history”的变量,它充当历史消息的占位符。通过使用“chat_history”输入键,我们可以将以前的消息列表无缝地注入到提示中。
qa_prompt = ChatPromptTemplate.from_messages([("system", qa_system_prompt),MessagesPlaceholder("chat_history"),("human", "{input}"),]
)

 

# 此函数用于创建一个将文档处理与其他流程相结合的链,通常涉及文档检索和在问答等任务中的使用。
from langchain.chains.combine_documents import create_stuff_documents_chain# Step 13 构建问答链:question_answer_chain 是使用 create_stuff_documents_chain 函数创建的,该函数利用语言模型 ( llm ) 和定义的提示 ( qa_prompt )。
# 官方文档链接:https://python.langchain.com/v0.1/docs/modules/chains/
question_answer_chain = create_stuff_documents_chain(chat, qa_prompt)

# Step 14. 组装 RAG 链条:该链代表完整的工作流程,其中历史感知检索器首先处理查询以合并任何相关的历史上下文,然后由 question_answer_chain 处理处理后的查询以生成最终答案。
rag_chain = create_retrieval_chain(history_aware_retriever, question_answer_chain)

 

 手动构建 历史聊天信息

# 以下代码演示了如何使用 RAG 链来处理一系列问题,并能够引用之前的交互。该代码模拟聊天交互,其中用户提出问题,收到答案,然后提出可以利用初始交流上下文的后续问题。以下是包含代码片段的详细说明:
from langchain_core.messages import HumanMessage# 聊天历史记录被初始化为空列表。该列表将存储会话期间交换的消息以维护上下文。
chat_history = []# 第一个问题和响应:定义一个问题,并使用该问题和当前(空)聊天历史记录调用 RAG 链。
question = "What is Task Decomposition?"
ai_msg_1 = rag_chain.invoke({"input": question, "chat_history": chat_history})
# print("First ans: %s" % ai_msg_1["answer"])# 然后,用户的问题和 AI 生成的答案分别作为 HumanMessage 实例和响应对象添加到聊天历史记录中。
chat_history.extend([HumanMessage(content=question), ai_msg_1["answer"]])# 第二个问题和响应:利用现在包含第一次交流上下文的更新的聊天历史记录,提出后续问题。
second_question = "What are common ways of doing it?"
ai_msg_2 = rag_chain.invoke({"input": second_question, "chat_history": chat_history})

自动化构聊天记录

# Step 9. 使用基本字典结构管理聊天历史记录
store = {}def get_session_history(session_id: str) -> BaseChatMessageHistory:if session_id not in store:store[session_id] = ChatMessageHistory()return store[session_id]# 官方Docs:https://python.langchain.com/v0.2/docs/how_to/message_history/
conversational_rag_chain = RunnableWithMessageHistory(rag_chain,get_session_history,input_messages_key="input",history_messages_key="chat_history",output_messages_key="answer",
)# 现在我们问第一个问题
first_ans = conversational_rag_chain.invoke({"input": "What is Task Decomposition?"},config={"configurable": {"session_id": "abc123"}},
)["answer"]secone_ans = conversational_rag_chain.invoke({"input": "What are common ways of doing it?"},config={"configurable": {"session_id": "abc123"}},
)["answer"]print(f"first_ans:{first_ans}")
print(f"secone_ans:{secone_ans}")

http://www.hkea.cn/news/67779/

相关文章:

  • 服务佳的小企业网站建设ip子域名大全
  • 网页与制作唐山seo推广公司
  • 自己做的网站怎么弄到网上在线网页制作
  • 电商网站 设计方案百度的排名规则详解
  • 福建省建设厅网站余外链链接平台
  • 广告营销网站市场推广方案
  • 徐州企业做网站软文是什么文章
  • 网站代码备份如何优化seo
  • 百度网站公司信息推广怎么做天津做网站的网络公司
  • wordpress在线pdfseo百度站长工具查询
  • 太仓网站建设有限公司网站设计公司怎么样
  • 网站去哪做在线crm软件
  • 做360手机网站快速汕头seo排名收费
  • 网站建设总做总结宜兴百度推广公司
  • 做毕业网站的周记外贸建站优化
  • 南昌市住房和城乡建设局网站百度官网推广平台电话
  • 真人做视频网站百度怎么发布广告
  • 网站页面优化包括怎么给网站做优化
  • 哪个网站用帝国cms做的软文素材网
  • 网站建设需要的资料深圳精准网络营销推广
  • 客户网站建设公司网站排名提升软件
  • 网站建设与维护试卷论文怎么在百度上做广告
  • 做博客网站要什么技术百度网站网址是多少
  • 河北建设厅官方网站八大员考试站长工具查询
  • 大连 做网站公司爱站工具包的主要功能
  • ps做简洁大气网站必应bing国内版
  • 做公司标志用哪个网站营销自动化
  • wordpress5.0.3厦门百度seo
  • 网站开发 企业 定制系统优化大师安卓版
  • 网站内链符号seo百度站长工具