Appwrite function is throwing a n exception when I am trying to call Open AI API. Exception: Connection error.
My appwritre version is 1.6.0 Function runtime is Python 3.10 running in Ubuntu 22.04 server
Note: I have tested same code in my local machine and server (without appwrite) it worked as expexted. But in Appwrite, function detects the incoming request, gets required environment variables and it only fails when it tries to call AI API.
Here is my code: main.py:
from langchain_openai import ChatOpenAI
from .utils import throw_if_missing
import os
def main(context):
throw_if_missing(os.environ, ["OPENAI_API_KEY"])
context.log("Received request and checking method")
context.log(f"Prompt: {context.req.body['prompt']}")
key = os.environ["OPENAI_API_KEY"]
try:
throw_if_missing(context.req.body, ["prompt"])
except ValueError as err:
context.log(f"Missing required fields: {err}")
context.log(context.req.body)
return context.res.json({"ok": False, "error": err.message}, 400)
context.log(f"Prompt: {context.req.body['prompt']}")
try:
context.log("Querying model")
model = ChatOpenAI(model="gpt-4o-mini",api_key=key)
response = model.invoke("What is 81 divided by 9?")
context.log("Model queried successfully")
context.log(response)
return context.res.json({"ok": True, "completion": response}, 200)
except Exception as ex:
context.log("Failed to query model")
context.log(ex)
return context.res.json({"ok": False, "error": "Failed to query model."}, 500)
utils.py:
import os
__dirname = os.path.dirname(os.path.abspath(__file__))
static_folder = os.path.join(__dirname, "../static")
def throw_if_missing(obj: object, keys: list[str]) -> None:
missing = [key for key in keys if key not in obj or not obj[key]]
if missing:
raise ValueError(f"Missing required fields: {', '.join(missing)}")
Recommended threads
- Creating e-mails without user account
Hi, is it possible to send an e-mail through appwrite directly to the provided e-mail without topics or users provided? I'm on self-hosted and i need it in a ca...
- Issue with creating Oauth2 session
Getting error while using Oauth2provider.google ```AppwriteException: general_unauthorized_scope, User (role: guests) missing scope (account) (401)``` Develop...
- best functions runtime for performance a...
I have a ton of functions performing tasks, big and small, like user signup document writes, cron db cleanup jobs, essentially all writes on the database are mo...