XXXX 本地模型替换为 两家 API

llamaindex结合本地模型构建RAG 总结一下对llamaindex的使用心得,第一部分是构建知识库并持久化,第二部分是使用本地llm模型和本地embed模型,第三部分是对qurey engine和chat engine的使用(自定义prompt)。知识库格式:一个全是txt文档的文件夹。 阅读详情

 llamaindex_internlm.py 

原代码

from llama_index.llms.huggingface import HuggingFaceLLM
from llama_index.core.llms import ChatMessage
llm = HuggingFaceLLM(
    model_name="/root/model/internlm2-chat-1_8b",
    tokenizer_name="/root/model/internlm2-chat-1_8b",
    model_kwargs={"trust_remote_code":True},
    tokenizer_kwargs={"trust_remote_code":True}
)

rsp = llm.chat(messages=[ChatMessage(content="xtuner是什么?")])
print(rsp)

替换后

硅基API

from llama_index.core.llms import ChatMessage
import requests


url = "https://api.siliconflow.cn/v1/chat/completions"

messages = [ChatMessage(content="xtuner是什么?")]

payload = {
    "model": "internlm/internlm2_5-7b-chat",
    "messages": [{"role": "user", "content": msg.content} for msg in messages]
}

headers = {
    "Authorization": "Bearer sk-XXXXXXXXXXXXXXXXXX",  # 替换为API key
    "Content-Type": "application/json"
}


response = requests.post(url, json=payload, headers=headers)

response_json = response.json()

assistant_message = response_json['choices'][0]['message']['content']
print(assistant_message)

运行结果

浦语API

from llama_index.core.llms import ChatMessage
import requests

# API endpoint for chat completions
url = "https://internlm-chat.intern-ai.org.cn/puyu/api/v1/chat/completions"

# Prepare the message using ChatMessage
messages = [ChatMessage(content="xtuner是什么?")]

# Prepare the payload with the model and formatted messages
payload = {
    "model": "internlm2.5-latest",
    "messages": [{"role": "user", "content": msg.content} for msg in messages],
    "n": 1,
    "temperature": 0.8,
    "top_p": 0.9
}

# Specify the authorization token and content type in the headers
headers = {
    "Authorization": "Bearer eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",  # 替换为你的实际token
    "Content-Type": "application/json"
}

# Send a POST request to the API
response = requests.post(url, json=payload, headers=headers)

# Parse the response JSON
response_json = response.json()

# Extract and print the content from the assistant's message
assistant_message = response_json['choices'][0]['message']['content']
print(assistant_message)

运行结果

llamaindex_RAG.py

原代码


from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings

from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.llms.huggingface import HuggingFaceLLM

#初始化一个HuggingFaceEmbedding对象,用于将文本转换为向量表示
embed_model = HuggingFaceEmbedding(
#指定了一个预训练的sentence-transformer模型的路径
    model_name="/root/model/sentence-transformer"
)
#将创建的嵌入模型赋值给全局设置的embed_model属性,
#这样在后续的索引构建过程中就会使用这个模型。
Settings.embed_model = embed_model

llm = HuggingFaceLLM(
    model_name="/root/model/internlm2-chat-1_8b",
    tokenizer_name="/root/model/internlm2-chat-1_8b",
    model_kwargs={"trust_remote_code":True},
    tokenizer_kwargs={"trust_remote_code":True}
)
#设置全局的llm属性,这样在索引查询时会使用这个模型。
Settings.llm = llm

#从指定目录读取所有文档,并加载数据到内存中
documents = SimpleDirectoryReader("/root/llamaindex_demo/data").load_data()
#创建一个VectorStoreIndex,并使用之前加载的文档来构建索引。
# 此索引将文档转换为向量,并存储这些向量以便于快速检索。
index = VectorStoreIndex.from_documents(documents)
# 创建一个查询引擎,这个引擎可以接收查询并返回相关文档的响应。
query_engine = index.as_query_engine()
response = query_engine.query("xtuner是什么?")

print(response)

修改后:

硅基API

import requests
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.core.settings import Settings

