Giter Site home page Giter Site logo

llm-clip's Introduction

llm-clip

PyPI Changelog Tests License

LLM plugin for embedding images and text using CLIP

Installation

Install this plugin in the same environment as LLM.

llm install llm-clip

Usage

Once you have installed an embedding model you can use it to embed text like this:

llm embed -m clip -c 'Hello world'

Or an image like this:

llm embed -m clip --binary -i IMG_4801.jpeg

Embeddings are more useful if you store them in a database - see the LLM documentation for details.

To embed every photograph in a folder and save them in a collection called "photos":

llm embed-multi photos -m clip --binary --files photos/ '*.jpg'

You can then search for photos of specific things like this:

llm similar photos -c 'bunny'

Development

To set up this plugin locally, first checkout the code. Then create a new virtual environment:

cd llm-clip
python3 -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

pytest

llm-clip's People

Contributors

simonw avatar

Stargazers

Jihwan Kim avatar Prajwal Singh avatar  avatar  avatar Adrian Carballo avatar Jason avatar Jazz Yao-Tsung Wang avatar Bukit Sorrento avatar tyqqj0 avatar  avatar Allen S, bookman avatar Wondong Shin avatar Glenn 'devalias' Grant avatar Shivay @ Couchbase avatar Kader Miyanyedi avatar xyxu avatar Kristoffer Rolf Deinoff avatar syddharth avatar Nijat Mahmudov avatar Gary Blankenship avatar John Zumwalt avatar Tian Junwei avatar Teddy Xinyuan Chen avatar  avatar Azim Kurt avatar David Barker avatar takamatsu avatar Sophy SEM avatar Simeon Dimitrov avatar  avatar Nikolay Karelin avatar Alex Kwiatkowski avatar Nisuga Jayawardana avatar Karl Q. avatar Nyimbi Odero avatar  Vivek Rp avatar  avatar Peter Leonard avatar Technetium1 avatar ihsan avatar Emmanuel Château-Dutier avatar TheAlain avatar JerExJs avatar jay avatar 大関 金城 秀喜 カシオ avatar errantsky avatar Mohammad Reza Taesiri avatar  avatar Kevin James O'Dea avatar M.J. avatar matt wilkie avatar Raphael MANSUY avatar Tim Kersey avatar

Watchers

 avatar  avatar

Forkers

cxz codercowmoo

llm-clip's Issues

location of the embeddings

Hey, very interesting plugin for llm and love it.

Just curious, where is the embeddings stored in file system?

Ability to run alternative models

The model ID is hard-coded here:

llm-clip/llm_clip.py

Lines 20 to 23 in ffa91b3

def embed_batch(self, items):
# Embeds a mix of text strings and binary images
if self._model is None:
self._model = SentenceTransformer('clip-ViT-B-32')

It would be neat if you could register and use alternative models.

Relevant: https://carleton.ca/xlab/2023/archaeclip-or-building-a-visual-search-engine-for-archaeology/ - about fine-tuning a custom CLIP model for use with this plugin.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.