用AI启动个人项目实战【连载03】

重新审视了一下使用示例,感觉太复杂了,于是让Copilot出一个函数,用户只需要指明要使用的模型名称和api_key,即可自动生成autogen可以使用的config_list。

提示词:

请写一个函数,输入是model_name字符串或者字符串数组,输出是类似OAI_CONFIG_LIST的数组。其中,每个输入的model_name都对应list中一个字典。每个字典中,model等于model_name,api_key是预先定义的key,base_url等于https://api.mrtoyy.com/v1/

Copilot给出的代码如下:

def generate_config_list(model_names, api_key='your_api_key'):
    # 如果输入是字符串,将其转换为只有一个元素的数组
    if isinstance(model_names, str):
        model_names = [model_names]

    base_url = 'https://api.mrtoyy.com/v1/'
    config_list = []

    # 为每个模型名称创建一个字典,并添加到数组中
    for model_name in model_names:
        config_list.append({
            'model': model_name,
            'api_key': api_key,
            'base_url': base_url
        })

    return config_list

粗看一下觉得可用,但是我告诉Copilot,再简洁一点,于是它给出了新的代码:

def generate_config_list(model_names, api_key='your_api_key'):
    # 如果输入是字符串,将其转换为只有一个元素的数组
    if isinstance(model_names, str):
        model_names = [model_names]

    base_url = 'https://api.mrtoyy.com/v1/'

    # 使用列表推导式创建配置列表
    return [{'model': model_name, 'api_key': api_key, 'base_url': base_url} for model_name in model_names]

测试一次通过,无需修改。

那么这里更新一下使用示例:

import autogen

def generate_config_list(model_names, api_key='your_api_key'):
    # 如果输入是字符串,将其转换为只有一个元素的数组
    if isinstance(model_names, str):
        model_names = [model_names]

    base_url = 'https://api.mrtoyy.com/v1/'

    # 使用列表推导式创建配置列表
    return [{'model': model_name, 'api_key': api_key, 'base_url': base_url} for model_name in model_names]

config_list = generate_config_list(
    model_names=["mistralai/mistral-7b-instruct:free"],
    api_key="YOUR_API_KEY" #目前可以随便填,我还没有完成用户系统部分
)

assistant = autogen.AssistantAgent(
    name="assistant",
    llm_config={
        "config_list": config_list,  
        "temperature": 0, 
    },
)

这样的话比一个一个设置模型的json配置简单多了。再更新一下,目前支持的模型名称如下,只需要把要用的模型名称列到model_names那里就可以正确运行了:

"01-ai/yi34b:free" # 零一万物34B
"mistralai/mistral-7b-instruct:free" # Mistral 7B Instruct
"undi95/toppy-m-7b:free" # Toppy M 7B
"openchat/openchat-7b:free": call_openchat7b, # OpenChat 3.5 7B

相关推荐

  1. AI启动个人项目实战连载03

    2024-03-21 06:16:02       45 阅读
  2. 医疗实施-项目管理03-项目启动

    2024-03-21 06:16:02       30 阅读
  3. 个人博客项目_09

    2024-03-21 06:16:02       33 阅读
  4. 个人博客项目笔记_02

    2024-03-21 06:16:02       38 阅读
  5. 个人博客项目笔记_04

    2024-03-21 06:16:02       30 阅读
  6. 个人博客项目笔记_08

    2024-03-21 06:16:02       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-21 06:16:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-21 06:16:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-21 06:16:02       87 阅读
  4. Python语言-面向对象

    2024-03-21 06:16:02       96 阅读

热门阅读

  1. 提升Python代码效率的神奇魔法

    2024-03-21 06:16:02       37 阅读
  2. SpringCloud面试题以及答案

    2024-03-21 06:16:02       34 阅读
  3. [pytorch][grid_sample]: 知识记录

    2024-03-21 06:16:02       42 阅读
  4. Spring 之声明式事务和 Spring Junit 案例应用详解

    2024-03-21 06:16:02       42 阅读
  5. 常见物联网模型优缺点简介

    2024-03-21 06:16:02       41 阅读
  6. HBase的Bulk Load流程

    2024-03-21 06:16:02       36 阅读