Hello prompt engineers,
Earlier this year I tried to create a hardcoded cache of embedding vectors, only to be thwarted by the limitations of Kotlin (the combined size of the arrays of numbers exceeded Kotlin’s maximum function size). Now that we’ve added Sqlite to the solution to support memory and querying, we can use that infrastructu...
Hello prompt engineers,
We first introduced OpenAI chat functions with a weather service and then a time-based conference sessions query.
Both of those examples work well for ‘point in time’ queries or questions about a static set of data (e.g., the conference schedule). But each time the JetchatAI app is opened, it has no recolle...
Hello prompt engineers,
Last week’s post introduced the OpenAI chat function calling to implement a live weather response. This week, we’ll look at how to use function calling to enhance responses when using embeddings to retrieve data isn’t appropriate. The starting point will be the droidcon SF sample we’ve covered previously:
F...
Hello prompt engineers,
OpenAI recently announced a new feature – function calling – that makes it easier to extend the chat API with external data and functionality. This post will walk through the code to implement a “chat function” in the JetchatAI sample app (discussed in earlier posts).
Following the function calling document...
Hello prompt engineers,
A few weeks ago I added a custom datastore (the droidcon SF schedule) to the Jetchat OpenAI chat sample. One of the ‘hacks’ I used was generating the embeddings used for similarity comparisons on every startup and caching in memory:
This results in ~70 web requests each time, plus the (albeit low) monetar...
Hello prompt engineers,
A few weeks ago we finished a series of posts building an AI chatbot using the Jetchat sample with OpenAI. The sample uses the chat and image endpoints, but has the same limitation as many LLMs, which is that its knowledge is limited to the training data (for example, anything after September 2021 is not included)...
Hello prompt engineers,
The last three blogs have been about exploring the OpenAI API completion, edit, and image endpoints from Android, using HttpClient and crafting JSON requests and responses. This post is about implementing the chat API in an Android app, using the open-source client library openai-kotlin on GitHub. The library make...
Hello prompt engineers,
Last week we implemented OpenAI APIs in a basic text editor sample to add features like spell checking. We used the ‘default’ completions endpoint which accepts a prompt string and returns the result, but there are other APIs that are suited to different purposes. For last week’s example, there is a better way to buil...
Hello prompt engineers,
OpenAI has been in the news a lot recently, with the release of ChatGPT 4 and the integration of Large Language Model (LLM)-driven features into a variety of products and services including Bing, GitHub, and Microsoft 365 applications.
Inspired by Syncfusion’s blog post on adding ChatGPT to their .NET blazo...
Hello budding prompt engineers,
Many developers are already getting assistance from GitHub Copilot completing code and more recently the conversational additions to GitHub pull requests, documentation, and the CLI. In this post we’ll look at some of the ways that Android developers can take advantage of OpenAI- and ChatGPT-powered tools....