Back to blog

Operator Log #0003

Go SDK, Audio Indexing, Long-Term Memory Demo, Indexing Improvements

Operator log

Hey y'all, hope everyone had a fantastic week. We're writing this change-log in the middle of a massive Rogers outage affecting a lot of Canadians. It's been really interesting to follow along via the relevant Cloudflare Radar page, and see the various BGP announcements & statistics. Sending love to a) the Canadians affected by this outage, and b) Rogers engineers who are no doubt having a rough day.

Anyway, on to the change-log for this week!

Go SDK

As a company, we love Go, most of our systems are written in it, we've published a bunch of open-source libraries and tools in it (this one and that one), and we're big believers that using Go makes us more productive as a team. As such, the majority of our demos and experiments we build are written in Go, yet up until this week, we didn't have a proper SDK for it.

Well, now we do! Here's the link: https://github.com/operandinc/go-sdk.

The Go SDK joins our TypeScript SDK in our ever-growing collections of official client libraries for the Operand API. As always, if you're interested in contributing, or need an SDK built for a particular language, let us know!

Audio Transcription

Audio chat rooms and podcasts have been really popular lately, which isn't super surprising given how convenient it is to put on a podcast while you're commuting somewhere, or working out at the gym. Podcasts tend to have a good number of hidden gems within them, though these gems are usually hidden by a good amount of fluff. Feels like a problem for Operand!

As of today, you can upload *.wav files to the Operand serverless dashboard, or via the API using the new audio object type. During indexing, we'll automatically transcribe the audio clip and index the content as text. In the future, we expect to support more file formats in addition to supporting more advanced indexing options, such as speaker diarization.

We'll likely be diving deeper into the podcasting use case in the near future - we think there are a lot of exciting opportunities here to work with individual podcasters themselves, in addition to existing distribution companies.

Long-Term Memory Demo

This week, we shipped a new blog post along with corresponding source code, which provides an in depth tutorial on building GPT-3 powered chatbots and using Operand-powered semantic search to take them to a whole new level. Specifically, by indexing the message history of a conversation between a user and a bot, the bot can "remember" what the user told it by referencing semantic search results when generating responses.

In general, the pattern of using semantic search results to provide additional context to large language models is a really powerful idea, and we've been using it for the past ~1.5 years internally to build various virtual assistants and information retrieval systems.

Bug Fixes / Improvements

  • Fixed an issue which prevented users from creating search engine / typeahead interfaces for collections (users were seeing client side exceptions).
  • Fixed an issue where the "type" field on the /v3/search/contents content response wasn't being populated in the response object.
  • Updated the pricing field on our homepage to better reflect the current billing situation. We will continue to update this as we build stuff out. For now, everything remains free while we iron some bugs out.
  • Made some changes to our indexing and embedding pipeline, which should improve search performance on English documents considerably. We continue to make behind-the-scenes changes to our search systems on a daily basis, we've barely scratched the surface of what's possible!