ollama实践之:python代码生成与执行

代码生成模型

Code Llama 最小70亿参数
Vs CodeGemma(轻量级), 最小20亿参数
具体信息见: ollama支持模型详细信息.
这里我们用最小的一款进行测试:
在这里插入图片描述
在终端运行:(初次运行自动下载到本地)
ollama run codegemma:2b
输入提示词:’‘’ Complete the following Python function:
def calculate_factorial(n):# Call the function and print result
print(calculate_factorial(5))‘’‘

生成代码:
在这里插入图片描述
参考Code Llama,代码生成大模型的功能还包括:(本文以提示为例进行实验)
在这里插入图片描述

Python代码实现

上节测试了在命令行中运行代码生成模型,接下来使用python脚本自动生成代码并执行。
官方python样例: ollama-python.

任务要求:

生成一个n的阶乘函数,并调用它计算5的阶乘。(同前文命令行实现)

Demo:
import requests
import json
import subprocess

# Step 1: 定义 Ollama API 的 URL 和请求的 prompt
api_url = "http://localhost:11434/api/generate"
# prompt = "<|fim_prefix|>def calculate_factorial(n):<|fim_suffix|># Call the function and print result\nprint(calculate_factorial(5))<|fim_middle|>"

# Step 2: 配置请求数据
data = {
   
   
    "model": "codegemma:2b",
    "prompt": "Write a Python function to calculate the fa
### Ollama API 资源汇总 #### 官方文档 Ollama官方文档提供了详尽的信息,涵盖了几乎所有可以通过API完成的操作。这里不仅有清晰的功能描述还有详细的参数列表以及实用的示例代码[^1]。 #### 教程指南 对于希望深入了解并运用Ollama平台API接口的开发者而言,《Ollama教程——生成内容API》是一个极佳的学习材料。这份资料除了介绍基础概念外,还列举了一系列辅助资源,比如活跃的开发者社区、丰富的在线教程和课程,甚至推荐了一些像Postman这样的API测试工具,这些都能极大地促进学习效率和项目开发进度[^2]。 #### 实际案例分析 当涉及到具体的编程实践时,有一份关于使用Ollama API生成Python代码的具体实例可供参考。该例子展示了如何导入所需的Python库(`requests`, `json`, `subprocess`),并通过配置恰当的API请求来实现预期功能[^3]。 ```python import requests # 导入用于发送HTTP请求的库 import json # 处理JSON数据所需库 import subprocess # 执行命令行指令或脚本的支持 def call_ollama_api(api_url, payload): headers = {'Content-Type': 'application/json'} response = requests.post(api_url, data=json.dumps(payload), headers=headers) if response.status_code == 200: result = response.json() print("成功接收返回的数据:", result) return result else: raise Exception(f"API调用失败: {response.text}") if __name__ == "__main__": api_endpoint = "http://example.com/api" request_data = {"key": "value"} try: output = call_ollama_api(api_endpoint, request_data) process_output = subprocess.run(['echo', str(output)], capture_output=True, text=True) print(process_output.stdout) except Exception as e: print(e) ``` 此外,在构建基于检索增强生成(Retrieval-Augmented Generation, RAG)系统的场景下,也有现成的例子展示如何结合DeepSeek R1Ollama共同工作,这为那些有兴趣探索这一领域的人士提供了一个很好的起点[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值