diff --git a/examples/ai-sdk/weather.ts b/examples/ai-sdk/weather.ts index 9c380ea..35b60a8 100644 --- a/examples/ai-sdk/weather.ts +++ b/examples/ai-sdk/weather.ts @@ -11,11 +11,12 @@ async function main() { const weather = new WeatherClient() const result = await generateText({ - model: openai('gpt-4-turbo'), + model: openai('gpt-4o'), tools: createAISDKTools(weather), toolChoice: 'required', - prompt: - 'What is the weather in San Francisco and what attractions should I visit?' + temperature: 0, + system: 'You are a weather assistant. Be as concise as possible.', + prompt: 'What is the weather in San Francisco?' }) console.log(result.toolResults[0]) diff --git a/examples/dexter/weather.ts b/examples/dexter/weather.ts index c9c41f1..78ac72d 100644 --- a/examples/dexter/weather.ts +++ b/examples/dexter/weather.ts @@ -1,73 +1,22 @@ #!/usr/bin/env node import 'dotenv/config' -import { - ChatModel, - createAIFunction, - createAIRunner, - Msg -} from '@dexaai/dexter' -import { z } from 'zod' +import { ChatModel, createAIRunner } from '@dexaai/dexter' import { WeatherClient } from '../../src/index.js' import { createDexterFunctions } from '../../src/sdks/dexter.js' -/** Get the capital city for a given state. */ -const getCapitalCity = createAIFunction( - { - name: 'get_capital_city', - description: 'Use this to get the the capital city for a given state', - argsSchema: z.object({ - state: z - .string() - .length(2) - .describe( - 'The state to get the capital city for, using the two letter abbreviation e.g. CA' - ) - }) - }, - async ({ state }) => { - await new Promise((resolve) => setTimeout(resolve, 500)) - let capitalCity = '' - switch (state) { - case 'CA': - capitalCity = 'Sacramento' - break - case 'NY': - capitalCity = 'Albany' - break - default: - capitalCity = 'Unknown' - } - return { capitalCity } - } -) - -const weather = new WeatherClient() - -/** A runner that uses the weather and capital city functions. */ -const weatherCapitalRunner = createAIRunner({ - chatModel: new ChatModel({ params: { model: 'gpt-4-1106-preview' } }), - functions: [...createDexterFunctions(weather), getCapitalCity], - systemMessage: `You use functions to answer questions about the weather and capital cities.` -}) - async function main() { - // Run with a string input - const rString = await weatherCapitalRunner( - `Whats the capital of California and NY and the weather for both?` - ) - console.log('rString', rString) + const weather = new WeatherClient() - // Run with a message input - const rMessage = await weatherCapitalRunner({ - messages: [ - Msg.user( - `Whats the capital of California and NY and the weather for both?` - ) - ] + const runner = createAIRunner({ + chatModel: new ChatModel({ params: { model: 'gpt-4o', temperature: 0 } }), + functions: createDexterFunctions(weather), + systemMessage: 'You are a weather assistant. Be as concise as possible.' }) - console.log('rMessage', rMessage) + + const result = await runner('What is the weather in San Francisco?') + console.log(result) } await main() diff --git a/examples/langchain/weather.ts b/examples/langchain/weather.ts index da16211..7508173 100644 --- a/examples/langchain/weather.ts +++ b/examples/langchain/weather.ts @@ -13,7 +13,7 @@ async function main() { const tools = createLangChainTools(weather) const agent = createToolCallingAgent({ - llm: new ChatOpenAI({ temperature: 0 }), + llm: new ChatOpenAI({ model: 'gpt-4o', temperature: 0 }), tools, prompt: ChatPromptTemplate.fromMessages([ ['system', 'You are a weather assistant. Be as concise as possible.'], @@ -25,8 +25,8 @@ async function main() { const agentExecutor = new AgentExecutor({ agent, - tools, - verbose: true + tools + // verbose: true }) const result = await agentExecutor.invoke({