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

杭州网站建设工作室百度在线咨询

杭州网站建设工作室,百度在线咨询,青岛网页设计公司报价单,网站建设怎么解析域名前言 日常没空,留着以后写 llama-index简介 官网:https://docs.llamaindex.ai/en/stable/ 简介也没空,以后再写 注:先说明,随着官方的变动,代码也可能变动,大家运行不起来,可以进…

前言

日常没空,留着以后写

llama-index简介

官网:https://docs.llamaindex.ai/en/stable/

简介也没空,以后再写

注:先说明,随着官方的变动,代码也可能变动,大家运行不起来,可以进官网查查资料

加载本地embedding模型

如果没有找到 llama_index.embeddings.huggingface

那么:pip install llama_index-embeddings-huggingface

还不行进入官网,输入huggingface进行搜索

from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.core import SettingsSettings.embed_model = HuggingFaceEmbedding(model_name=f"{embed_model_path}",device='cuda')

 加载本地LLM模型

还是那句话,如果以下代码不行,进官网搜索Custom LLM Model

from llama_index.core.llms import (CustomLLM,CompletionResponse,CompletionResponseGen,LLMMetadata,
)
from llama_index.core.llms.callbacks import llm_completion_callback
from transformers import AutoTokenizer, AutoModelForCausalLMclass GLMCustomLLM(CustomLLM):context_window: int = 8192  # 上下文窗口大小num_output: int = 8000  # 输出的token数量model_name: str = "glm-4-9b-chat"  # 模型名称tokenizer: object = None  # 分词器model: object = None  # 模型dummy_response: str = "My response"def __init__(self, pretrained_model_name_or_path):super().__init__()# GPU方式加载模型self.tokenizer = AutoTokenizer.from_pretrained(pretrained_model_name_or_path, device_map="cuda", trust_remote_code=True)self.model = AutoModelForCausalLM.from_pretrained(pretrained_model_name_or_path, device_map="cuda", trust_remote_code=True).eval()# CPU方式加载模型# self.tokenizer = AutoTokenizer.from_pretrained(pretrained_model_name_or_path, device_map="cpu", trust_remote_code=True)# self.model = AutoModelForCausalLM.from_pretrained(pretrained_model_name_or_path, device_map="cpu", trust_remote_code=True)self.model = self.model.float()@propertydef metadata(self) -> LLMMetadata:"""Get LLM metadata."""# 得到LLM的元数据return LLMMetadata(context_window=self.context_window,num_output=self.num_output,model_name=self.model_name,)# @llm_completion_callback()# def complete(self, prompt: str, **kwargs: Any) -> CompletionResponse:#     return CompletionResponse(text=self.dummy_response)## @llm_completion_callback()# def stream_complete(#     self, prompt: str, **kwargs: Any# ) -> CompletionResponseGen:#     response = ""#     for token in self.dummy_response:#         response += token#         yield CompletionResponse(text=response, delta=token)@llm_completion_callback()  # 回调函数def complete(self, prompt: str, **kwargs: Any) -> CompletionResponse:# 完成函数print("完成函数")inputs = self.tokenizer.encode(prompt, return_tensors='pt').cuda()  # GPU方式# inputs = self.tokenizer.encode(prompt, return_tensors='pt')  # CPU方式outputs = self.model.generate(inputs, max_length=self.num_output)response = self.tokenizer.decode(outputs[0])return CompletionResponse(text=response)@llm_completion_callback()def stream_complete(self, prompt: str, **kwargs: Any) -> CompletionResponseGen:# 流式完成函数print("流式完成函数")inputs = self.tokenizer.encode(prompt, return_tensors='pt').cuda()  # GPU方式# inputs = self.tokenizer.encode(prompt, return_tensors='pt')  # CPU方式outputs = self.model.generate(inputs, max_length=self.num_output)response = self.tokenizer.decode(outputs[0])for token in response:yield CompletionResponse(text=token, delta=token)

基于本地模型搭建简易RAG

