Forum in maintenance, we will back soon 🙂
This means that the URL is wrong.
there is a dropdown on top, you need to select your URL.Â
if it is not there, you need to add it first in the API template in the main.py
@dassa look at the info from this search: https://learnwithhasan.com/premium-forum/?wpfs=cors
Regards,
Earnie Boyd, CEO
Seasoned Solutions Advisor LLC
Schedule 1-on-1 help
Join me on Slack
Everything working perfectly.Â
but points were not deducted. and also the tool works without points too. cannot figure out why.
Â
@dassa Attach your php code snippet please so we can take a look at it, maybe you didn't add the function that detects points.Â
And are you sure you setup the mycred system and points correctly?
those are the 2 tools i have created.
// Bulk Domain Name Generator $domainnamegenaratorToolConfig = [ 'ENABLE_LOGGING' => false, 'CUSTOM_TOOL_ID' => 1, 'AUTH_REQUIRED' => false, 'POINTS_REQUIRED' => 8, 'ENDPOINT_PATH' => '/domain_name_generator', 'TOOL_NAME' => "Bulk Domain Name Generator", 'EXPECTED_PARAMS' => [ 'niche' => [ 'type' => 'string', 'error_message' => 'Niche not provided.' ] ] ]; custom_lws_tool_setup('bulk_Domain_name_generator', $domainnamegenaratorToolConfig); // Hook Generator $HookgenaratorToolConfig = [ 'ENABLE_LOGGING' => false, 'CUSTOM_TOOL_ID' => 2, 'AUTH_REQUIRED' => false, 'POINTS_REQUIRED' => 5, 'ENDPOINT_PATH' => '/hooks/generate', 'TOOL_NAME' => "Hook Generator", 'EXPECTED_PARAMS' => [ 'topic' => [ 'type' => 'string', 'error_message' => 'topic not provided.' ], 'usage' => [ 'type' => 'string', 'regex' => '/^[A-Z]{2}$/', 'default' => 'DEFAULT', 'error_message' => 'usage not provided.' ] ] ]; custom_lws_tool_setup('hook_generator', $HookgenaratorToolConfig);
you should set 'AUTH_REQUIRED' => true,
Hi, I have already created more than 8 tools. but recently I developed YouTube tools that generate YouTube to bullet points and also YouTube to tweeter threads. that code works fine locally. but after I pushed into digital ocean it gave me an error.
tool code:
# Standard library imports import json import logging import time # Third-party imports from fastapi import APIRouter,Request from pydantic import ValidationError from typing import List from pydantic import BaseModel from ..models.blog_models import youtubeTitles, youtubeSummary, youtubeTweet, youtubeBlog #from SimplerLLM.language.llm import LLM, LLMProvider from SimplerLLM.tools.generic_loader import load_content # Local imports from ..services import llm_api as llm, prompts as pr logger = logging.getLogger("AppLogger") router = APIRouter() #llm_instance = LLM.create(provider=LLMProvider.OPENAI, model_name="gpt-4o") @router.get("/youtube/generate-buletpoint") async def generate_youtube_bulletpoints(youtube_url: str, request: Request): start_time = time.time() max_retries = 5 for retry_count in range(max_retries): try: # Retrieve YouTube transcript content content = load_content(youtube_url).content #if await llm_instance.is_text_flagged(content): #return { #"success": False, #"message": "Content Not Allowed", # "result": None # } prompt = pr.youtube_bulletpoint.format(input=content) result : youtubeSummary = await llm.generate_with_response_model(prompt,1,youtubeSummary) success_result = True return { "success": True, "message": "Generated Summery Successfully", "result": result.titles } except (json.JSONDecodeError, ValidationError) as e: logger.warning( f"Failed during JSON decoding or validation. Retry count: {retry_count + 1}." ) except KeyError as e: logger.warning(f"Missing key in JSON: {e}") except Exception as e: logger.error(e) continue finally: elapsed_time = time.time() - start_time #do soemthing with the elapsed time return { "success": False, "message": f"Failed to generate Summery", "result": None } @router.get("/youtube/generate-tweets") async def generate_tweets(youtube_url: str, request: Request): start_time = time.time() max_retries = 5 for retry_count in range(max_retries): try: # Retrieve YouTube transcript content content = load_content(youtube_url).content prompt = pr.youtube_to_tweet.format(input=content) result: youtubeTweet = await llm.generate_with_response_model(prompt, 1, youtubeTweet) success_result = True return { "success": True, "message": "Generated Tweets Successfully", "result": result.Tweets } except (json.JSONDecodeError, ValidationError) as e: logger.warning( f"Failed during JSON decoding or validation. Retry count: {retry_count + 1}. Error: {e}" ) except KeyError as e: logger.warning(f"Missing key in JSON: {e}") except Exception as e: logger.error(f"An error occurred: {e}") continue finally: elapsed_time = time.time() - start_time logger.info(f"Elapsed time: {elapsed_time}s") return { "success": False, "message": "Failed to generate Tweets", "result": None }
Â
Â
this is what digital ocean support told me:
Upon reviewing the "monkfish-app" app, I could see the below errors in the runtime logs :
python-fast-api-main 2024-07-24T04:58:27.679611277Z INFO: 112.135.204.83:0 - "GET /customdocs HTTP/1.1" 200 OK python-fast-api-main 2024-07-24T04:58:28.729663721Z INFO: 112.135.204.83:0 - "GET /openapi.json HTTP/1.1" 200 OK python-fast-api-main 2024-07-24T05:00:10.885165969Z INFO: 112.135.204.83:0 - "GET /youtube/generate-tweets?youtube_url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DSfBPqdH7wyo HTTP/1.1" 200 OK python-fast-api-main 2024-07-24T05:06:00.108084949Z INFO: 112.135.204.83:0 - "GET / HTTP/1.1" 404 Not Found python-fast-api-main 2024-07-24T05:06:00.647547356Z INFO: 112.135.204.83:0 - "GET /favicon.ico HTTP/1.1" 401 Unauthorized python-fast-api-main 2024-07-24T05:10:48.710596621Z INFO: 112.135.204.83:0 - "GET /youtube/generate-tweets?youtube_url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DSfBPqdH7wyo HTTP/1.1" 200 OK python-fast-api-main 2024-07-24T05:12:33.997244131Z INFO: 112.135.204.83:0 - "GET /youtube/generate-buletpoint?youtube_url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DSfBPqdH7wyo HTTP/1.1" 200 OK python-fast-api-main 2024-07-24T05:44:00.733051527Z INFO: 2405:201:d019:24:45fe:7eb9:1cb9:64e2:0 - "GET / HTTP/1.1" 404 Not Found python-fast-api-main 2024-07-24T05:44:01.865361171Z INFO: 2405:201:d019:24:45fe:7eb9:1cb9:64e2:0 - "GET /favicon.ico HTTP/1.1" 401 Unauthorized python-fast-api-main 2024-07-24T06:39:01.159643115Z INFO: 185.188.61.216:0 - "GET / HTTP/1.1" 404 Not Found python-fast-api-main 2024-07-24T06:39:01.559017858Z INFO: 185.188.61.216:0 - "GET /favicon.ico HTTP/1.1" 401 Unauthorized python-fast-api-main 2024-07-24T07:54:11.376188373Z INFO: 152.42.174.176:0 - "GET /wp-admin/setup-config.php?step=1 HTTP/1.1" 401 Unauthorized python-fast-api-main 2024-07-24T07:54:12.194482860Z INFO: 152.42.174.176:0 - "GET /wordpress/wp-admin/setup-config.php?step=1 HTTP/1.1" 401 Unauthorized python-fast-api-main 2024-07-24T08:25:34.077917074Z INFO: 213.232.87.232:0 - "GET /.ssh/id_ed25519 HTTP/1.1" 401 Unauthorized
Â
@dassa this log snippet tells you nothing about any errors. This snippet looks common to the process. Is there a specific error you're trying to overcome?
Regards,
Earnie Boyd, CEO
Seasoned Solutions Advisor LLC
Schedule 1-on-1 help
Join me on Slack
return the exceptions and errors with the response, maybe we can spot what is going on. or share the logs
@admin Thank you for your help. fast API output.
Response body { "success": false, "message": "Failed to generate Tweets", "result": null } Response headers cache-control: private cf-cache-status: MISS cf-ray: 8aa536a2d8d95134-CMB content-encoding: br content-type: application/json date: Sun,28 Jul 2024 13:28:41 GMT last-modified: Sun,28 Jul 2024 13:28:41 GMT server: cloudflare vary: Accept-Encoding x-do-app-origin: 0b51663a-d999-446b-98ae-bc669263fd6d x-do-orig-status: 200
Â
Is this you are asking?
Â
Â
no I mean the exceptions in the code, return them in the "message"
Did not get you. please explain if you can. thanks
@dassa Edit the code so that the error the code encounters is returned in the "message" section so that we can know what the error is and help you. So, instead of it returning this:
"message": "Failed to generate Tweets"
Â
It returns the specific error its encountering.
@dassa, in order to know what's happening on the server, we need to see the detailed errors and exceptions happening. Either you need to log on to the server and share the log with us or try to return the exception message with the message coming.