Automatically Attaching YouTube Video Footers to AI Tutorial Questions: Gemini LLM & YouTube Search Service Integration A developer integrated Gemini LLM and YouTube Search services to automatically attach relevant video footers to AI tutorial questions. The system initially struggled when Gemini extracted overly general keywords from ambiguous queries, but the developer resolved this by modifying prompts to generate more specific search terms and adding filtering logic to YouTube Search for tutorial-appropriate videos. Automatically Attaching YouTube Video Footers to Tutorial-Style Questions: An Integration Log of gemini llm service & youtube search service I've been developing a feature to automatically attach YouTube video footers to AI tutorial questions. My initial thought was simple: find a YouTube video relevant to the question and display it as a footer. My first approach was to have gemini llm service understand the intent of the question and then use those keywords to search for videos via youtube search service . However, this turned out to be harder than I expected. When questions were a bit ambiguous, gemini llm service often extracted irrelevant keywords. For example, for a question like "How to build a website with Python," just searching with the keyword "website" would yield overly general results. python Initial attempt code conceptual from gemini llm service import GeminiLLM from youtube search service import YouTubeSearch gemini = GeminiLLM youtube = YouTubeSearch question = "Tell me how to build a simple website with Python" keywords = gemini.extract keywords question Problem often occurred here search results = youtube.search keywords ... video footer processing logic ... During this process, the accuracy of keywords returned by gemini llm service was low, repeatedly leading to youtube search service failing to find the desired videos. I probably spent about 3 hours just struggling with this part. Ultimately, the problem was that gemini llm service wasn't fully grasping the context of the question and was extracting overly general keywords. I realized that especially for tutorial-style questions, it's difficult to find the right video based solely on keywords. So, I modified the prompt to instruct gemini llm service to generate more specific search keywords only when it clearly identifies the question as a tutorial request. I also implemented additional filtering logic in youtube search service to improve the relevance of search results. Modified prompt example inside gemini llm service prompt = f""" You are an AI assistant that helps users find relevant YouTube tutorials. Given the following user question, extract specific keywords that would be ideal for searching YouTube for a tutorial. Focus on the core topic and any specific technologies or methods mentioned. If the question is clearly a request for a tutorial, be more specific in your keyword extraction. User Question: "{user question}" Keywords: """ Added logic in youtube search service for filtering highly relevant videos conceptual def search and filter tutorials query : results = youtube search service.search query Logic to filter results more suitable for tutorial videos e.g., video length, channel info filtered results = video for video in results if is likely tutorial video return filtered results def is likely tutorial video : Simple heuristic: title includes 'tutorial', 'how to', 'guide', or description has many relevant keywords, or video length is appropriate. title = video.get 'title', '' .lower description = video.get 'description', '' .lower duration = video.get 'duration seconds', 0 if any keyword in title for keyword in 'tutorial', 'how to', 'guide' : return True if 'python' in description and 'web development' in description: Example return True if 300 < duration < 3600: Videos between 5 minutes and 1 hour return True return False By integrating gemini llm service and youtube search service more closely and adjusting the logic to suit each service's characteristics, the system started working much more stably. gemini llm service and youtube search service .