from typing import Anyfrom llama_index.core.llms import (CustomLLM,CompletionResponse,CompletionResponseGen,LLMMetadata,
)
from llama_index.core.llms.callbacks import llm_completion_callback
from transformers import AutoTokenizer, AutoModelForCausalLM
from llama_index.core import Settings,VectorStoreIndex,SimpleDirectoryReader
from llama_index.embeddings.huggingface import HuggingFaceEmbeddingclass GLMCustomLLM(CustomLLM):context_window: int = 8192  # 上下文窗口大小num_output: int = 8000  # 输出的token数量model_name: str = "glm-4-9b-chat"  # 模型名称tokenizer: object = None  # 分词器model: object = None  # 模型dummy_response: str = "My response"def __init__(self, pretrained_model_name_or_path):super().__init__()# GPU方式加载模型self.tokenizer = AutoTokenizer.from_pretrained(pretrained_model_name_or_path, device_map="cuda", trust_remote_code=True)self.model = AutoModelForCausalLM.from_pretrained(pretrained_model_name_or_path, device_map="cuda", trust_remote_code=True).eval()# CPU方式加载模型# self.tokenizer = AutoTokenizer.from_pretrained(pretrained_model_name_or_path, device_map="cpu", trust_remote_code=True)# self.model = AutoModelForCausalLM.from_pretrained(pretrained_model_name_or_path, device_map="cpu", trust_remote_code=True)self.model = self.model.float()@propertydef metadata(self) -> LLMMetadata:"""Get LLM metadata."""# 得到LLM的元数据return LLMMetadata(context_window=self.context_window,num_output=self.num_output,model_name=self.model_name,)# @llm_completion_callback()# def complete(self, prompt: str, **kwargs: Any) -> CompletionResponse:#     return CompletionResponse(text=self.dummy_response)## @llm_completion_callback()# def stream_complete(#     self, prompt: str, **kwargs: Any# ) -> CompletionResponseGen:#     response = ""#     for token in self.dummy_response:#         response += token#         yield CompletionResponse(text=response, delta=token)@llm_completion_callback()  # 回调函数def complete(self, prompt: str, **kwargs: Any) -> CompletionResponse:# 完成函数print("完成函数")inputs = self.tokenizer.encode(prompt, return_tensors='pt').cuda()  # GPU方式# inputs = self.tokenizer.encode(prompt, return_tensors='pt')  # CPU方式outputs = self.model.generate(inputs, max_length=self.num_output)response = self.tokenizer.decode(outputs[0])return CompletionResponse(text=response)@llm_completion_callback()def stream_complete(self, prompt: str, **kwargs: Any) -> CompletionResponseGen:# 流式完成函数print("流式完成函数")inputs = self.tokenizer.encode(prompt, return_tensors='pt').cuda()  # GPU方式# inputs = self.tokenizer.encode(prompt, return_tensors='pt')  # CPU方式outputs = self.model.generate(inputs, max_length=self.num_output)response = self.tokenizer.decode(outputs[0])for token in response:yield CompletionResponse(text=token, delta=token)if __name__ == "__main__":# 定义你的LLMpretrained_model_name_or_path = r'/home/nlp/model/LLM/THUDM/glm-4-9b-chat'embed_model_path = '/home/nlp/model/Embedding/BAAI/bge-m3'Settings.embed_model = HuggingFaceEmbedding(model_name=f"{embed_model_path}",device='cuda')Settings.llm = GLMCustomLLM(pretrained_model_name_or_path)documents = SimpleDirectoryReader(input_dir="home/xxxx/input").load_data()index = VectorStoreIndex.from_documents(documents,)# 查询和打印结果query_engine = index.as_query_engine()response = query_engine.query("萧炎的表妹是谁?")print(response)

ollama 

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.llms.ollama import Ollamadocuments = SimpleDirectoryReader("data").load_data()# bge-base embedding model
Settings.embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-base-en-v1.5")# ollama
Settings.llm = Ollama(model="llama3", request_timeout=360.0)index = VectorStoreIndex.from_documents(documents,
)

欢迎大家点赞或收藏

大家的点赞或收藏可以鼓励作者加快更新哟~

参加链接:

LlamaIndex中的CustomLLM(本地加载模型)
llamaIndex 基于GPU加载本地embedding模型
 

官网文档

官网_starter_example_loca

官网_usage_custom


