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

免费北京网站建设南宁网站建设企业网站

免费北京网站建设,南宁网站建设企业网站,简单个人网页制作,网站内部推广本项目使用Langchain 和 baichuan 大模型, 结合领域百科词条数据(用xlsx保存),简单地实现了领域百科问答实现。 from langchain.text_splitter import CharacterTextSplitter, RecursiveCharacterTextSplitter from langchain_co…

本项目使用Langchainbaichuan 大模型, 结合领域百科词条数据(用xlsx保存),简单地实现了领域百科问答实现。

from langchain.text_splitter import CharacterTextSplitter, RecursiveCharacterTextSplitter
from langchain_community.embeddings import OpenAIEmbeddings, SentenceTransformerEmbeddings
from langchain_community.vectorstores import Chroma, FAISS
from langchain_community.llms import OpenAI, Baichuan
from langchain_community.chat_models import ChatOpenAI, ChatBaichuan
from langchain.memory import ConversationBufferWindowMemory
from langchain.chains import ConversationalRetrievalChain, RetrievalQA
#import langchain_community import chat_models
#print(chat_models.__all__)import streamlit as st
import pandas as pd
import os
import warnings
import time
warnings.filterwarnings('ignore')# 对存储了领域百科词条的xlsx文件进行解析
def get_xlsx_text(xlsx_file):df = pd.read_excel(xlsx_file, engine='openpyxl')text = ""for index, row in df.iterrows():text += row['title'].replace('\n', '')text += row['content'].replace('\n', '')text += '\n\n'return text# Splits a given text into smaller chunks based on specified conditions
def get_text_chunks(text):text_splitter = RecursiveCharacterTextSplitter(separators="\n\n",chunk_size=1000,chunk_overlap=200,length_function=len)chunks = text_splitter.split_text(text)return chunks# 对切分的文本块构建编码向量并存储到FASISS
# Generates embeddings for given text chunks and creates a vector store using FAISS
def get_vectorstore(text_chunks):# embeddings = OpenAIEmbeddings() #有经济条件的可以使用 opanaiembendingembeddings = SentenceTransformerEmbeddings(model_name='all-MiniLM-L6-v2')vectorstore = FAISS.from_texts(texts=text_chunks, embedding=embeddings)return vectorstore
# Initializes a conversation chain with a given vector store# 对切分的文本块构建编码向量并存储到Chroma
# Generates embeddings for given text chunks and creates a vector store using Chroma
def get_vectorstore_chroma(text_chunks):# embeddings = OpenAIEmbeddings()embeddings = SentenceTransformerEmbeddings(model_name='all-MiniLM-L6-v2')vectorstore = Chroma.from_texts(texts=text_chunks, embedding=embeddings)return vectorstoredef get_conversation_chain_baichuan(vectorstore):memory = ConversationBufferWindowMemory(memory_key='chat_history', return_message=True) # 设置记忆存储器conversation_chain = ConversationalRetrievalChain.from_llm(llm=Baichuan(temperature=temperature_input, model_name=model_select),retriever=vectorstore.as_retriever(),get_chat_history=lambda h: h,memory=memory)return conversation_chainos.environ["http_proxy"] = "http://127.0.0.1:7890"
os.environ["https_proxy"] = "http://127.0.0.1:7890"# langchain 可以通过设置环境变量来设置参数
os.environ['BAICHUAN_API_KEY'] = 'sk-88888888888888888888888888888888'
temperature_input = 0.7
model_select = 'Baichuan2-Turbo-192K'
raw_text = get_xlsx_text('领域文件/twiki百科问答.xlsx')text_chunks = get_text_chunks(raw_text)
vectorstore = get_vectorstore_chroma(text_chunks)
# Create conversation chain
qa = get_conversation_chain_baichuan(vectorstore)
questions = ["什么是森林经营项目?","风电项目开发过程中需要的主要资料?","什么是ESG"
]
for question in questions:result = qa(question)print(f"**Question**: {question} \n")print(f"**Answer__**: {result['answer']} \n")
http://www.yayakq.cn/news/193772/

相关文章:

  • 九江市建设规划局网站喷码机营销型网站
  • 网站建设公司怎样选手机在线做ppt的网站
  • 苏州沧浪区做网站的直播网站开发教程
  • 建设网站代码长春网站建设长春电梯公司
  • 网站为何突然不收录了青岛网站建站团队
  • 百度网站建设需要钱17网站一起做网店代发流程
  • 1688的网站特色一键生成动漫视频的软件
  • 做打鱼网站犯法不网站关键词用什么符号
  • wordpress 地图相册网站优化自己可以做吗
  • 渝叶购零售客户电商网站长春建站推荐
  • 做网站有必要东莞seo站内优化
  • wordpress建设企业网站网站设计建设方案
  • 深圳专业做网站设计多梦wordpress主题3.0
  • 做网站遇到的困难总结wordpress,视频直播
  • 长垣建设银行网站静态网站规范
  • 手机微网站平台登录入口wordpress 图文混排
  • 安徽做网站建筑门户网站
  • 网站建设对客户的优势免费正能量励志网站
  • 内网门户网站建设要求1小时赚5000元游戏
  • 滨海天津网站建设自适应网站建设优化建站
  • wordpress 资源站模板青州市建设局网站
  • 找素材的网站公司网站建设需要哪些内容
  • 佛山网站制作流程wordpress使用图床
  • 网站开发教程图文淘宝标题优化网站
  • 做网站运营很累吧淮北市矿务局工程建设公司网站
  • 三水建设网站网页设计学校哪个好
  • 阿里云网站 模板建设群晖做网站
  • 做电商搜素材网站都是什么河北邢台最新消息今天
  • 西部数码网站管理助手安装长沙网站关键词排名推广公司
  • 甘南北京网站建设网站查询站长工具