014 - AutoCoder 如何使用 Ollama

效果预警:AutoCoder 对大模型的要求偏高,请尽量使用模型参数较大的模型,并且观察是否能够满足 AutoCoder要求。

Ollama 是一个很优秀的模型部署工具。 Byzer-LLM 则不仅仅支持类似 Ollama 的模型部署能力,还可以用于

1. 开源或者私有模型训练、模型调参等

2. 分布式

3. 同时支持Saas模型

4. 支持诸如Prompt函数/类等将大模型和编程语言融合的一些更加高阶的设计

不过如果用户已经使用 Ollama 进行了模型,我们依然可以使用 byzer-llm 对接Ollama, 这样 AutoCoder就可以无缝使用 Ollama了。 因为 ollama 支持 OpenAI 协议的接口,所以我们可以使用如下方式进行部署:

byzerllm deploy  --pretrained_model_type saas/official_openai \
--cpus_per_worker 0.01 \
--gpus_per_worker 0 \
--num_workers 1 \
--infer_params saas.api_key=xxxxx saas.model=llama2  saas.base_url="http://localhost:11434/v1/" \
--model ollama_llama2_chat

这里的 ollama_llama2_chat 是一个模型的名字,可以自己定义,后续在 AutoCoder 中使用这个名字即可, 其他的则是一些资源方面的配置,因为 我们用的是已经部署好的Ollama,所以 gpus设置为0, cpus 则设置一个较小的数值即可,并且设置下并发数num_workers,这里因为我是测试,所以设置为1。

最后在 saas.base_url 配置下 Ollama 的地址。

部署完成后可以测试下:

byzerllm query --model ollama_llama2_chat --query 你好

输出如下:

Command Line Arguments:
--------------------------------------------------
command             : query
ray_address         : auto
model               : ollama_llama2_chat
query               : 你好
template            : auto
file                : None
--------------------------------------------------
2024-03-27 16:34:22,040 INFO worker.py:1540 -- Connecting to existing Ray cluster at address: 192.168.3.123:6379...
2024-03-27 16:34:22,043 INFO worker.py:1715 -- Connected to Ray cluster. View the dashboard at 192.168.3.123:8265

Hello! 😊  How are you today? Is there anything you'd like to chat about or ask? I'm here to help with any questions you may have.
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用autoCode =================== 项目介绍 ------------------- > **autoCode介绍** > - autoCode是一个代码生成工具。基于velocity模板引擎,采用SpringMVC + mybatis + FDUI + mysql > - 此工具只负责生成代码文件,不会生成完整功能的应用程序. > **其特点主要有** > - 用户登陆 - 每个用户有他自己独立的数据库连接配置和模板配置; > - 数据源配置 - 可以配置多个数据源,多种数据库类型(目前支持Mysql,MSServer数据库,可以扩展); > - 模板配置 - 定义自己的模板,采用velocity模板语法.这样可以根据模板来生成不同的代码,如POJO,Dao,mybatis配置文件等; > - 操作简单 - 生成代码只需三步:1. 选择数据源;2. 选择表;3. 选择模板。 > - 提供简单的客户端操作,能将代码直接生成到本地 > **部署程序步骤:** > 1. Maven构建eclipse工程,运行Maven命令:mvn eclipse:eclipse,完成后导入到eclipse中 > 2. 导入数据库(MYSQL),SQL文件在项目根目录下,名为autoCode.sql,运行里面的内容即可 > 3. 修改数据库连接参数,配置文件在src/main/resources/config.properties > 4. 启动项目,运行Maven命令:mvn jetty:run > 5. 浏览器输入http://localhost:8088/autoCode 登录用户名密码均为admin 端口默认用了8088,如需修改,前往pom.xml,找到maven-jetty-plugin插件的port参数. jetty安装配置 ------------------- 从 http://download.eclipse.org/jetty/ 中下载jetty 文件,命令 unzip 解压zip文件 在eclipse help->install new software 中通过地址http://run-jetty-run.googlecode.com/svn/trunk/updatesite/ 安装jetty插件 安装好插件后,可以通过 点击项目 -》右键-> run configuration-->jetty webapp 项
稀疏自编码器是一种能够学习有效表示数据的无监督学习算法。它可以用于数据降维、特征提取等任务。在 TensorFlow 中,可以使用 tf.contrib.layers.sparse_autocoder() 函数来实现稀疏自编码器。 下面是一个简单的例子,演示如何使用稀疏自编码器对 MNIST 数据集进行降维。 ``` import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data # 加载 MNIST 数据集 mnist = input_data.read_data_sets('MNIST_data', one_hot=True) # 定义稀疏自编码器的参数 n_input = 784 n_hidden = 100 sparsity_target = 0.1 sparsity_weight = 0.2 # 定义输入和输出占位符 x = tf.placeholder(tf.float32, [None, n_input]) y = tf.placeholder(tf.float32, [None, n_input]) # 定义编码器和解码器的权重和偏置 weights = { 'encoder': tf.Variable(tf.random_normal([n_input, n_hidden])), 'decoder': tf.Variable(tf.random_normal([n_hidden, n_input])) } biases = { 'encoder': tf.Variable(tf.random_normal([n_hidden])), 'decoder': tf.Variable(tf.random_normal([n_input])) } # 定义编码器和解码器 def encoder(x): # 计算编码器的输出 hidden = tf.nn.sigmoid(tf.add(tf.matmul(x, weights['encoder']), biases['encoder'])) # 计算隐藏层的平均激活值 avg_activation = tf.reduce_mean(hidden, axis=0) # 计算稀疏惩罚项 sparsity_penalty = tf.reduce_sum(sparsity_weight * tf.log(sparsity_weight / avg_activation) + (1 - sparsity_weight) * tf.log((1 - sparsity_weight) / (1 - avg_activation))) return hidden, sparsity_penalty def decoder(x): # 计算解码器的输出 output = tf.nn.sigmoid(tf.add(tf.matmul(x, weights['decoder']), biases['decoder'])) return output # 构建模型 encoder_output, sparsity_penalty = encoder(x) decoder_output = decoder(encoder_output) # 定义损失函数 reconstruction_loss = tf.reduce_mean(tf.square(y - decoder_output)) # 重构误差 loss = reconstruction_loss + sparsity_penalty # 总误差 # 定义优化器 optimizer = tf.train.AdamOptimizer(learning_rate=0.001) train_op = optimizer.minimize(loss) # 训练模型 batch_size = 128 num_steps = 10000 with tf.Session() as sess: sess.run(tf.global_variables_initializer()) for i in range(num_steps): batch_x, _ = mnist.train.next_batch(batch_size) feed_dict = {x: batch_x, y: batch_x} _, l, rl, sp = sess.run([train_op, loss, reconstruction_loss, sparsity_penalty], feed_dict=feed_dict) if i % 1000 == 0: print('Step %d: loss=%.3f, reconstruction_loss=%.3f, sparsity_penalty=%.3f' % (i, l, rl, sp)) # 使用训练好的模型对数据进行降维 encoded_data = sess.run(encoder_output, feed_dict={x: mnist.test.images}) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值