Simon Willison’s Weblog

Subscribe

July 2023

73 posts: 4 entries, 20 links, 7 quotes, 42 beats

July 14, 2023

TIL Using tree-sitter with Python — [tree-sitter](https://tree-sitter.github.io/tree-sitter/) is a "parser generator tool and an incremental parsing library". It has a very good reputation these days.

July 16, 2023

Increasingly powerful AI systems are being released at an increasingly rapid pace. [...] And yet not a single AI lab seems to have provided any user documentation. Instead, the only user guides out there appear to be Twitter influencer threads. Documentation-by-rumor is a weird choice for organizations claiming to be concerned about proper use of their technologies, but here we are.

Ethan Mollick

# 12:12 am / ethics, ai, generative-ai, ethan-mollick, ai-ethics

Release symbex 1.1 — Find the Python code for specified symbols

Weeknotes: Self-hosted language models with LLM plugins, a new Datasette tutorial, a dozen package releases, a dozen TILs

A lot of stuff to cover from the past two and a half weeks.

[... 1,742 words]

Release symbex 1.2 — Find the Python code for specified symbols

July 17, 2023

Release datasette-auth-tokens 0.4a0 — Datasette plugin for authenticating access using API tokens

July 18, 2023

Release llm-replicate 0.1 — LLM plugin for models hosted on Replicate
Release llm-replicate 0.2 — LLM plugin for models hosted on Replicate

Accessing Llama 2 from the command-line with the llm-replicate plugin

Visit Accessing Llama 2 from the command-line with the llm-replicate plugin

The big news today is Llama 2, the new openly licensed Large Language Model from Meta AI. It’s a really big deal:

[... 1,206 words]

Ollama (via) This tool for running LLMs on your own laptop directly includes an installer for macOS (Apple Silicon) and provides a terminal chat interface for interacting with models. They already have Llama 2 support working, with a model that downloads directly from their own registry service without need to register for an account or work your way through a waiting list.

# 9 pm / ai, generative-ai, llama, local-llms, llms, ollama

Release llm 0.6 — Access large language models from the command-line

July 19, 2023

Release symbex 1.3 — Find the Python code for specified symbols

llama2-mac-gpu.sh (via) Adrien Brault provided this recipe for compiling llama.cpp on macOS with GPU support enabled (“LLAMA_METAL=1 make”) and then downloading and running a GGML build of Llama 2 13B.

# 4:04 am / macos, ai, generative-ai, llama, local-llms, llms, llama-cpp

Llama 2: The New Open LLM SOTA. I’m in this Latent Space podcast, recorded yesterday, talking about the Llama 2 release.

# 5:37 pm / podcasts, ai, generative-ai, llama, local-llms

July 20, 2023

Study claims ChatGPT is losing capability, but some experts aren’t convinced. Benj Edwards talks about the ongoing debate as to whether or not GPT-4 is getting weaker over time. I remain skeptical of those claims—I think it’s more likely that people are seeing more of the flaws now that the novelty has worn off.

I’m quoted in this piece: “Honestly, the lack of release notes and transparency may be the biggest story here. How are we meant to build dependable software on top of a platform that changes in completely undocumented and mysterious ways every few months?”

# 12:22 am / ethics, ai, openai, generative-ai, chatgpt, gpt-4, llms, benj-edwards, ai-ethics, press-quotes

sqlite-vss v0.1.1 Annotated Release Notes (via) Alex Garcia’s sqlite-vss adds vector search directly to SQLite through a custom extension. It’s now easily installed for Python, Node.js, Deno, Elixir, Go, Rust and Ruby (“gem install sqlite-vss”), and is being used actively by enough people that Alex is getting actionable feedback, including fixes for memory leaks spotted in production.

# 5:48 pm / sqlite, annotated-release-notes, alex-garcia, vector-search

Release llm-replicate 0.3 — LLM plugin for models hosted on Replicate

Prompt injected OpenAI’s new Custom Instructions to see how it is implemented. ChatGPT added a new "custom instructions" feature today, which you can use to customize the system prompt used to control how it responds to you. swyx prompt-inject extracted the way it works:

The user provided the following information about themselves. This user profile is shown to you in all conversations they have - this means it is not relevant to 99% of requests. Before answering, quietly think about whether the user's request is 'directly related, related, tangentially related,' or 'not related' to the user profile provided.

I'm surprised to see OpenAI using "quietly think about..." in a prompt like this - I wouldn't have expected that language to be necessary.

# 7:03 pm / ai, openai, prompt-engineering, prompt-injection, swyx, generative-ai, chatgpt, llms, system-prompts

July 22, 2023

Release sqlite-utils 3.34 — Python CLI utility and library for manipulating SQLite databases

July 23, 2023

Release sqlite-migrate 0.1a0 — A simple database migration system for SQLite, based on sqlite-utils
Release sqlite-migrate 0.1a1 — A simple database migration system for SQLite, based on sqlite-utils

July 24, 2023

Release sqlite-utils-dateutil 0.1 — Date utility functions for sqlite-utils
Release sqlite-utils-shell 0.1 — Interactive shell for sqlite-utils
Release sqlite-utils-shell 0.2 — Interactive shell for sqlite-utils
Release asgi-replay 0.1a0 — Record and replay ASGI web page loads
Release llm 0.6.1 — Access large language models from the command-line

sqlite-utils now supports plugins

Visit sqlite-utils now supports plugins

sqlite-utils 3.34 is out with a major new feature: support for plugins.

[... 1,327 words]

LLM can now be installed directly from Homebrew (via) I spent a bunch of time on this at the weekend: my LLM tool for interacting with large language models from the terminal has now been accepted into Homebrew core, and can be installed directly using “brew install llm”. I was previously running my own separate tap, but having it in core means that it benefits from Homebrew’s impressive set of build systems—each release of LLM now has Bottles created for it automatically across a range of platforms, so “brew install llm” should quickly download binary assets rather than spending several minutes installing dependencies the slow way.

# 5:16 pm / homebrew, projects, ai, generative-ai, llms, llm

asgi-replay. As part of submitting LLM to Homebrew core I needed an automated test that demonstrated that the tool was working—but I couldn’t test against the live OpenAI API because I didn’t want to have to reveal my API token as part of the test. I solved this by creating a dummy HTTP endpoint that simulates a hit to the OpenAI API, then configuring the Homebrew test to hit that instead. As part of THAT I ended up building this tiny tool which uses my asgi-proxy-lib package to intercept and log the details of hits made to a service, then provides a mechanism to replay that traffic.

# 7:51 pm / projects, asgi

Release dclient 0.2 — A client CLI utility for Datasette instances

2023 » July

MTWTFSS
     12
3456789
10111213141516
17181920212223
24252627282930
31