searchGPT高级技巧:定制化配置与OpenAI API集成指南 searchGPT高级技巧定制化配置与OpenAI API集成指南【免费下载链接】searchGPTGrounded search engine (i.e. with source reference) based on LLM / ChatGPT / OpenAI API. It supports web search, file content search etc.项目地址: https://gitcode.com/gh_mirrors/se/searchGPTsearchGPT是一款基于LLM/ChatGPT/OpenAI API的支持网络搜索、文件内容搜索等功能的接地搜索引擎。本文将详细介绍searchGPT的定制化配置方法和OpenAI API集成技巧帮助你充分发挥其强大功能。一、快速了解searchGPT架构在进行配置和集成之前先让我们了解一下searchGPT的后端架构。searchGPT的后端主要由Sources、SemanticSearchService、LLMService和FootnoteService等模块组成它们协同工作为用户提供准确、可靠的搜索结果。searchGPT后端架构图展示了各模块之间的协作关系二、定制化配置步骤2.1 配置文件路径searchGPT的配置文件位于src/config/config.yaml通过修改该文件可以实现各种定制化设置。2.2 基础配置在配置文件的general部分可以设置语言参数它将决定必应搜索市场和LLM提示语言。例如general: language: en-US # 支持en-US / zh-CN / it-IT等多种语言2.3 源服务配置source_service部分用于配置搜索源包括是否启用接地搜索、必应搜索和文档搜索等。source_service: is_use_source: true # 是否启用接地搜索 is_enable_bing_search: true # 是否启用必应搜索 is_enable_doc_search: false # 是否启用文档搜索 doc_search_path: # 文档搜索路径 bing_search: end_point: https://api.bing.microsoft.com subscription_key: # 必应搜索订阅密钥 result_count: 3 # 搜索结果数量 sentence_count_per_site: 20 # 每个网站提取的句子数量 text_extract: trafilatura # 文本提取工具可选beautifulsoup或trafilatura2.4 缓存配置cache部分用于配置缓存设置以提高效率和一致性。cache: is_enable: web: true bing_search_website: false bing_search_website_content: false openai: false gooseai: false path: .cache # 缓存路径 max_number_of_cache: 50 # 最大缓存数量三、OpenAI API集成指南3.1 API密钥配置要集成OpenAI API首先需要在配置文件的llm_service部分设置API密钥。打开src/config/config.yaml找到以下内容llm_service: provider: openai # 选择OpenAI作为LLM服务提供商 openai_api: api_key: # 在此处填写你的OpenAI API密钥 model: gpt-3.5-turbo # 默认模型 max_tokens: 300 # 最大令牌数 temperature: 1 # 温度参数 top_p: 1 # top_p参数 prompt: prompt_token_limit: 1500 # 提示令牌限制 stream: true # 是否启用流式输出将你的OpenAI API密钥填写到api_key字段中。如果未设置API密钥系统将抛出Exception(OpenAI API key is not set.)异常。3.2 模型选择与参数调整在openai_api部分你可以选择不同的模型如gpt-3.5-turbo、gpt-4等gpt-4目前处于有限预览阶段。同时还可以调整max_tokens、temperature和top_p等参数以控制生成结果的长度和随机性。3.3 API调用代码解析searchGPT通过OpenAIService类来调用OpenAI API相关代码位于src/LLMService.py。以下是关键代码片段class OpenAIService(LLMService): def __init__(self, config, sender: Sender None): super().__init__(config) self.sender sender open_api_key config.get(llm_service).get(openai_api).get(api_key) if open_api_key is None: raise Exception(OpenAI API key is not set.) openai.api_key open_api_key storage_cached(openai, prompt) def call_api(self, prompt: str): if self.sender is not None: self.sender.send_message(msg_typeMSG_TYPE_SEARCH_STEP, msgCalling OpenAI API ...) openai_api_config self.config.get(llm_service).get(openai_api) model openai_api_config.get(model) is_stream openai_api_config.get(stream) logger.info(fOpenAIService.call_api. model: {model}, len(prompt): {len(prompt)})__init__方法负责初始化OpenAI API密钥call_api方法则用于实际调用API并根据配置参数控制调用过程。四、实际应用与界面展示完成配置和集成后你可以通过searchGPT的Web界面来使用其功能。在界面中你可以输入搜索问题并根据需要设置必应搜索订阅密钥和OpenAI API密钥。searchGPT Web界面展示了搜索问题输入和API密钥设置区域搜索结果会显示相关来源并提供可展开的解释性内容帮助你更好地理解搜索结果。搜索结果解释性内容展示了结果的详细来源和分析五、总结通过本文的介绍你已经了解了searchGPT的定制化配置方法和OpenAI API集成技巧。通过修改src/config/config.yaml文件你可以根据自己的需求定制searchGPT的各种功能通过正确配置OpenAI API密钥和参数你可以充分利用OpenAI的强大语言模型来提升搜索体验。希望这些高级技巧能帮助你更好地使用searchGPT享受更智能、更准确的搜索服务【免费下载链接】searchGPTGrounded search engine (i.e. with source reference) based on LLM / ChatGPT / OpenAI API. It supports web search, file content search etc.项目地址: https://gitcode.com/gh_mirrors/se/searchGPT创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考