要建设一个网站需要什么时候开始如何自己开网店做网店

张小明 2025/12/28 17:17:21
要建设一个网站需要什么时候开始,如何自己开网店做网店,腾讯云 wordpress建站,电商运营主要做什么推荐方案 生产环境推荐#xff1a;使用ONNX Runtime方案#xff0c;性能好#xff0c;无需Python依赖快速原型开发#xff1a;使用REST API方案#xff0c;部署简单需要完整功能#xff1a;考虑DeepSeek4j等专用Java库灵活性要求高#xff1a;使用DJL#xff0c;支持多…推荐方案生产环境推荐使用ONNX Runtime方案性能好无需Python依赖快速原型开发使用REST API方案部署简单需要完整功能考虑DeepSeek4j等专用Java库灵活性要求高使用DJL支持多种模型格式方法1使用ONNX Runtime推荐这是最直接且性能较好的Java集成方式。步骤1将BGE-M3转换为ONNX格式Python端安装依赖pip install torch transformers onnx onnxruntime加载模型、设置为评估模式并导出onnximporttorchfromFlagEmbeddingimportBGEM3FlagModel modelBGEM3FlagModel(BAAI/bge-m3,use_fp16True)model.eval()# 设置为评估模式dummy_inputtorch.tensor([[0]*model.config.hidden_size])# 需要根据模型结构调整onnx_pathbge_m3.onnxtorch.onnx.export(model,dummy_input,onnx_path,opset_version13,input_names[input_ids,attention_mask],# 根据实际输入调整output_names[output])步骤2在Java中使用ONNX RuntimeMaven依赖dependencygroupIdcom.microsoft.onnxruntime/groupIdartifactIdonnxruntime/artifactIdversion1.17.0/version/dependencyJava代码示例importai.onnxruntime.*;importjava.nio.file.Paths;importjava.util.*;publicclassBGE_M3_ONNX{privateOrtSessionsession;privateOrtEnvironmentenv;publicBGE_M3_ONNX(StringmodelPath)throwsOrtException{envOrtEnvironment.getEnvironment();OrtSession.SessionOptionsoptsnewOrtSession.SessionOptions();sessionenv.createSession(modelPath,opts);}publicfloat[]getEmbedding(Stringtext)throwsOrtException{// 文本预处理需要实现分词器// 这里简化处理实际需要将文本转换为input_ids和attention_mask// 准备输入long[]inputIdstokenize(text);// 需要实现tokenize方法long[]attentionMaskcreateAttentionMask(inputIds);// 创建输入Tensorlong[]shape{1,inputIds.length};OnnxTensorinputIdsTensorOnnxTensor.createTensor(env,inputIds,shape);OnnxTensorattentionMaskTensorOnnxTensor.createTensor(env,attentionMask,shape);// 准备输入MapMapString,OnnxTensorinputsnewHashMap();inputs.put(input_ids,inputIdsTensor);inputs.put(attention_mask,attentionMaskTensor);// 运行推理OrtSession.Resultresultssession.run(inputs);// 获取输出OnnxTensoroutputTensor(OnnxTensor)results.get(output);float[]embeddings(float[])outputTensor.getValue();returnembeddings;}privatelong[]tokenize(Stringtext){// 需要实现BGE-M3的分词逻辑// 可以使用HuggingFace的tokenizer或实现简单的分词returnnewlong[]{101,2345,6789,102};// 示例}privatelong[]createAttentionMask(long[]inputIds){long[]masknewlong[inputIds.length];Arrays.fill(mask,1L);returnmask;}publicvoidclose()throwsOrtException{if(session!null){session.close();}}}方法2使用Deep Java Library (DJL)DJL是亚马逊开发的Java深度学习库支持PyTorch、TensorFlow等模型。Maven依赖dependencygroupIdai.djl/groupIdartifactIdapi/artifactIdversion0.27.0/version/dependencydependencygroupIdai.djl.pytorch/groupIdartifactIdpytorch-engine/artifactIdversion0.27.0/version/dependencyJava代码示例importai.djl.Model;importai.djl.inference.Predictor;importai.djl.modality.Input;importai.djl.modality.Output;importai.djl.translate.TranslateException;importai.djl.translate.Translator;importjava.nio.file.Paths;publicclassBGE_M3_DJL{privateModelmodel;privatePredictorString,float[]predictor;publicvoidloadModel(StringmodelPath)throwsException{modelModel.newInstance(bge-m3);model.load(Paths.get(modelPath));// 创建Translator需要自定义实现TranslatorString,float[]translatornewBGETranslator();predictormodel.newPredictor(translator);}publicfloat[]getEmbedding(Stringtext)throwsTranslateException{returnpredictor.predict(text);}publicvoidclose(){if(predictor!null){predictor.close();}if(model!null){model.close();}}// 自定义TranslatorstaticclassBGETranslatorimplementsTranslatorString,float[]{Overridepublicfloat[]processOutput(ai.djl.ndarray.NDListlist){// 处理模型输出returnlist.get(0).toFloatArray();}Overridepublicai.djl.ndarray.NDListprocessInput(TranslatorContextctx,Stringinput){// 文本预处理和tokenization// 需要实现分词逻辑returnnewai.djl.ndarray.NDList();}}}方法3通过REST API调用如果模型部署在Python服务中可以通过HTTP调用。Python服务端FastAPIfromfastapiimportFastAPIfrompydanticimportBaseModelfromFlagEmbeddingimportBGEM3FlagModelimportnumpyasnp appFastAPI()modelBGEM3FlagModel(BAAI/bge-m3,use_fp16True)classEmbeddingRequest(BaseModel):texts:list[str]app.post(/embed)asyncdefget_embeddings(request:EmbeddingRequest):embeddingsmodel.encode(request.texts)[dense_vecs]return{embeddings:embeddings.tolist()}Java客户端importcom.fasterxml.jackson.databind.ObjectMapper;importokhttp3.*;publicclassBGE_M3_API_Client{privatestaticfinalStringAPI_URLhttp://localhost:8000/embed;privatefinalOkHttpClientclientnewOkHttpClient();privatefinalObjectMappermappernewObjectMapper();publicfloat[][]getEmbeddings(ListStringtexts)throwsException{// 构建请求体MapString,ObjectrequestBodynewHashMap();requestBody.put(texts,texts);Stringjsonmapper.writeValueAsString(requestBody);RequestBodybodyRequestBody.create(json,MediaType.parse(application/json));RequestrequestnewRequest.Builder().url(API_URL).post(body).build();try(Responseresponseclient.newCall(request).execute()){if(!response.isSuccessful()){thrownewRuntimeException(请求失败: response.code());}StringresponseBodyresponse.body().string();MapString,Objectresultmapper.readValue(responseBody,Map.class);// 解析返回的向量ListListDoubleembeddingsList(ListListDouble)result.get(embeddings);float[][]embeddingsnewfloat[embeddingsList.size()][];for(inti0;iembeddingsList.size();i){ListDoublevecembeddingsList.get(i);embeddings[i]newfloat[vec.size()];for(intj0;jvec.size();j){embeddings[i][j]vec.get(j).floatValue();}}returnembeddings;}}}方法4使用DeepSeek4j专用Java库根据搜索结果DeepSeek4j提供了BGE-M3的Java支持。代码示例importcom.deepseek4j.embedding.EmbeddingClient;importcom.deepseek4j.embedding.EmbeddingRequest;importcom.deepseek4j.embedding.EmbeddingResponse;publicclassBGE_M3_DeepSeek4j{publicstaticvoidmain(String[]args){EmbeddingClientclientnewEmbeddingClient();EmbeddingRequestrequestEmbeddingRequest.builder().model(bge-m3:latest).input(What is BGE M3?).build();try{EmbeddingResponseresponseclient.embed(request);float[]embeddingresponse.getEmbedding();System.out.println(向量维度: embedding.length);System.out.println(向量: Arrays.toString(embedding));}catch(Exceptione){e.printStackTrace();}}}注分词器实现BGE-M3使用特定的分词器需要正确处理模型大小BGE-M3模型较大需要足够内存性能优化考虑批处理、GPU加速等优化手段错误处理添加适当的异常处理和资源清理
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做网站是怎么赚钱的杭州网站建设中心

