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

大连做网站报价百度舆情监测平台

大连做网站报价,百度舆情监测平台,专业进出口贸易网站,做软件常用的网站有哪些每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

最近,Apple的研究人员推出了ReALM,紧随Google的Gemma、Meta的Llama以及微软的其他几个产品之后,完全本地运行大型语言模型(LLM)的应用越来越受到关注。我在《宅乐时光:用Gemma在本地玩LangChain 2》中尝试了本地运行Langchain,唯一缺失的是嵌入部分。为了在本地完整模拟RAG,我在以下代码中添加了word2vec嵌入。

import json
import numpy as np
from gensim.models import KeyedVectors
from langchain_community.llms import Ollama 
import logging# 基础日志配置
logging.basicConfig(level=logging.INFO)# 使用预训练的Word2Vec模型计算嵌入
def compute_embeddings(text, embedding_model):words = [word for word in text.split() if word in embedding_model.key_to_index]if words:return np.mean([embedding_model[word] for word in words], axis=0)else:return np.zeros(embedding_model.vector_size)# 加载预训练的Word2Vec嵌入
try:model_path = 'GoogleNews-vectors-negative300.bin'  # 模型下载正确路径embedding_model = KeyedVectors.load_word2vec_format(model_path, binary=True)
except Exception as e:logging.error(f"加载Word2Vec模型失败: {e}")# 从JSON加载数据
try:with open('my_data.json', 'r') as file:data = json.load(file)
except Exception as e:logging.error(f"加载JSON数据错误: {e}")data = []def simulate_rag(data, prompt):matches = []threshold = 0.4  # 余弦相似度示例阈值prompt_embedding = compute_embeddings(prompt, embedding_model)for passage in data:combined_text = f"{passage['title']} {passage['content']}".lower()passage_embedding = compute_embeddings(combined_text, embedding_model)similarity = np.dot(prompt_embedding, passage_embedding) / (np.linalg.norm(prompt_embedding) * np.linalg.norm(passage_embedding))print(f"passage: {passage}")print(f"Similarity: {similarity}")if similarity > threshold:matches.append(passage)return matches[:2]  # 返回前2个检索的段落prompt = "Nedved Yang喜欢吃什么?你能推荐新加坡的哪个地方给他吃吗?"# 从本地数据检索相关段落
retrieved_passages = simulate_rag(data, prompt)
print(f"**检索到的段落:**\n{retrieved_passages}")# 构建LLM提示
llm_prompt = f"用户查询: {prompt}\n\n检索到的信息:\n"
for passage in retrieved_passages:llm_prompt += f"- {passage['title']}:\n  - {passage['content']}\n  - 来源: {passage['source']}\n"print(f"**LLM提示:**\n{llm_prompt}")
llm = Ollama(model="gemma:2b")
llm_response = llm.invoke(llm_prompt)  # 替换您的LLM交互方法
final_response = f"**LLM回应:**\n{llm_response}"# 打印最终回应
print(final_response)

在使用word2vec进行本地嵌入前,您需要从网上下载它,例如从​​​​​​https://github.com/harmanpreet93/load-word2vec-google?tab=readme-ov-file。然后,您可以加载它来计算嵌入。我遇到了一个问题,即`retrieved_passages`返回为空。通过下面的手动测试,我发现根本原因是相似度低于阈值。

# 示例手动测试prompt_embedding = compute_embeddings("Nedved Yang喜欢吃什么?", embedding_model)
example_entry = "Nedved Yang喜欢辛辣和素食菜肴。"
entry_embedding = compute_embeddings(example_entry, embedding_model)
similarity = np.dot(prompt_embedding, entry_embedding) / (np.linalg.norm(prompt_embedding) * np.linalg.norm(entry_embedding))
print(f"Similarity: {similarity}")

在调整阈值后,来自Gemma的回应看起来不错。

试试看,玩得开心!

http://www.ds6.com.cn/news/41990.html

相关文章:

  • 万盛网站制作网站开通
  • 外国茶网站建设谷歌seo外链
  • 用phython做网站网址缩短在线生成器
  • iis网站建设中上海网站排名优化公司
  • 郑州高端品牌网站建设网站排名工具
  • 建网站的优势湖南企业seo优化推荐
  • wordpress 在浏览站点时显示工具栏新媒体运营培训班
  • 网站维护中是不是关闭网站了百度关键字优化价格
  • 企业网站建设方案模板制作网站需要什么软件
  • 做网站seo优化软件开发公司有哪些
  • 哪些网站可以免费做代码关键词歌词含义
  • 旅游预定型网站建设成都seo培训班
  • 网站开发定制公司西安的网络优化公司
  • 做外贸必须知道的网站网站访问量查询工具
  • 做电影小视频在线观看网站免费建站的网站哪个好
  • 郑州百度seo网站优中国职业培训在线平台
  • 做科研有什么好的网站做免费推广的平台
  • 淘宝客做网站怎样推广比百度好用的搜索软件
  • 杭州做网站哪家公司好seo教程论坛
  • 自定义优定软件网站建设长沙seo运营
  • 买了个网站源码后要怎么用武汉十大技能培训机构
  • 房屋设计软件app哪个好宁波seo网络推广渠道介绍
  • 合肥html5网站建设百度竞价推广出价技巧
  • 网站无备案无法登入百度产品大全入口
  • 营销网站建设网络公司郑州seo网站有优化
  • 企业网站规划小程序制作一个需要多少钱
  • 做网站的带宽多少钱seo自媒体培训
  • 网站 云建站东莞网站建设快速排名
  • 移动应用开发是什么意思盐城seo推广
  • 网站设计宽屏尺寸做网络营销推广