88Note: When changing a SQLite table's schema, change the table's name (e.g., add _2 or _3) to create a fresh table.
89
90### OpenAI
91
92```ts
93import { OpenAI } from "https://esm.town/v/std/openai";
94const openai = new OpenAI();
95const completion = await openai.chat.completions.create({
96 messages: [
97 { role: "user", content: "Say hello in a creative way" },
94Note: When changing a SQLite table's schema, change the table's name (e.g., add _2 or _3) to create a fresh table.
95
96### OpenAI
97
98```ts
99import { OpenAI } from "https://esm.town/v/std/openai";
100const openai = new OpenAI();
101const completion = await openai.chat.completions.create({
102 messages: [
103 { role: "user", content: "Say hello in a creative way" },
88Note: When changing a SQLite table's schema, change the table's name (e.g., add _2 or _3) to create a fresh table.
89
90### OpenAI
91
92```ts
93import { OpenAI } from "https://esm.town/v/std/openai";
94const openai = new OpenAI();
95const completion = await openai.chat.completions.create({
96 messages: [
97 { role: "user", content: "Say hello in a creative way" },
94Note: When changing a SQLite table's schema, change the table's name (e.g., add _2 or _3) to create a fresh table.
95
96### OpenAI
97
98```ts
99import { OpenAI } from "https://esm.town/v/std/openai";
100const openai = new OpenAI();
101const completion = await openai.chat.completions.create({
102 messages: [
103 { role: "user", content: "Say hello in a creative way" },
1import OpenAI from "npm:openai";
2import { serveFile } from "https://esm.town/v/std/utils@85-main/index.ts";
3
95Format your response as a structured report. If you cannot find information for any section, please indicate "No information found" for that section.`;
96
97 // Initialize OpenAI client
98 const client = new OpenAI({
99 apiKey: Deno.env.get("OPENAI_API_KEY"),
100 });
101
119
120 if (!content) {
121 throw new Error("No content returned from OpenAI");
122 }
123
1# Person Enrichment API
2
3An HTTP endpoint that enriches person data using OpenAI's web search capabilities. Provide basic information about a person (email, name, etc.) and get back comprehensive research about them.
4
5## Setup
6
71. Set your OpenAI API key as an environment variable: `OPENAI_API_KEY`
82. The API uses the `gpt-4o-search-preview` model with web search capabilities
9
57- `405 Method Not Allowed`: Only POST requests are accepted
58- `400 Bad Request`: No identifiers provided (at least one field required)
59- `500 Internal Server Error`: OpenAI API error or processing failure
60
61## Example Usage
98## Features
99
100- **Web Search Integration**: Uses OpenAI's `gpt-4o-search-preview` model with web search capabilities
101- **Form Data Support**: Accepts standard HTML form submissions and FormData objects
102- **Comprehensive Research**: Provides structured information across multiple categories
122## Rate Limits
123
124The API is subject to OpenAI's rate limits for the `gpt-4o-search-preview` model. Consider implementing your own rate limiting if needed for production use.
88Note: When changing a SQLite table's schema, change the table's name (e.g., add _2 or _3) to create a fresh table.
89
90### OpenAI
91
92```ts
93import { OpenAI } from "https://esm.town/v/std/openai";
94const openai = new OpenAI();
95const completion = await openai.chat.completions.create({
96 messages: [
97 { role: "user", content: "Say hello in a creative way" },
94Note: When changing a SQLite table's schema, change the table's name (e.g., add _2 or _3) to create a fresh table.
95
96### OpenAI
97
98```ts
99import { OpenAI } from "https://esm.town/v/std/openai";
100const openai = new OpenAI();
101const completion = await openai.chat.completions.create({
102 messages: [
103 { role: "user", content: "Say hello in a creative way" },
88Note: When changing a SQLite table's schema, change the table's name (e.g., add _2 or _3) to create a fresh table.
89
90### OpenAI
91
92```ts
93import { OpenAI } from "https://esm.town/v/std/openai";
94const openai = new OpenAI();
95const completion = await openai.chat.completions.create({
96 messages: [
97 { role: "user", content: "Say hello in a creative way" },
94Note: When changing a SQLite table's schema, change the table's name (e.g., add _2 or _3) to create a fresh table.
95
96### OpenAI
97
98```ts
99import { OpenAI } from "https://esm.town/v/std/openai";
100const openai = new OpenAI();
101const completion = await openai.chat.completions.create({
102 messages: [
103 { role: "user", content: "Say hello in a creative way" },