Home >Web Front-end >JS Tutorial >Build AI Agent Connected to Unlimited APIs with Vercel&#s AI SDK & Pica&#s OneTool

Build AI Agent Connected to Unlimited APIs with Vercel&#s AI SDK & Pica&#s OneTool

Barbara Streisand
Barbara StreisandOriginal
2025-01-23 02:35:09693browse

Build AI Agent Connected to Unlimited APIs with Vercel

Unlock the power of seamless API interaction in your software projects! This tutorial guides you through building an AI agent that effortlessly connects to multiple APIs using Express, Vercel's AI SDK, and Pica's AI infrastructure.

Prerequisites

Before you begin, ensure you have Node.js and npm installed. You'll also need an OpenAI API key and a Pica Secret Key. Create a new project and install the required packages:

<code class="language-bash">npm install express @ai-sdk/openai ai @picahq/ai dotenv</code>

Next, create a .env file in your project's root directory and add your API keys:

<code>PICA_SECRET_KEY=your-pica-secret-key
OPENAI_API_KEY=your-openai-api-key
PORT=3000</code>

Remember to replace the placeholder keys with your actual keys.

Step 1: Setting Up the Express Server

Create server.js and build a basic Express server to handle AI interactions:

<code class="language-javascript">import express from "express";
import { openai } from "@ai-sdk/openai";
import { generateText } from "ai";
import { Pica } from "@picahq/ai";
import * as dotenv from "dotenv";

dotenv.config();

const app = express();
const port = process.env.PORT || 3000;

app.use(express.json());

app.post("/api/ai", async (req, res) => {
  try {
    const { message } = req.body;
    const pica = new Pica(process.env.PICA_SECRET_KEY);
    const systemPrompt = await pica.generateSystemPrompt();

    const { text } = await generateText({
      model: openai("gpt-4o"),
      system: systemPrompt,
      tools: { ...pica.oneTool },
      prompt: message,
      maxSteps: 5,
    });

    res.setHeader("Content-Type", "application/json");
    res.status(200).json({ text });
  } catch (error) {
    console.error("Error:", error);
    res.status(500).json({ error: "Server error" });
  }
});

app.listen(port, () => {
  console.log(`Server listening on port ${port}`);
});

export default app;</code>

Step 2: API Testing

Start your server. You can test the /api/ai endpoint using curl or Postman:

<code class="language-bash">curl --location 'http://localhost:3000/api/ai' \
--header 'Content-Type: application/json' \
--data '{ "message": "What connections do I have access to?" }'</code>

Expect a response indicating no connections are available until you configure them in the Pica dashboard.

Understanding the Code

The code utilizes several key components:

  1. Express: Manages the server and routing.
  2. @ai-sdk/openai and ai: Handle OpenAI API calls.
  3. @picahq/ai: Provides access to Pica's infrastructure.
  4. dotenv: Securely loads API keys from the .env file.
  5. The /api/ai endpoint initializes Pica, generates a system prompt, processes the user's message, and returns the AI's response.

Step 3: Next Steps and Deployment

  • Enhancements: Implement authentication and rate limiting for production environments.
  • Expansion: Leverage Pica's additional tools to connect to a broader range of APIs and data sources.
  • Deployment: Deploy your server to a platform like Vercel or AWS for wider accessibility.

Conclusion

You've successfully built a foundation for an AI agent that can interact with numerous APIs. Expand upon this to automate tasks, process complex requests, and seamlessly integrate with other services. Feel free to share your questions or connect on Twitter! Happy coding!

The above is the detailed content of Build AI Agent Connected to Unlimited APIs with Vercel&#s AI SDK & Pica&#s OneTool. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn