| 53 | ] |
| 54 | |
| 55 | def parse_args(): |
| 56 | parser = argparse.ArgumentParser(description="Run naive RAG for various datasets and models.") |
| 57 | parser.add_argument('--single_question', type=str, default=None, help="Single question to process instead of dataset") |
| 58 | parser.add_argument('--dataset_name', type=str, required=False, default='custom', help="Name of the dataset to use.") |
| 59 | parser.add_argument('--split', type=str, required=False, default='test', help="Dataset split to use.") |
| 60 | parser.add_argument('--subset_num', type=int, default=-1, help="Number of examples to process. Defaults to all if not specified.") |
| 61 | |
| 62 | parser.add_argument('--temperature', type=float, default=0.7, help="Sampling temperature.") |
| 63 | parser.add_argument('--top_p', type=float, default=0.8, help="Top-p sampling parameter.") |
| 64 | parser.add_argument('--top_k', type=int, default=10, help="Maximum number of search documents to return.") |
| 65 | parser.add_argument('--keep_links', action='store_true', default=False, help="Whether to keep links in fetched web content") |
| 66 | parser.add_argument('--use_jina', action='store_true', help="Whether to use Jina API for document fetching.") |
| 67 | parser.add_argument('--jina_api_key', type=str, default='None', help="Your Jina API Key to Fetch URL Content.") |
| 68 | parser.add_argument('--bing_subscription_key', type=str, default=None, help="Bing Search API subscription key.") |
| 69 | parser.add_argument('--bing_endpoint', type=str, default="https://api.bing.microsoft.com/v7.0/search", help="Bing Search API endpoint.") |
| 70 | parser.add_argument('--serper_api_key', type=str, default=None, help="Google Serper API key.") |
| 71 | parser.add_argument('--search_engine', type=str, default="bing", choices=["bing", "serper"], help="Search engine to use (bing or serper).") |
| 72 | parser.add_argument('--seed', type=int, default=None, help="Random seed for generation.") |
| 73 | parser.add_argument('--api_base_url', type=str, required=True, help="Base URL for the API endpoint") |
| 74 | parser.add_argument('--api_key', type=str, default="empty", help="API key for the model service") |
| 75 | parser.add_argument('--model_name', type=str, default="QwQ-32B", help="Name of the model to use") |
| 76 | parser.add_argument('--max_tokens', type=int, default=None, help="Maximum number of tokens to generate") |
| 77 | parser.add_argument('--concurrent_limit', type=int, default=32, help="Maximum number of concurrent API calls") |
| 78 | return parser.parse_args() |
| 79 | |
| 80 | |
| 81 | async def extract_between(text, start_marker, end_marker): |