1import { readFile } from "https://esm.town/v/std/utils@85-main/index.ts";
2import { OpenAI } from "https://esm.town/v/std/openai";
3
4// Initialize OpenAI client
5const openai = new OpenAI();
6
7export default async function(req: Request): Promise<Response> {
27 }
28
29 // Generate quote using OpenAI - using gpt-3.5-turbo for faster response
30 const completion = await openai.chat.completions.create({
31 messages: [
32 {
44 });
45
46 console.log("OpenAI response:", completion); // Debug log
47
48 let quote = completion.choices[0]?.message?.content || "Could not generate a quote. Please try again.";
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" },
6
7- **Rule-based AI**: Provides pre-written orthodox responses based on topic detection
8- **ChatGPT Integration**: Optional use of OpenAI's GPT models for more dynamic responses
9- **Bible Verses**: Includes relevant Bible verses to support orthodox arguments
10- **Modern Web Interface**: Clean, responsive design with settings panel
7 */
8
9import { OpenAI } from "https://esm.town/v/std/openai";
10
11// Define types for our request and response
121async function generateGPTOrthodoxResponse(userMessage: string, includeBibleVerses: boolean): Promise<OrthodoxResponse> {
122 try {
123 // Initialize OpenAI with API key from environment
124 const openai = new OpenAI();
125
126 // Create a system prompt that instructs GPT to respond with orthodox viewpoints
139
140 // Use a more reliable model and add proper error handling
141 const completion = await openai.chat.completions.create({
142 model: "gpt-3.5-turbo", // Using a more widely available model
143 messages: [
151 // Check if we have a valid response
152 if (!completion.choices || completion.choices.length === 0) {
153 throw new Error("No response received from OpenAI");
154 }
155
165 };
166 } catch (error) {
167 console.error("Error calling OpenAI:", error);
168
169 // Provide a more specific error message for debugging
174
175 // Fall back to rule-based response if GPT fails
176 console.log("Falling back to rule-based response due to OpenAI error");
177 return generateRuleBasedOrthodoxResponse(userMessage, includeBibleVerses);
178 }
1import { Hono } from "https://esm.sh/hono@3.11.7";
2import { readFile, serveFile } from "https://esm.town/v/std/utils@85-main/index.ts";
3import { OpenAI } from "https://esm.town/v/std/openai";
4
5const app = new Hono();
44 console.log("Image converted to base64, length:", base64Image.length);
45
46 // Call OpenAI to analyze the image
47 console.log("Calling OpenAI API...");
48 const openai = new OpenAI();
49 const response = await openai.chat.completions.create({
50 model: "gpt-4o",
51 messages: [
65 });
66
67 console.log("OpenAI response received");
68
69 // Parse the response
70 const content = response.choices[0].message.content || "{}";
71 console.log("OpenAI content:", content);
72
73 let result;
85 }
86 } catch (parseError) {
87 console.error("Error parsing OpenAI response:", parseError);
88 return c.json({
89 error: "Failed to parse analysis result",
28
29Bu uygulama şunları kullanır:
30- OpenAI GPT-4o Vision API (yemek tanıma)
31- Web kamera API'si
32- Hono.js (backend framework)
100Note: When changing a SQLite table's schema, change the table's name (e.g., add _2 or _3) to create a fresh table.
101
102### OpenAI
103```ts
104import { OpenAI } from "https://esm.town/v/std/openai";
105const openai = new OpenAI();
106const completion = await openai.chat.completions.create({
107 messages: [
108 { role: "user", content: "Say hello in a creative way" },
1import {generateObject, LanguageModel, tool} from "npm:ai"
2import {openai} from "npm:@ai-sdk/openai"
3import {google} from "npm:@ai-sdk/google"
4import {
105 constructor(provider?: AIProvider) {
106 const envProvider = Deno.env.get("AI_PROVIDER") as AIProvider | undefined
107 this.provider = provider || envProvider || "openai"
108
109 if (this.provider === "openai") {
110 if (!Deno.env.get("OPENAI_API_KEY")) {
111 console.warn("OPENAI_API_KEY environment variable not set. OpenAI calls may fail.")
112 }
113 this.model = openai("gpt-4o") as LanguageModel
114 } else if (this.provider === "gemini") {
115 if (!Deno.env.get("GOOGLE_GENERATIVE_AI_API_KEY") && !Deno.env.get("GOOGLE_API_KEY")) {
4 "npm:@ai-sdk/google@*": "0.0.23_zod@3.23.8",
5 "npm:@ai-sdk/google@0.0.23": "0.0.23_zod@3.23.8",
6 "npm:@ai-sdk/openai@*": "0.0.36_zod@3.23.8",
7 "npm:@ai-sdk/openai@0.0.36": "0.0.36_zod@3.23.8",
8 "npm:@libsql/client@*": "0.15.6",
9 "npm:@types/node@*": "22.12.0",
29 ]
30 },
31 "@ai-sdk/openai@0.0.36_zod@3.23.8": {
32 "integrity": "sha512-6IcvR35UMuuQEQPkVjzUtqDAuz6vy+PMCEL0PAS2ufHXdPPm81OTKVetqjgOPjebsikhVP0soK1pKPEe2cztAQ==",
33 "dependencies": [