在Ubuntu系统(适用于18.04, 20.04, 22.04等多个版本)中,安装NVIDIA显卡驱动后,出现的无线或有线网卡驱动丢失问题的解决方案。1. 问题背景与根源分析现象:用户在通过apt、ubuntu-drivers或图形界面“软件和更新”中的“…

张小明 2025/12/25 23:52:03 网站建设

上海h5网站建设网络科技有限公司起名大全

移动端长列表滑动卡顿?Vue-Awesome-Swiper虚拟滚动让你告别白屏尴尬 【免费下载链接】vue-awesome-swiper 🏆 Swiper component for vuejs 项目地址: https://gitcode.com/gh_mirrors/vu/vue-awesome-swiper 还在为移动端滑动列表时突然出现的白屏…

张小明 2025/12/25 23:51:30 网站建设

虚拟体验网站电子商务网站建设试卷.doc

从GitHub Star数看ACE-Step热度趋势:分析潜在用户增长点 在AI正加速渗透创意产业的今天,一个开源项目的Star数已不再只是代码受欢迎程度的象征——它更像是一面镜子,映射出技术如何真正触达并影响开发者、创作者乃至普通用户的日常。当我们在…

张小明 2025/12/25 23:50:57 网站建设

网站制作工作流程安徽池州做网站的公司

EmotiVoice语音自然度MOS评分实测结果深度解析 在虚拟主播深夜直播带货、智能客服温柔安抚用户情绪的今天,我们早已不再满足于“能说话”的AI语音。真正打动人心的,是那句带着轻微颤抖说出的“我理解你的难过”,或是兴奋时语速加快却依旧清晰…

张小明 2025/12/25 23:50:22 网站建设

百度竞价做网站建设手工艺品网站建设

第一章:MCP DP-420图Agent备份的核心机制解析MCP DP-420 图像代理(Agent)的备份机制是保障图像数据一致性与系统高可用性的关键组件。该机制通过分布式快照、增量同步和元数据校验三者协同,实现高效且可靠的备份流程。分布式快照机…

张小明 2025/12/25 23:49:50 网站建设

东莞做网站优化哪家好可以做调查问卷的网站

Axure RP11 Mac汉化终极指南:从困扰到精通的全方位解决方案 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包,不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn …

张小明 2025/12/25 23:49:17 网站建设