Spaces:
Runtime error
Runtime error
| import textwrap | |
| from fastapi import FastAPI | |
| from pydantic import BaseModel | |
| from dotenv import load_dotenv | |
| from api.external_services import InitiazlizeGithubService, InitiazlizeActiveloopService | |
| # Load environment variables | |
| load_dotenv() | |
| app = FastAPI() | |
| class GitHubRepoRequest(BaseModel): | |
| githubRepoUrl: str | |
| class UserCodeRequest(BaseModel): | |
| userCode: str | |
| async def scrape_and_upload_to_activeloop(repo_request: GitHubRepoRequest): | |
| # Add logic to scrape and upload to ActiveLoop | |
| # Example: Scrape GitHub repo and upload to ActiveLoop | |
| # Implement your scraping and upload logic here | |
| github_service = InitiazlizeGithubService() | |
| activeloop_service = InitiazlizeActiveloopService() | |
| print(f"repo from user: {repo_request.githubRepoUrl}") | |
| owner, repo = github_service.parse_github_url(repo_request.githubRepoUrl) | |
| docs = github_service.load_repo_data(owner, repo) | |
| activeloop_service.upload_to_activeloop(docs) | |
| return {"status": "success", "message": "Repo processed successfully"} | |
| async def find_similar_code_and_explain(code_request: UserCodeRequest): | |
| # Add logic to find similar code and provide explanations or improvements | |
| # Example: Search in ActiveLoop DB | |
| # Implement your search and analysis logic here | |
| activeloop_service = InitiazlizeActiveloopService() | |
| print(f"code from user: {code_request.userCode}") | |
| # intro_question = "What is the repository about?" | |
| intro_question = code_request.userCode | |
| print(f"Test question: {intro_question}") | |
| print("=" * 50) | |
| answer = activeloop_service.query_engine.query(intro_question) | |
| print(f"Answer: {textwrap.fill(str(answer), 100)} \n") | |
| return { | |
| "answer": answer, | |
| } | |