# 禁用全局LLM设置中的OpenAI,不然会报错
Settings.llm = None

# 初始化嵌入模型
embed_model = HuggingFaceEmbedding(
    model_name="/root/model/sentence-transformer"
)

# 从指定目录读取所有文档,并加载数据到内存中
documents = SimpleDirectoryReader("/root/llamaindex_demo/data").load_data()

# 创建一个VectorStoreIndex,指定使用自己的嵌入模型
index = VectorStoreIndex.from_documents(documents, embed_model=embed_model)

# 创建一个查询引擎用于本地文档查询,并禁用LLM
query_engine = index.as_query_engine(llm=None)

# 准备查询的问题
question = "xtuner是什么?"
local_response = query_engine.query(question)

# 将响应转变为字符串形式
local_response_str = str(local_response) 

# print("本地查询结果:", local_response_str)

# 使用自定义API进行外部查询
url = "https://api.siliconflow.cn/v1/chat/completions"
payload = {
    "model": "internlm/internlm2_5-7b-chat",
    "messages": [{"role": "user", "content": "对以下问题和片段进行总结"+ question + " " + local_response_str}]
}
headers = {
    "Authorization": "Bearer sk-fzmebtdhrqnhnsnnXXXXXXXXXXXXXXXXX",  # 使用你的实际API令牌代替
    "Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)

# 打印原始响应,以便调试
# print("原始API响应:", response.text)

# 解析响应并提取content字段
try:
    response_json = response.json()
    content = response_json['choices'][0]['message']['content']
    print(content)
except Exception as e:
    print(f"Error: {str(e)}")

运行结果:

浦语API

import requests
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.core.settings import Settings
import json

# 禁用全局LLM设置中的OpenAI,不然会报错
Settings.llm = None

# 初始化嵌入模型
embed_model = HuggingFaceEmbedding(
    model_name="/root/model/sentence-transformer"
)

# 从指定目录读取所有文档,并加载数据到内存中
documents = SimpleDirectoryReader("/root/llamaindex_demo/data").load_data()

# 创建一个VectorStoreIndex,指定使用自己的嵌入模型
index = VectorStoreIndex.from_documents(documents, embed_model=embed_model)

# 创建一个查询引擎用于本地文档查询,并禁用LLM
query_engine = index.as_query_engine(llm=None)

# 准备查询的问题
question = "xtuner是什么?"
local_response = query_engine.query(question)

# 将响应转变为字符串形式
local_response_str = str(local_response)

# print("本地查询结果:", local_response_str)

# 使用自定义API进行外部查询
url = "https://internlm-chat.intern-ai.org.cn/puyu/api/v1/chat/completions"
payload = {
    "model": "internlm2.5-latest",
    "messages": [{"role": "user", "content": "对以下问题和片段进行总结"+ question + " " + local_response_str}],
    "n": 1,
    "temperature": 0.8,
    "top_p": 0.9
}
headers = {
    "Authorization": "Bearer eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MTIifQXXXXXXXXXXXX",  # 使用你的实际API令牌代替
    "Content-Type": "application/json"
}
response = requests.post(url, data=json.dumps(payload), headers=headers)

# 打印原始响应,以便调试
# print(response.text)

# 解析JSON响应并直接提取content
try:
    response_json = response.json()
    content = response_json['choices'][0]['message']['content']
    print(content)
except Exception as e:
    print(f"Error extracting content: {str(e)}")


运行结果:

本地运行Agent-S,替换多模态大模型为豆包 方法,使维度对其即可。当出现矩阵维度不兼容错误时修改。 阅读详情

相关推荐

AI工具实操简报:聚焦API替换、本地模型优化与内容过审

AI工具链并非抽象概念,而是由API调用、本地推理、提示工程、内容安全等基础能力构成的工程实践体系。其核心原理在于适配真实硬件约束(如Apple Silicon内存架构)、遵循接口契约兼容性、实现模型输出的可验证性与可复现性。技术价值体现在显著降低执行者的时间成本与试错成本——例如通过`-ngl 35`参数在M2设备上平衡GPU加速与内存压力,或利用Hugging Face安全模型设定0.08分操作阈值提升内容过审率。典型应用场景包括快速替换不稳定API、轻量级本地模型部署、AI生成文案合规校验及Notio

weixin_31124163的博客 290

LLM之基于llama-index部署本地embedding与GLM-4模型并初步搭建RAG(其他大模型也可,附上ollma方式运行)

前言日常没空,留着以后写官网:https://docs.llamaindex.ai/en/stable/简介也没空,以后再写如果没有找到 llama_index.embeddings.huggingface那么:pip install llama_index-embeddings-huggingface还不行进入官网,输入huggingface进行搜索 加载本地LLM模型 还是那句话,如果以下代码不行,进官网搜索Custom LLM Model 欢迎大家点赞或收藏大家的点赞或收藏可以鼓

weixin_44598554的博客 3878

Nvidia免费大模型API实战:OpenClaw本地调用与429错误精准治理

大语言模型API调用是AI工程落地的核心环节,其本质是基于HTTP协议的标准化服务交互,依赖身份认证、速率控制与语义封装三大机制。Nvidia官方提供的免费大模型(如nemotron-3-super-120b-a12b)以云原生方式开放推理能力,无需本地部署显存压力,但需严格遵循其nvapi-xxx密钥体系与30 RPM配额规则。技术价值在于平衡成本、性能与可控性——相比本地72B模型15秒响应,Nvidia API实测仅3.4秒且支持256K超长上下文;而OpenClaw作为Nvidia生态官方CLI工具

weixin_34054866的博客 442

自定义和使用大语言模型(LLM)指南

随着AI技术的迅猛发展,大语言模型(LLM)在自然语言处理中的应用越来越广泛。本文将介绍如何在LlamaIndex中自定义和使用LLM,包括更换底层模型、调整输出参数、使用HuggingFace模型以及使用自定义模型。我们还可以使用自定义的LLM模型,只需实现LLM类即可。@property。

qq_29929123的博客 1086

阿里云百炼API + Ollama本地部署:大模型开发环境配置全攻略(含PyCharm环境变量避坑指南)

问题解决方案终端配置的环境变量PyCharm读不到改用PyCharm运行配置中的环境变量设置修改配置后不生效清理缓存(File > Invalidate Caches)并重启云平台API调用超时检查网络,或切换本地Ollama测试本地Ollama模型下载慢可手动下载模型文件放入openai库导入失败确认已用清华镜像安装,或检查Python解释器深度思考模型没有输出思考过程确认已设置,并正确处理字段。

weixin_39543986的博客 681

本地大模型部署实战:解析通义千问API调用403错误的排查与解决

在本地部署大语言模型(LLM)时,API调用是连接客户端与模型服务的核心环节。其原理是通过HTTP协议遵循类似OpenAI的接口规范进行通信,服务端通常内置认证机制以确保安全可控。这一设计的技术价值在于既能防止资源滥用,又能为后续云端部署提供一致的开发体验。在实际应用场景中,开发者常使用vLLM、FastChat等推理框架部署量化模型(如GPTQ-Int4),但在调用时易遭遇“403 Forbidden”错误。这往往并非简单的网络问题,而是涉及API密钥认证、网络代理配置或服务路由等多个层面。例如,当错误信

weixin_30388677的博客 340

RAG实战2-如何使用LlamaIndex存储和读取向量

在前篇中,我们介绍了如何使用LlamaIndex构建一个非常简单的RAG应用,初步了解了LlamaIndex构建RAG应用的大体流程。在运行前篇的程序时,我们会发现两个令人头痛的问题: 1. 使用llama-index-llms-huggingface构建本地大模型时,会花费相当一部分时间。 2. 在对文档进行切分,将切分后的片段转化为embedding向量,构建向量索引时,会花费大量的时间。

2401_85375298的博客 1272

截获 Windows socket API

 1前言本文主要介绍了如何实现替换Windows上的API函数,实现Windows API Hook(当然,对于socket的Hook只是其中的一种特例)。这种Hook API技术被广泛的采用在一些领域中,如屏幕取词,个人防火墙等。这种API Hook技术并不是很新,但是涉及的领域比较宽广,要想做好有一定的技术难度。本文是采集了不少达人的以前资料并结合自己的实验得出的心得体会,在这里进行总

移动开发专栏 1万+

Llamaindex实战-在本地使用多种LLM

构建基于 LLM 的应用程序时的第一步是决定使用哪个 LLM;也可以使用多个。

zg_hover的专栏 2678

GAMES104:02引擎架构分层-学习笔记

用户层工具层(Tool Layer):编辑器、工具界面功能层(Function Layer):渲染Rendering、动画Animation、物理Physics、相机Camera和实现游戏性的脚本Script、状态机FSM、AI等功能模块资源层(Resource Layer):各类图片、动画、音频资源加载核心层(Core Layer):核心功能如内存管理、容器分配、数据计算、多线程处理等平台层(Platform Layer):对接不同游戏平台、主机和硬件。

噗噗噗的博客 1268

IEC61850客户端连接实战:CMS vs MMS协议抓包对比与性能初探(基于YX-PIS协议栈)

本文深入探讨了IEC61850客户端连接中CMS与MMS协议的抓包对比与性能优化。通过Wireshark抓包分析、协议栈配置实战和性能基准测试,揭示了两种协议在连接建立、数据交互和性能调优方面的关键差异,为智能电网自动化系统的协议选择提供了实用指南。

weixin_29209805的博客 215

本地部署deepseek等大模型以及api访问

本地部署大模型基于ollama

lvtu_rain的博客 1997

Unity简单操作:PostProcessing的使用

Postprocessing是一个unity2018版本的集成后期插件,有了这个插件,之后用unity开发时,后期调整颜色、光晕等会很方便。 目录 新建一个postprocessing profile(配置文件)。​ 参数说明: 新建一个postprocessing profile(配置文件)。 在主相机下加一个组件PostProcess Layer。 注意:需要将相机的Layer层设置与Post Process Layer 下的Volume blending(体积混合)...

weixin_39114763的博客 7369

使用vLLM部署大模型,如何调用本地部署大模型的API路由

摘要:vLLM本地部署后,可通过指令启动API服务并访问http://localhost:8000进行交互。支持两种调用方式:1)命令行方式,使用curl发送GET/POST请求获取模型信息或生成对话;2)Python脚本方式,通过requests库调用ChatCompletions接口,兼容OpenAI风格。两种方法均需指定模型名称、消息格式和生成参数,支持调整temperature等参数控制输出效果。

a503244552的博客 3842

学Simulink--基于Simulink的无迹卡尔曼滤波(UKF)目标跟踪仿真建模示例

本文详细介绍了基于Simulink的无迹卡尔曼滤波(UKF)目标跟踪仿真建模方法。首先分析了UKF相比EKF在强非线性场景下的优势,包括无线性化误差、计算效率高和鲁棒性强等特点。接着阐述了UKF的核心原理,重点讲解了无迹变换(UT)的三个关键步骤:Sigma点生成、非线性传播和加权统计重构。文章还详细说明了二维机动目标的状态向量定义、非线性状态转移模型和雷达观测模型。 在Simulink实现部分,提供了完整的建模步骤和核心代码,包括目标运动模型、雷达传感器模型和UKF算法模块的实现。通过蛇形机动场景的仿真实

xiaoheshang_123的博客 89

ardupilot 方向余弦矩阵/旋转矩阵的理解

本节主要记录自己对ardupilot中用到的方向余弦矩阵/旋转矩阵的理解,欢迎批评指正,有些资料参考网上写的比较好的资料,免得查找资料麻烦。旋转矩阵的坐标理解:表示从旋转矩阵的下标的坐标系的坐标变换到上标表示的坐标系坐标下。旋转矩阵的坐标系理解:表示从旋转矩阵的上标的坐标系变换到下标表示的坐标系下。从旋转矩阵的投影更好理解,比如下面旋转矩阵的第一行是左边坐标系的第一维分量在右边坐标系的投影。

陌城烟雨 612

HQChart使用教程11-如何把K线数据API替换成自己的API数据

HQChart使用教程11-如何把K线数据API替换成自己的API数据设置API域名HQChart代码地址 HQChart只提供前端行情展示, 不提供行情API数据,Demo中用到的数据都是测试数据,哪如何把这些测试数据替换成你自己的正式的行情数据呢。首先你要自己有一个Web API的服务器, 把我们前端调用数据的API地址域名换成你自己的WebAPI域名,(注意:必须和我们的请求接口和返回jso...

小银 7788

2024年CSP-X复赛真题题解(T1:购物)

2024年CSP-X复赛真题题解(T1:购物)

王老师青少年编程 1180

大模型API调用及部署服务实战指南

调用大模型API是指:直接使调用第三方提供(的或者导入的是 OpenAI 开发的 Python SDK(软件开发工具包),本质是一套封装好的 HTTP 请求工具,方便开发者调用符合其规范的 API。

weixin_51330874的博客 1431

Nvidia Orin Driveos Camera 介绍及调试详解

自动驾驶-nvidia orin driveos Camera 驱动详解及调试

u011803281的博客 2992

AE 与 ISP 参数联动机制解析:自动曝光系统与图像信号处理模块协同设计实践

AE(自动曝光)并不是一个独立的图像控制模块,而是与 ISP(Image Signal Processor)深度耦合运作的系统协同体。其输出的曝光参数直接决定了图像处理链路中 Gamma 曲线选择、黑电平补偿、去噪级别、边缘增强等一系列关键参数的取值。本文基于主流平台(如高通、MTK、海思)的工程实战经验,详细剖析 AE 与 ISP 在曝光驱动、调节优先级、图像还原逻辑等环节的联动机制,并结合拍照与视频等不同场景,给出可落地的联调方法。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1528

阿里千问系列:Qwen大模型API调用(Python版)

官方参考链接:https://help.aliyun.com/zh/model-studio/vision?界面,找到需要授权的子业务空间后,单击其右侧的模型权限流控设置。3、选择需要的模型,编辑权限,并保存。,单击创建我的API-KEY。

不积跬步,无以至千里! 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【.NET】调用本地 Deepseek 模型

本篇咱们来聊一聊怎么在 .NET 代码中使用本地部署的 Deepseek 语言模型。大伙伴们不必要紧张,很简单的,你不需要学习新知识,只要你知道 .NET 如何访问 HTTP 和 JSON 的序列化相关就够了。 先说说如何弄本地模型,有伙伴会问:直接用在线的不好?其实,本地部署更实用,也更符合安全要求。其实,AI 真正用于生产环境反而不需要那么“强大”,能有行业化定制模型会更好,这样在专业领域的...

weixin_41231635的博客 286

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

软件破解技术之API替换

软件破解技术之API替换      [复制链接]     codelive 电梯直达 楼主  发表于 2014-6-13 16:03 | 只看该作者 |只看大图  分享到:QQ空间微信腾讯微博新浪微博我的淘宝豆瓣网邮件分享

autumn20080101的专栏 2638

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

qanything在Windows WSL环境替换Openai API为智谱清言模型

qanything在Windows WSL环境替换Openai API为智谱清言模型

abments的博客 1099

Kimi K3 本地部署与 OAI 兼容 API 集成实践指南

大语言模型(LLM)作为人工智能基础设施的核心组件,其部署与集成能力直接影响开发效率和应用广度。通过 OpenAI 兼容 API 这一标准化接口,不同模型能够无缝接入现有工具链,大幅降低技术迁移成本。这一技术方案的价值在于实现了模型服务的即插即用,让开发者可以灵活选择云端或本地部署,平衡性能、成本与数据安全。在实际应用场景中,企业级 AI 集成、长文档分析、代码生成等任务都能从中受益。本文聚焦 Kimi K3 模型,深入探讨其作为“基础设施”的生态潜力,特别是通过 OAI-Compatible API 实现

weixin_33743880的博客 492
上一篇: 书生第四期作业:L0G4000 任务作业
VC_Alexa
博客等级 码龄5年 184粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值