|
| 1 | +name: Update LLM Info |
| 2 | +description: Updates Gemini blocks with latest information |
| 3 | +version: 2 |
| 4 | +--- |
| 5 | +I need you to update this repo with the latest information about large language models from certain providers. |
| 6 | +The information is stored in the `packages/llm-info` directory, which operates as its own npm package. |
| 7 | +Information is stored in a simple JSON format, with one file of models per "provider" (e.g. gemini, ollama, openai, etc). |
| 8 | +For example, Gemini model information is stored in `packages/llm-info/src/providers/gemini.ts`. |
| 9 | + |
| 10 | +To make these updates for a given provider, perform the following steps one at a time: |
| 11 | + |
| 12 | +1. VIEW CURRENT INFORMATION |
| 13 | + |
| 14 | +To view the current llm info, read the file (e.g. `packages/llm-info/src/providers/gemini.ts`) using the read_file tool. |
| 15 | +If you do not see a tool for reading files, let me know. |
| 16 | + |
| 17 | +For reference, here is the LLMInfo interface used to store the information: |
| 18 | + |
| 19 | +```typescript |
| 20 | +export interface LlmInfo { |
| 21 | + model: string; // the model name used to distinguish the model at the API layer, e.g. "gemini-2.5-pro-preview-05-06" |
| 22 | + displayName?: string; // A fitting display name, e.g. "Gemini 2.5 Pro Preview" |
| 23 | + description?: string; // A short description of the model, as similar as possible to descriptions found on the provider's website |
| 24 | + contextLength?: number; // The size of the context window in tokens, often called "max input tokens" or "context length" |
| 25 | + maxCompletionTokens?: number; // The maximum number of tokens the model can output |
| 26 | + regex?: RegExp; // A regex expression to uniquely match the model name if it had some slight modifications/upgrades, e.g. /gemini-2\.5-pro-preview/i |
| 27 | + mediaTypes?: MediaType[]; // Input/output types supported by the model, e.g. [MediaType.Text, MediaType.Image] |
| 28 | +} |
| 29 | + |
| 30 | +export enum MediaType { |
| 31 | + Text = "text", |
| 32 | + Image = "image", |
| 33 | + Audio = "audio", |
| 34 | + Video = "video", |
| 35 | +} |
| 36 | + |
| 37 | +export const AllMediaTypes = [ |
| 38 | + MediaType.Text, |
| 39 | + MediaType.Image, |
| 40 | + MediaType.Audio, |
| 41 | + MediaType.Video, |
| 42 | +]; |
| 43 | +``` |
| 44 | + |
| 45 | +2. EXTRACT NEW INFORMATION |
| 46 | + |
| 47 | +New information will be pulled from the internet. |
| 48 | +If you do not see a web search tool, let me know. |
| 49 | + |
| 50 | +Retrieve the following sites per these providers, and consider these notes on how to extract the information: |
| 51 | +- "gemini": https://ai.google.dev/gemini-api/docs/models - maxCompletionTokens is called "Output token limit", contextLength is called "Input token limit" |
| 52 | +// TODO: add info for openai, ollama, etc |
| 53 | + |
| 54 | +For any other providers, search the web for "latest [provider] models" and find the most relevant model information using your best judgement. |
| 55 | +Generally, ignore models that do not support text output. These models will be used in a coding assistant client that only supports text/image input and text/output, so extraneous capabilities can be ignored. |
| 56 | +Sometimes, "Experimental", "Preview", or similar versions of models are available. The latest-date version of each should have its own information maintained. |
| 57 | + |
| 58 | +3. UPDATE THE INFORMATION |
| 59 | + |
| 60 | +Use the edit file tool to submit updates to the relevant provider file (e.g. `packages/llm-info/src/providers/gemini.ts`). |
| 61 | +Let me know if you do not see a tool for editing files. |
| 62 | + |
| 63 | +Generally, avoid making changes to existing information, as it is probably up to date. |
| 64 | +Primarily, focus on adding new models or adding missing information to existing models. |
| 65 | +NEVER delete any existing models, but let me know if you think one should be removed. |
| 66 | +Stop to ask me if you are unsure about any changes, and let me know if there are updates that seem nuanced, complex, or extremely notable. |
| 67 | +Provide a summary of changes after the fact. |
| 68 | + |
| 69 | +4. ASK IF I WANT TO PUBLISH TO NPM |
| 70 | +After you are done updating everything, remind me that I need to publish the changes to npm. |
| 71 | + |
| 72 | +// TODO too sensitive for now |
| 73 | +// If yes, update `packages/llm-info/package.json` with the new version number and then |
| 74 | +// - use the terminal tool to commit the changes |
| 75 | +// - use the terminal tool to publish changes to npm |
| 76 | +// If you do not see a tool for running terminal commands, let me know. |
| 77 | + |
| 78 | +// User input |
| 79 | +Please update LLM Info for the following providers. If "all", update all providers mentioned above: |
0 commit comments