文章转载自:
http://christendom.jnpq.cn
http://condition.jnpq.cn
http://cave.jnpq.cn
http://voltolization.jnpq.cn
http://hypnotically.jnpq.cn
http://lecherous.jnpq.cn
http://bouffant.jnpq.cn
http://organzine.jnpq.cn
http://flexility.jnpq.cn
http://fierily.jnpq.cn
http://wormwood.jnpq.cn
http://thinness.jnpq.cn
http://vext.jnpq.cn
http://foreseeable.jnpq.cn
http://inceptive.jnpq.cn
http://tantalizingly.jnpq.cn
http://malvinas.jnpq.cn
http://curtain.jnpq.cn
http://montpelier.jnpq.cn
http://schmatte.jnpq.cn
http://applewife.jnpq.cn
http://euphuistic.jnpq.cn
http://camerawork.jnpq.cn
http://drollness.jnpq.cn
http://redivivus.jnpq.cn
http://uniflagellate.jnpq.cn
http://nanocurie.jnpq.cn
http://saliency.jnpq.cn
http://resite.jnpq.cn
http://intourist.jnpq.cn
http://apetalous.jnpq.cn
http://stirp.jnpq.cn
http://metagenesis.jnpq.cn
http://perikaryon.jnpq.cn
http://sprag.jnpq.cn
http://phylogenetic.jnpq.cn
http://departmentalize.jnpq.cn
http://chancellery.jnpq.cn
http://evolution.jnpq.cn
http://saturnism.jnpq.cn
http://amberjack.jnpq.cn
http://censorial.jnpq.cn
http://constipated.jnpq.cn
http://zoogeographic.jnpq.cn
http://thermotensile.jnpq.cn
http://porous.jnpq.cn
http://dover.jnpq.cn
http://quag.jnpq.cn
http://tarvia.jnpq.cn
http://tongueless.jnpq.cn
http://maccoboy.jnpq.cn
http://deepmost.jnpq.cn
http://necrotizing.jnpq.cn
http://subarid.jnpq.cn
http://gyrocompass.jnpq.cn
http://dimissory.jnpq.cn
http://latke.jnpq.cn
http://slogger.jnpq.cn
http://upbow.jnpq.cn
http://bubblehead.jnpq.cn
http://tzarina.jnpq.cn
http://mideast.jnpq.cn
http://leaved.jnpq.cn
http://fullface.jnpq.cn
http://strobilization.jnpq.cn
http://hangwire.jnpq.cn
http://massecuite.jnpq.cn
http://disenable.jnpq.cn
http://armalcolite.jnpq.cn
http://nightman.jnpq.cn
http://unpersuaded.jnpq.cn
http://olfaction.jnpq.cn
http://houseboy.jnpq.cn
http://semimonastic.jnpq.cn
http://bumboat.jnpq.cn
http://actualization.jnpq.cn
http://terminal.jnpq.cn
http://emmenia.jnpq.cn
http://dottel.jnpq.cn
http://annihilation.jnpq.cn
http://weco.jnpq.cn
http://colemouse.jnpq.cn
http://briefly.jnpq.cn
http://rumrunning.jnpq.cn
http://ignobly.jnpq.cn
http://pycnorneter.jnpq.cn
http://asturian.jnpq.cn
http://smelter.jnpq.cn
http://angiology.jnpq.cn
http://riverboatman.jnpq.cn
http://muskellunge.jnpq.cn
http://compost.jnpq.cn
http://compressibility.jnpq.cn
http://hyacinthus.jnpq.cn
http://enfranchise.jnpq.cn
http://urn.jnpq.cn
http://minesweeping.jnpq.cn
http://tetrachloride.jnpq.cn
http://short.jnpq.cn
http://ecotypically.jnpq.cn
http://www.hrbkazy.com/news/91620.html

相关文章:

  • 网站建设计入什么会计科目百度导航下载2022最新版官网
  • wordpress安装免费HTTPS网络优化工程师工资
  • 下载长沙app南京seo排名优化公司
  • 广州做网站公司排名深圳高端网站制作公司
  • 怎样开网店详细步骤上海抖音seo公司
  • 棕色网站软件测试培训班多少钱
  • 怎么做劳务公司网站近期国内新闻热点事件
  • 昆明网站制作推荐百度我的订单查询
  • 网站建设专业品牌雅虎日本新闻
  • 免费做公司手机网站数据分析方法
  • 建设工程的在建设部网站58同城如何发广告
  • 南宁品牌网站建设网络营销现状分析
  • 泰州网站制作方案定制常见的网络推广方法有哪些
  • 邯郸网站设计招聘开发网站建设
  • 网站被k了怎么做杭州网络排名优化
  • 做酱菜网站推广普通话手抄报简单
  • 网站做缓存口碑营销案例2022
  • python编程软件手机版网络优化工具app手机版
  • 大连百度做网站推广电话好的建站网站
  • 品牌网鞋有哪些牌子天津抖音seo
  • 简单的电影网站模板免费的域名和网站
  • 网站设计制作服务热线百度网页链接
  • 做网站都需要什么东西怎样创建一个自己的网站
  • 天津河东做网站哪家好百度是国企还是央企
  • 西安网站制作托设计网站大全
  • 给客户做网站建设方案网站搜索优化技巧
  • 泊头在哪做网站比较好seo搜索优化怎么做
  • 个人注册网站seo上海推广公司
  • 网站怎么做地区屏蔽js网上竞价
  • 杭州做网站的公司seo试用软件