开源项目 realtime-embeddings-matching
使用教程
realtime-embeddings-matching 项目地址: https://gitcode.com/gh_mirrors/re/realtime-embeddings-matching
1. 项目的目录结构及介绍
realtime-embeddings-matching/
├── recommended-item-search/
│ ├── ...
│ └── ...
├── text-semantic-search/
│ ├── semantic_search/
│ │ ├── utils/
│ │ │ └── embedding.py
│ │ └── ...
│ └── ...
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
└── README.md
目录结构介绍
- recommended-item-search/: 该目录可能包含推荐系统相关的代码和文件。
- text-semantic-search/: 该目录包含文本语义搜索相关的代码和文件。
- semantic_search/utils/embedding.py: 该文件包含用于生成文本嵌入的代码。
- .gitignore: Git 忽略文件,指定哪些文件和目录不需要被 Git 跟踪。
- CONTRIBUTING.md: 贡献指南,指导开发者如何为项目做出贡献。
- LICENSE: 项目许可证文件,说明项目的开源许可证类型。
- README.md: 项目说明文件,包含项目的概述、安装和使用说明。
2. 项目的启动文件介绍
在 text-semantic-search/semantic_search/utils/embedding.py
文件中,定义了 EmbedUtil
类,该类用于初始化和生成文本嵌入。以下是该文件的关键代码片段:
import tensorflow as tf
import tensorflow_hub as hub
import logging
MODULE_URL = 'https://tfhub.dev/google/universal-sentence-encoder/2'
class EmbedUtil:
def __init__(self):
logging.info('Initialising embedding utility...')
embed_module = hub.Module(MODULE_URL)
placeholder = tf.placeholder(dtype=tf.string)
embed = embed_module(placeholder)
session = tf.Session()
session.run([tf.global_variables_initializer(), tf.tables_initializer()])
logging.info('tf.Hub module is loaded.')
def _embeddings_fn(sentences):
computed_embeddings = session.run(embed, feed_dict={placeholder: sentences})
return computed_embeddings
self.embedding_fn = _embeddings_fn
logging.info('Embedding utility initialised.')
def extract_embeddings(self, query):
return self.embedding_fn([query])[0]
启动文件介绍
embedding.py
: 该文件定义了EmbedUtil
类,用于加载 TensorFlow Hub 模块并生成文本嵌入。__init__
方法初始化嵌入工具,extract_embeddings
方法用于提取给定查询的嵌入。
3. 项目的配置文件介绍
项目中没有明确的配置文件,但可以通过修改 embedding.py
中的 MODULE_URL
变量来更改使用的 TensorFlow Hub 模块。
MODULE_URL = 'https://tfhub.dev/google/universal-sentence-encoder/2'
配置文件介绍
MODULE_URL
: 该变量定义了用于生成嵌入的 TensorFlow Hub 模块的 URL。可以根据需要更改此 URL 以使用不同的嵌入模型。
以上是 realtime-embeddings-matching
项目的基本使用教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这些信息能帮助你更好地理解和使用该项目。
realtime-embeddings-matching 项目地址: https://gitcode.com/gh_mirrors/re/realtime-embeddings-matching